- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无周期伪随机数.doc
无周期伪随机数生成方法—素数的应用
郭 凤 鸣
(中国地质大学.武汉,430074)
摘要 混合同余法生成的伪随机数序列最大周期为M,改进的混合同余法生成的伪随机数序列最大周期扩大到(M-1)M。 无周期伪随机数生成方法解决了伪随机数生成的周期问题。
关键词 随机数,混合同余法,改进的混合同余法,素数
分类号: O29
A Generating method of cycle-free pseudorandom numbers-application of prime number
Guo Fengming
(China University of Geosciences,Wuhan 430074)
Abstract The maximum cycle of pseudorandom number sequence generated by mixed congruence method is M,The maximum cycle of pseudorandom number sequence generated by improved mixed congruence method is (M-1)M,the generating method of cycle-free pseudorandom numbers resolves the cycle problem of pseudo random number generator。
Key words random numbers, Mixed congruence method, Improved mixed congruence method, Prime numbers.
一 引言
Lehmer于1951年提出的混合同余法,具有速度快、内存省、周期长、统计特性好等优点。在各个领域得到广泛应用,几乎所有的计算机语言生成随机数的库函数都选用这一方法。
过去的几十里,对于混合同余法计算公式
x i+1= (axi+b) modM (1)
ri+1=xi+1/M (2)
人们进行了很多研究,旨在寻找较好的参数x0、a、b和M,以生成较长周期的均匀伪随机数序列。到目前为止,由Hull和Dobell给出的证明是最好的。当且仅当x0、a、b和M满足下列条件时,可以得到周期为模数M的伪随机数序列。
b和M互质;
设q为某一质数,取M分别能被q和4整除。
总之,对于给定的M,无论如何改变x0、a、b的值,生成的伪随机数序列最大周期不会超过模数M。在实际应用中,为了得到数量较多的伪随机数不得不选用较大的M。例如在字长为32位的计算机系统中取M为-1。
我们有个想法:以前的研究,在生成伪随机数序列时,x0、a、b和M都是基于固定不变的常数。假若把x0、a、b和M看作参变量,在伪随机数生成过程中,让它们可以变化,能否生成较好的伪随机数序列呢?按照这一想法,对x0、a、b和M的不同取值进行了大量计算、比较和统计分析,1992年我们提出了改进的混合同余法。其基本思想是:对于(1)式取M为素数,b为变量,b=i=1,2,3,…,经过适当选择a,使得生成伪随机数序列的周期可以达到(M-1)M。下面给出一个实例,取M=7,a=3,x0=5,b=1,2,3,…,50,计算50个伪随机数如表一。
表一 50个伪随机数表
5 2 1 6 1 1 2 6 5 3
5 5 6 3 2 0 2 2 3 0
6 4 6 6 0 4 3 1 3 3
4 1 0 5 0 0 1 5 4 2
4 4 5 2 1 6 1 1 2 6
从表一中可以看出,其中前42个数无周期性,第43个数之后,开始周期重复。用这一方法得到的伪随机数,经检验满足均匀性和独立性要求。
新的计算数据,引进素数作为增量b,又有了新的进展,使得生成无周期伪随机数成为可能,介绍于此。
二 无周期伪随机数生成方法1—用素数作为增量
将(1)式中b的取值变为b= x1,x2,x3 …… =2,3,5,7,11,13 ……,其中xi为素数。这时生成的伪随机数序列周期会更长。表二是取M=7,a=3,x0=3,b=3,5,7,11,13,17,19,……时,计算得到的350个伪随机数。
表中伪随机数的数量350已经大于M,没有看到重复周期。我们计算到3000MM个数据,也没有看到重复周期,以此推测周期达到无限大。进一步计算证明这种推测是正确的。
表二 350个伪随机数表(M=7,a=3)
3 5 6 4 2 5 4 3 4 5 0 2 5 2 4 2 3 0 4 6
0
您可能关注的文档
最近下载
- 项目七+用计算机计算圆周率说课及试讲课件-2024-2025学年沪科版(2019)高中信息技术必修一.pptx VIP
- 小米集团2025年组织架构及各部门职责解析.docx VIP
- 输液导管相关静脉血栓形成防治中国专家共识解读PPT课件.pptx VIP
- 2025年广西公需课人工智能时代的机遇与挑战——预训练大模型与生成式AI参考答案.docx VIP
- 新22G04 钢筋混凝土过梁.docx VIP
- 疖肿合并疼痛护理查房.pptx VIP
- 2024年山东省东营市河口区中考一模语文试题(解析版).pdf VIP
- 居民阶梯电价作业指导手册.pdf VIP
- XXXX无线网施工方案.docx VIP
- 数字素养与技能.pptx VIP
文档评论(0)