资源描述:
《一种随机数组合发生器的研究.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一种随机数组合发生器的研究【摘要】将基于混沌的随机数产生算法和线性同余发生器进行组合,产生随机数列.经过检验,随机数列的统计性质有了很大提高。【关键词】混沌;线性同余发生器;随机数1引言随机数在信息加密、数值运算及医学中基因序列分析等研究中有着广泛的应用。比如数值运算中,MonteCarlo方法占有重要的地位,随机数是该方法的基础.随机数的质量影响了信息的安全和计算结果的精度。特别是一些安全级别比较高的应用,对随机数提出了很高的要求。随机数可由硬件和软件两种方式产生。在计算机中广泛使用的是软件方式,通过计算机利用数学模拟随机过程产生随机数。此方法有着自身的不足,数据之间有着关联性,存
2、在周期,并非真正的随机数,因此被成为伪随机数。常见的产生随机数的方法有[1]:线性同余法(LCG,LinearCongruentGenerators)、Tarsworthe位移计数器法、Fibonacci延迟产生器法等。为了克服以上方法的缺陷,人们还发展了许多新的方法。组合发生器就是著名的一种。它是将两个随机数发生器进行组合,以一种发生器产生一个随机数列,再用另一个随机数发生器对随机数列进行重修排列,得到一个更为独立,周期更长的随机数列。已有一些利用混沌序列转换伪随机数列的报道[2],文献[3]虽然提出了一种由logistic映射构造具有均匀性数列的好方法,但数据之间的独立性较差。本
3、研究中提出了一种新的方法,利用混沌算法[4]和线性同余发生器相组合得到随机数列,并就数据的均匀性和独立性进行了检验。2理论基础2.1混沌算法混沌是一种确定性系统中出现的类似随机的过程。它首先是由洛伦兹在流体热对流的简化模型计算中观察到的。混沌现象可以用它某些非线性函数的迭代(映射)来表示类似随机的输出。一维迭代Logistic方程是一个很简单的非线性抛物线函数,可以表示为:xi+1=λxi(1-xi),(0≤xi≤1,0≤λ≤4)(1)xi是i次迭代的值。研究表明当λ>3.57时,进入混沌状态。特征是表现为初值敏感性,既使初值相差非常小,经过几十次迭代,得到的值也会相差非常大,
4、并且毫无关联。当λ=4时,序列xi的概率分布服从P(xi)=1πxi(1-xi)(2)4所以xi序列分布并不均匀,通过代换ri=2arcsinxiπ(3)就可以得到均匀的ri数列。2.2线性同余发生器线性同余发生器是现在使用最多的随机数发生器之一,该方法利用同余运算产生随机数。Ii+1=(aIi+b)modmxi=Iim(4)其中m为模数,a为乘子,b为增量,并且a,b,m,I1均为非负整数。如何选择他们就决定了产生器的质量。在计算中取a=16807,b=0,m=231-1,I1=12546863。显然,由公式(4)得到的Ii满足:0≤Ii≤m,所以0≤xi≤1。线性同余法的优点就是
5、速度快,每次调用只需几个操作步骤即可,因此最为常用.缺点就是数据序列的有着关联性,表现为高维稀疏网格结构[5]。特别是当a和m的值较小时,这种现象更为明显。2.3组合发生器20世纪70年代就有人提出用用组合发生器来产生高质量的伪随机数。有文献[6]对此进行了理论分析并指出:几个独立且近似的随机变量的线性组合也是一个近似均匀的随机变量,其分布比组成它的任何一个变量更接近U(0,1)。该算法是分别用两个发生器各自产生一组随机数列,然后再把它们进行相互组合,以期得到一个统计结果更好的随机数列。具体步骤如下:①N个不同的随机数发生器各自产生一组随机数列{Xi(j)(i=1,2,…,L,j=1
6、,2,…,N)。②令c1,c2,…,cN为N个非负整数。Ui=∑Nj=1c(j)Xi(j)ri=Uimod1i=1,2,…(5)按上述算法把混沌算法和线性同余产生的随机数组合在一起。在计算中,取c1=2,c2=5。每个发生器都有其各自的周期Period(Xi),如果它们互素,则组合后的周期是各自周期的最小公倍数(LCM)。Period(Xi)=LCM(Period(Xi(1)),Period(Xi(2),…4)。因此组合发生器产生数据的周期会大大增加,实际应用中可视为无穷大。3随机数的统计检验随机数的好坏是通过各种统计检验来确定的,这些检验包括均匀性检验、独立性检验、参数检验等。其中
7、最基本的是均匀性检验和独立性检验。在随机数的检验中独立性检验是首要的,如果不存在独立性就无所谓随机。也希望得到的随机数在区间[0,1]上出现的概率是相同的,所以均匀性检验也起着决定作用。3.1均匀性检验假设区间[0,1]上的随机数列{Xi}(i=1,2,…,n)。如果随机数分布均匀,则把区间分成k个相等的子区间后,落在每个子区间的随机数个数ni近似等于n/k。统计量χ2按定义为:χ2=∑ki=1(ni-n/k)2n/k(6)χ2应服从χ2(k-1)分布,在