一种生成随机数的方法和装置制造方法及图纸

技术编号:22847575 阅读:16 留言:0更新日期:2019-12-17 23:00
本发明专利技术公开了一种生成随机数的方法和装置,涉及计算机技术技术领域。该方法的一个具体实施方式包括:获取实测数据;确定所述实测数据的概率分布;在所述实测数据的分布区间内生成均匀分布的原始随机数;根据所述概率密度函数计算所述原始随机数的概率密度值;将所述概率密度值中的最小值作为基准值,根据所述基准值和所述原始随机数的概率密度值计算所述原始随机数的概率密度比;在所述原始随机数的临域内生成均匀分布的随机数,其中所述随机数的数量是基于该原始随机数的概率密度比向上或向下取整后而得到的值。该实施方式能够生成更加符合实测数据真实的概率分布的随机数,仿真度高。

A method and device of generating random number

【技术实现步骤摘要】
一种生成随机数的方法和装置
本专利技术涉及计算机
,尤其涉及一种生成随机数的方法、装置、电子设备和计算机可读介质。
技术介绍
随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。现实情况中的随机数有些并不是纯粹的随机数,而是具有一定分布规律的“伪随机数”,如观测到的实际数据(即实测数据)并不一定是完全随机的,而是根据真实情况符合一定的分布规律,即有些实测数据产生的几率大,有些实测数据产生的几率小。所以需要能够更好地根据现实情况产生随机数,这也是现在仿真试验中的一个重要环节,即根据业务的实际表现生成相应的随机数作为业务变量来实现对算法、规划的仿真验证,随机数的生成结果将直接影响算法、规划的仿真结果,进而影响对现有算法、规划的评价、分析、验证、改进等。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:现有技术通过参数估计方法生成随机数,即根据已知的概率密度函数(如正态分布、指数分布等),选取最接近实测数据的分布函数作为其概率密度函数,使用求逆法、舍选法和组合法等生成随机数,但是现实情况的实测数据的概率密度往往是非常复杂的未知分布,并不能用已知的概率密度函数来表示,所以通过现有技术生成的随机数并不能如实地反映实测数据,仿真度较低。
技术实现思路
有鉴于此,本专利技术实施例提供一种生成随机数的方法和装置,能够生成更加符合实测数据真实的概率分布的随机数,从而有助于减少实验误差,提高仿真度。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种生成随机数的方法,包括:获取实测数据;确定所述实测数据的概率密度函数;在所述实测数据的分布区间内生成均匀分布的原始随机数;根据所述概率密度函数计算所述原始随机数的概率密度值;将所述概率密度值中的最小值作为基准值,根据所述基准值和所述原始随机数的概率密度值计算所述原始随机数的概率密度比;在所述原始随机数的临域内生成均匀分布的随机数,其中所述随机数的数量是基于该原始随机数的概率密度比向上或向下取整后而得到的值。可选地,使用非参数估计方法确定所述实测数据的概率密度函数。可选地,所述非参数估计方法为基于核函数确定所述实测数据的概率密度函数。可选地,所述概率密度比为所述概率密度值与所述基准值的商。可选地,所述原始随机数的临域的取值范围为从该原始随机数与相邻的原始随机数的差值的一半的差,至该原始随机数与相邻的原始随机数的差值的一半的和。可选地,在所述原始随机数的临域内生成均匀分布的随机数的步骤之后,所述方法还包括:将所述随机数的数量记为L,L为正整数;将所述随机数从小至大排序,记为z1,z2,…zL;在区间[1,L]上随机生成均匀分布的所述预设数量的整数,将以所述整数为下标的随机数作为优选随机数。为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种选取随机数的装置,包括:数据模块,用于获取实测数据;分布模块,用于确定所述实测数据的概率密度函数;原数模块,用于在所述实测数据的分布区间内生成均匀分布的原始随机数;概率模块,用于根据所述概率密度函数计算所述原始随机数的概率密度值;比值模块,用于将所述概率密度值中的最小值作为基准值,根据所述基准值和所述原始随机数的概率密度值计算所述原始随机数的概率密度比;生成模块,用于在所述原始随机数的临域内生成均匀分布的随机数,其中所述随机数的数量是基于该原始随机数的概率密度比向上或向下取整后而得到的值。可选地,所述分布模块还用于使用非参数估计方法确定所述实测数据的概率密度函数。可选地,所述非参数估计方法为基于核函数确定所述实测数据的概率密度函数。可选地,所述概率密度比为所述概率密度值与所述基准值的商。可选地,所述原始随机数的临域的取值范围为从该原始随机数与相邻的原始随机数的差值的一半的差,至该原始随机数与相邻的原始随机数的差值的一半的和。可选地,所述生成模块还用于,将所述随机数的数量记为L,L为正整数;将所述随机数从小至大排序,记为z1,z2,…zL;在区间[1,L]上随机生成均匀分布的所述预设数量的整数,将以所述整数为下标的随机数作为优选随机数。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现一种生成随机数的方法中任一所述的方法。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被一个或多个处理器执行时实现一种生成随机数的方法中任一所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用根据实测数据的任意概率密度分布生成随机数的技术手段,所以克服了传统技术产生的随机数仿真度低的技术问题,进而达到提高仿真度的技术效果。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种生成随机数的方法的主要步骤的示意图;图2-1为根据表1绘制的AGV小车左转实际时长统计直方图;图2-2为根据本专利技术实施例计算得到的小车左转实际时长概率密度函数图。图3是根据本专利技术实施例的一种生成随机数的装置的主要部分的示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的一种生成随机数的方法的主要步骤的示意图,如图1所示:步骤S101表示获取实测数据;此步骤的目的是以实测数据为基础来生成随机数,这样生成的随机数的仿真度更高。实测数据即观测到的实际数据,例如,在无人仓库的仿真验证试验中,具体涉及的实际业务数据包括拣选效率、AGV(AutomatedGuidedVehicle,自动引导运输车)小车性能参数(速度、转弯时长、顶升时长等)等。如表1所示,使用AGV小车的左转实际时长作为实测数据,其中,表1为样本量为33170的实测数据的统计表格,包括AGV小车左转最小时长4s,最大时长10s,平均时长5.89s等。步骤S102表示确定所述实测数据的概率密度函数。计算概率密度函数的方法分为参数估计方法和非参数估计方法,二者都能够根据实测数据获得其概率密度函数。概率密度函数是用数学公式本文档来自技高网...

【技术保护点】
1.一种生成随机数的方法,其特征在于,包括:/n获取实测数据;/n确定所述实测数据的概率密度函数;/n在所述实测数据的分布区间内生成均匀分布的原始随机数;/n根据所述概率密度函数计算所述原始随机数的概率密度值;/n将所述概率密度值中的最小值作为基准值,根据所述基准值和所述原始随机数的概率密度值计算所述原始随机数的概率密度比;/n在所述原始随机数的临域内生成均匀分布的随机数,其中所述随机数的数量是基于该原始随机数的概率密度比向上或向下取整后而得到的值。/n

【技术特征摘要】
1.一种生成随机数的方法,其特征在于,包括:
获取实测数据;
确定所述实测数据的概率密度函数;
在所述实测数据的分布区间内生成均匀分布的原始随机数;
根据所述概率密度函数计算所述原始随机数的概率密度值;
将所述概率密度值中的最小值作为基准值,根据所述基准值和所述原始随机数的概率密度值计算所述原始随机数的概率密度比;
在所述原始随机数的临域内生成均匀分布的随机数,其中所述随机数的数量是基于该原始随机数的概率密度比向上或向下取整后而得到的值。


2.根据权利要求1所述的方法,其特征在于,使用非参数估计方法确定所述实测数据的概率密度函数。


3.根据权利要求2所述的方法,其特征在于,所述非参数估计方法为基于核函数确定所述实测数据的概率密度函数。


4.根据权利要求1所述的方法,其特征在于,所述概率密度比为所述概率密度值与所述基准值的商。


5.根据权利要1所述的方法,其特征在于,所述原始随机数的临域的取值范围为从该原始随机数与相邻的原始随机数的差值的一半的差,至该原始随机数与相邻的原始随机数的差值的一半的和。


6.根据权利要1所述的方法,其特征在于,在所述原始随机数的临域内生成均匀分布的随机数的步骤之后,所述方法还包括:
将所述随机数的数量记为L,L为正整数;
将所述随机数从小至大排序,记为z1,z2,…zL;
在区间[1,L]上随机生成均匀分布的所述预设数量的整数,将以所述整数为下标的随机数作为优选随机数。


7.一种选取随机数的装置,其特征在于,包括:
数据模块,用于获取实测数据;
分布模块,用于确定所述实测数据的概率密度函数;
原数模块,用于在所述实测数据的分布区间内生成均匀分布的原始随机数;

【专利技术属性】
技术研发人员:范超
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1