一种随机数序列产生方法技术

技术编号:22754790 阅读:36 留言:0更新日期:2019-12-07 03:50
本发明专利技术公开了一种随机数序列产生方法,将一维样本空间扩增至多维样本空间,使扩增后的样本空间顺序排列;对扩增后顺序排列的样本空间进行乱序操作,打乱样本空间;从打乱的样本空间中顺序采集样本元素,同时持续乱序操作,直至所采集的样本元素总长度大于等于目标序列总长度;删除长度超出目标序列总长度的序列部分,剩余的长度与目标序列总长度相等的样本序列即为目标随机数序列。本发明专利技术对一维样本空间进行扩增,样本空间在1维‑T维超平面内是均匀分布的,能够避免出现用线性同余法存在的在高维空间的稀疏网格结构的缺陷;扩充后样本空间的大小远大于需要采样的总数,可以最大程度的消除使用线性同余法出现的长周期相关的影响。

A method of generating random number sequence

The invention discloses a random number sequence generation method, which expands one-dimensional sample space to multi-dimensional sample space, so that the expanded sample space is arranged in order; the sample space arranged in order after amplification is disordered, so as to disorder the sample space; the sample elements are collected in order from the disordered sample space, and the disordered operation is continued until the total length of the collected sample elements If the length is greater than or equal to the total length of the target sequence, delete the part of the sequence whose length exceeds the total length of the target sequence, and the sample sequence whose remaining length is equal to the total length of the target sequence is the target random number sequence. The invention expands one-dimensional sample space, the sample space is evenly distributed in the 1-d-t-d hyperplane, which can avoid the defect of sparse grid structure in the high-dimensional space existing in the linear congruence method; the expanded sample space size is far larger than the total number of samples to be sampled, which can eliminate the influence of long-period correlation in the linear congruence method to the greatest extent.

【技术实现步骤摘要】
一种随机数序列产生方法
本专利技术涉及一种随机数序列产生方法,属于数据处理

技术介绍
通常,能够产生均匀分布的随机数序列的经典发生器主要有,线性同余发生器(LCG),反馈位移寄存器发生器(LFSR,梅森旋转算法)。这些方法普遍存在的缺陷是长周期相关和高维的不均匀性。线性同余法存在受模数M限制的长周期相关。在高维度下,线性同余法会形成稀疏网格结构,反馈位移寄存器法会形成蝶形稀疏网格结构。为了克服上述方法的缺陷,近年来出现许多随机数序列生成的新方法。例如,非线性同余法,特别是其中的逆同余法;进位加/借位减/进位乘(AWC/SWB/MWC)发生器;以及乘子和增量也在递推中变化的复合素数发生器和各种组合发生器。然而,除了逆同余法之外,并未从根本上改善会产生高维稀疏网格结构的缺陷;而逆同余法,并未改变长周期相关的缺陷。
技术实现思路
本专利技术的目的在于克服现有技术中的不足,提供一种随机数序列产生方法,能够解决现有技术中各随机序列产生方法存在长周期相关和高维不均匀性的技术问题。为解决上述技术问题,本专利技术是采用下述技术方案实现的:一种随机数序列产生方法,所述方法包括如下步骤:将一维样本空间扩增至多维样本空间,使扩增后的样本空间顺序排列;对扩增后顺序排列的样本空间进行乱序操作,打乱样本空间;从打乱的样本空间中顺序采集样本元素,同时持续乱序操作,直至所采集的样本元素总长度大于等于目标序列总长度;删除长度超出目标序列总长度的序列部分,剩余的长度与目标序列总长度相等的样本序列即为目标随机数序列。进一步的,采用多元排列的方式对一维样本空间进行扩增。进一步的,所述乱序操作的方法包括如下步骤:将上一轮乱序操作的终止序列作为本轮乱序操作的初始序列,对于第一轮乱序操作,将扩增后顺序排列的样本序列作为初始序列;采用线性同余发生器利用随机漫步方式遍历初始序列,随机产生新的样本序列作为终止序列;按照上述步骤依次迭代,直至达到预设迭代次数,则完成乱序操作。进一步的,每一轮乱序操作所采用的线性同余发生器的乘子与增量各不相同。进一步的,对于每一轮乱序操作,均采用单向链表的数据结构存储初始序列和终止序列。进一步的,每一轮随机漫步操作通过一个代理实现,该代理从对应初始序列的任一位置开始随机漫步操作。进一步的,利用随机漫步方式遍历初始序列的方法包括如下步骤:对于每一轮随机漫步操作,每产生一个随机数Rj,相应代理顺着单向链表向前Rj步,到达新的位置POSj;将新的位置POSj对应的样本元素从单向链表中删除,并移至终止序列的单向链表中;代理从POSj+1的位置开始下一步次随机漫步操作,直至当前初始序列的单向链表被清空,并填满终止序列的单向链表,完成一轮随机漫步操作。进一步的,顺序采集样本元素的方法包括:对于上一轮打乱的样本序列的单向链表,每次将单向链表中的第一个样本元素移除,加入至采样列表。进一步的,所述持续乱序操作的方法包括如下步骤:将单向链表中的第二个样本元素到第k个样本元素与剩余样本空间中的某一样本元素随机对调,其中,k大于3。进一步的,所述方法还包括,当要求目标随机数序列均匀分布于U(0,1)时,对目标随机数序列进行归一化处理。与现有技术相比,本专利技术所达到的有益效果:对一维样本空间进行扩增,样本空间在1维-T维超平面内是均匀分布的,能够避免出现用线性同余法存在的在高维空间的稀疏网格结构的缺陷;扩充后样本空间的大小远大于需要采样的总数,可以最大程度的消除使用线性同余法出现的长周期相关的影响;采样多轮随机漫步打乱样本空间,以及采样时持续乱序样本空间的操作,使得随机数序列的随机性增强。附图说明图1是根据本专利技术实施例提供的一种随机数序列产生方法的流程图。具体实施方式本专利技术实施例提供的随机数序列的产生方法,主要在样本空间上做扩充,将一维的样本空间,通过多元排列的方式,扩增到多元(多维)的样本空间,扩增后的样本空间在1维-T维超平面内是均匀分布的;通过多轮的线性同余法来打乱样本空间内的样本顺序;在顺序采样的同时,持续进行乱序操作,能够增加样本序列的随机性。下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。如图1所示,是根据本专利技术实施例提供的一种随机数序列产生方法,主要包括如下步骤:步骤一:扩充样本空间:假设一维样本空间是(0,1,2,3,……,M),将1元到T元子序列全部纳入样本空间,计算扩增后的样本空间大小K:将前后相继的T个0~M的原始样本序列看作T元子序列,2<T<M;扩充后的样本空间中包含有1元子序列,2元子序列,……,T元子序列。采用1元到T元子序列扩充的方式,保证样本空间在多元(多维)的基础上是均匀分布的,能够避免出现用线性同余法存在的在高维空间的稀疏网格结构的缺陷。按照1元顺序,2元顺序,……,T元顺序的大小顺序排序扩增后样本空间中包含的1元子序列,2元子序列,……,T元子序列,称为“扩充后的初始样本序列”。所有子序列加在一起的序列长度为L(其中t元子序列的长度为t,t=1,2,……,T),L值同样是由M和T的值来决定的,可以写成L(M,T)假设,需要产生的随机数目标序列总长度为N,则由以下关系来选择元数T的大小,则满足L(M,T)≥2×N。本专利技术实施例采用子序列代替原来0-M样本空间的样本元素,样本元素从单个的数改变为多元排列的数列(即子序列),大大扩增了样本空间的范围大小,可以最大程度的消除使用线性同余法出现的长周期相关的影响。步骤二:打乱样本空间:扩充后的样本空间是顺序排列的,根据子序列的组合数字大小排序。将扩充后的样本空间经过a轮乱序操作。每一轮乱序操作,是将上一轮产生的样本序列SEQi(i=0,1,2,……,a-2)作为这一轮乱序操作的初始序列,采用线性同余发生器(LCG)利用随机漫步(RandomWalk)方式,遍历上一轮样本序列,随机产生新的样本序列SEQi+1(i=1,2,……,a-1),称为终止序列。第i+1轮产生的样本序列SEQi+1,其样本空间大小不变,依然为K,只是顺序发生变化。第i+2轮乱序操作,则将SEQi+1作为第i+2轮操作的初始序列,产生新的终止序列SEQi+2,依次经过a轮迭代,最后产生SEQa样本序列供下一步采样操作使用。需要注意的是,每一轮乱序操作所采用的线性同余发生器(LCG)的乘子与增量各不相同。每一轮的乱序操作中,无论是初始序列还是终止序列,样本序列均是采用单向链表的形式储存,方便随机漫步(RandomWalk)操作。每一轮的随机漫步操作通过一个代理(Agent)来实现,该代理(Agent)从初始序列的任一位置POS0开始随机漫步。每次产生一个随机数Rj,则代理顺着单向链表本文档来自技高网...

【技术保护点】
1.一种随机数序列产生方法,其特征在于,所述方法包括如下步骤:/n将一维样本空间扩增至多维样本空间,使扩增后的样本空间顺序排列;/n对扩增后顺序排列的样本空间进行乱序操作,打乱样本空间;/n从打乱的样本空间中顺序采集样本元素,同时持续乱序操作,直至所采集的样本元素总长度大于等于目标序列总长度;/n删除长度超出目标序列总长度的序列部分,剩余的长度与目标序列总长度相等的样本序列即为目标随机数序列。/n

【技术特征摘要】
1.一种随机数序列产生方法,其特征在于,所述方法包括如下步骤:
将一维样本空间扩增至多维样本空间,使扩增后的样本空间顺序排列;
对扩增后顺序排列的样本空间进行乱序操作,打乱样本空间;
从打乱的样本空间中顺序采集样本元素,同时持续乱序操作,直至所采集的样本元素总长度大于等于目标序列总长度;
删除长度超出目标序列总长度的序列部分,剩余的长度与目标序列总长度相等的样本序列即为目标随机数序列。


2.根据权利要求1所述的随机数序列产生方法,其特征在于,采用多元排列的方式对一维样本空间进行扩增。


3.根据权利要求1所述的随机数序列产生方法,其特征在于,所述乱序操作的方法包括如下步骤:
将上一轮乱序操作的终止序列作为本轮乱序操作的初始序列,对于第一轮乱序操作,将扩增后顺序排列的样本序列作为初始序列;
采用线性同余发生器利用随机漫步方式遍历初始序列,随机产生新的样本序列作为终止序列;
按照上述步骤依次迭代,直至达到预设迭代次数,则完成乱序操作。


4.根据权利要求3所述的随机数序列产生方法,其特征在于,每一轮乱序操作所采用的线性同余发生器的乘子与增量各不相同。


5.根据权利要求3所述的随机数序列产生方法,其特征在于,对于每一轮乱序操作,均采用单向链表的数据结构存储初始序列和终止序列。
<...

【专利技术属性】
技术研发人员:张迎肖碧涛刘元张铁男王辉王永赖晓路易金宝任立飞邵会学朱健罗瑛王桂松
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:江苏;32

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

1