在计算领域,随机数生成器是一种产生不包含任意模式的序列的算法或过程。之所以称为随机数,是因为它们没有任何模式可循。产生的数字基本无法预测。
生成随机数的程序与日俱增,也促进了随机数生成方法的发展。这项技术历史悠久,最早的掷骰子、抛硬币和抽扑克,都可以看成是随机数生成器。但是,这些方法都只能产生有限的随机数。
随机数生成器的计算方法应用得十分普遍,例如统计抽样、赌博、随机生成的设计、科学与工程领域的计算机仿真,以及需要不可预测结果的大量其他领域,如密码系统。
随机数生成器主要有两类,真随机数生成器和伪随机数生成器。真随机数生成器通过真实的物理过程生成随机数,例如硬盘的实际读写时间。伪随机数生成器通过计算机算法生成随机数。还有一种随机数生成器通过统计分布生成随机数,例如泊松分布、指数分布、正态分布、高斯分布等。一些伪随机数生成器如下所示:
- BBS随机数生成器(Blum Blum Shub)
- Wichmann-Hill随机数生成器(Wichmann-Hill)
- 进位—互补—乘法随机数生成器(complementary-multiply-with-carry)
- 反向同余随机数生成器(inversive congruential generator)
- ISAAC随机数生成器(ISAAC (cipher))
- 滞后斐波那契随机数生成器(lagged Fibonacci generator)
- 线性同余随机数生成器(linear congruential generator)
- 线性反馈移位寄存器(linear-feedback shift register)
- 最大周期(索菲·热尔曼质数)倒数随机数生成器(maximal periodic reciprocals)
- 梅森旋转随机数生成器(Mersenne twister)
- 进位相乘随机数生成器(multiply-with-carry)
- Naor-Reingold伪随机数生成器(Naor-Reingold pseudo-random function)
- Park-Miller随机数生成器(Park-Miller random number generator)
- WELL伪随机数生成器(Well-equidistributed long-period linear)
艾奇编程网,专注分享优质文章,以及优质学习资源,大家可前往下载专区获取相应资源。
![图片[1]|什么是随机数生成器](https://www.91yiqixue.com/wp-content/uploads/2022/05/艾奇编程网_圆角.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧