整数阶的应用:伪随机数生成技术解析
1. 随机数与伪随机数概述
随机数在众多领域都有重要应用,比如在核物理、运筹学和数据网络等领域的计算机模拟中,随机数可用于构建随机样本,以研究系统在无法测试所有可能情况时的行为。在数值分析中,可利用随机数通过黎曼和来估计积分;在数论里,随机数用于概率素性测试;在密码学中,随机数用于生成加密密钥和执行加密协议。
早期,科学家通过掷骰子、转轮盘、从瓮中取球、发牌或从表格数据(如人口普查报告)中获取随机数字来生成随机数。20世纪40年代发明了产生随机数的机器,50年代计算机开始使用随机噪声发生器生成随机数。然而,机械过程产生的随机数常因计算机硬件故障而出现偏差,且使用物理现象生成的随机数无法重现以验证计算机程序的结果。
1946年,约翰·冯·诺伊曼提出使用计算机程序生成随机数的想法,即中平方方法。以生成四位数随机数为例,先取一个任意四位数,如6139,将其平方得到37,687,321,取中间四位数6873作为第二个随机数,重复此过程得到随机数序列。但中平方方法存在弱点,对于很多初始整数的选择,该方法会反复生成相同的小数字集。例如,以4100为初始四位数,使用中平方方法会得到序列8100, 6100, 2100, 4100, 8100, 6100, 2100, …,在重复前只有四个不同的数字。
2. 线性同余生成法
线性同余法是最常用的伪随机数生成方法,由D. H. Lehmer在1949年引入。选择整数m、a、c和x0,满足2 ≤ a < m,0 ≤ c < m,且x0 ≥ 0,伪随机数序列通过递归定义:
[
x_{n + 1} \equiv ax_n + c \pmod{m
超级会员免费看
订阅专栏 解锁全文
875

被折叠的 条评论
为什么被折叠?



