混合同余法产生均匀分布随机数产生方法总结

混合同余法产生均匀分布随机数产生方法总结

ID:9045060

大小:121.79 KB

页数:4页

时间:2018-04-15

混合同余法产生均匀分布随机数产生方法总结_第1页
混合同余法产生均匀分布随机数产生方法总结_第2页
混合同余法产生均匀分布随机数产生方法总结_第3页
混合同余法产生均匀分布随机数产生方法总结_第4页
资源描述:

《混合同余法产生均匀分布随机数产生方法总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、混合同余法产生均匀分布随机数产生方法总结主要学习混合同余法产生各种分布的随机数的方法,见参考文献[1,2],重点参考[2]。其中要注意混合同余法产生随机数的参数的选取。1混合同余法产生均匀分布的随机数1.1混合同余法通过同余运算生成伪随机数的方法称为同余法,常用的同余法包括加同余法、乘同余法、混合同余法、除同余法。其中乘同余法和混合同余法的性能更好,有速度快、内存省、周期长、统计特性好等优点。混合同余法是Lehmer在1951年提出的,其迭代公式为[2]:(1.1)(1.2)公式、中,mod表示求余函数,均为正整数。其中是模数,是乘数,是增量,为初始值,当时,称此算法为乘同余法

2、;若,则称算法为混合同余法,当取不为零的适当数值时,有一些优点,但优点并不突出,故常取。是在内服从均匀分布的随机变量,则是在内服从均匀分布的随机变量。式中的取值并不是随意的,模大小是发生器周期长短的主要标志,常见有为素数,取为的原根,则周期。试验统计表明,用以下参数进行混合同余法产生的随机序列的统计特性较好:(1.3)(1.4)(1.5)(1.6)(1.7)(1.8)(1.9)(1.10)(1.11)(1.12)(1.13)在式~中,16807、32719、1220703125都是的原根。混合同余法产生的随机序列具有以下特点:Ø重复周期较小,由于取值在内,其周期,受的值得影响,

3、在编程实现时,浮点运算也会对产生影响Ø用此方法产生的随机序列,在一个周期内任意两个随机数不可能相等,这往往与实际情况不相符经Hull和Dobell证明,只有满足以下一些关系才能实现周期最大化,即,条件如下:Ø与互质(或互素,即它们的最大公约数为1)Ø设为某一质数,分别能被和4整除,且能被和4整除产生具有最大周期的伪随机序列的混合同余法算法为:(1.14)(1.15)由于时,只有一个素数因子2,且4也是的因子,此时,正好满足了的第二个条件;而此时刚好与互质,即满足的第一个条件。1.1改进的混合同余法改进的混合同余法的迭代公式如下[2]:(1.16)(1.17)改进的混合同余法具有

4、以下特点:Ø比混合同余法产生的周期长,Ø允许某个伪随机数重复发生,且重复发生的次数为Ø伪随机序列的周期一般与初始值的选取无关,只有极个别的情况除外1.3原根相关知识1.3.1欧拉函数在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler'stotientfunction、φ函数、欧拉商数等。例如φ(8)=4,因为1,3,5,7均和8互质。1.3.2原根定义1设m>1,(a,m)=1,则使(1.18)成立的最小的正整数r,称为a对模m的指数,记为dm(a),在不致误会的情况下,简记为d(a)。由Euler定理,当r=j

5、(m)时式(1)成立,因此,恒有dm(a)£j(m)。若aºb(modm),(a,m)=1,则显然有dm(a)=dm(b)。定义2若dm(a)=j(m),则称a是模m的原根。例如,当m=7时,因为21º2,22º4,23º1(mod7),所以d7(2)=3。又因为31º3,32º2,33º6,34º4,35º5,36º1(mod7),所以d7(3)=6=j(7),3是模7的原根。以后,在谈到a对模m的指数时,总假定m>1,(a,m)=1。参考文献[1]吴飞.产生随机数的几种方法及其应用[J].数值计算与计算机应用,2006,(01):48-51.[2]郭凤鸣.一种生成大周期伪随

6、机数的新算法——改进的混合同余法[J].地球科学,1992,(06):733-738.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。