我正在学习如何使用伪随机数生成器,但讲师只是告诉我们它们是如何工作的,而没有解释它们为什么工作。例如,能否证明 LCG 方法生成的数字确实是 [0,1) 中的均匀偏差?实验表明它看起来是的。但是我们可以用数学方法证明这一点吗?我总是对伪随机数背后的基本哲学感到困惑。如果算法是确定性的,结果怎么可能是随机的?
伪随机数
计算科学
参考请求
随机数生成
2021-11-29 10:41:22
1个回答
通过 LCG 等方法生成的伪随机数是通过离散动力系统(即)。对于这些类型的系统,可以应用遍历理论等工具来了解此类过程的长期分布。这是获得泛化良好的长期概率分布的一种方法,因此可用于开发更好的方法。
这些伪随机数被认为是动态系统中的周期,它们具有长周期并且具有渐近均匀分布。例如,您可以提出一个系统,其中 对于每个. 这意味着您的解决方案是 5 个循环。这不会很好,因为那样它会重复很多。因此,伪随机数生成器的周期很长。Mathworks 有一个很好的表格,它显示了常见随机数生成器的周期。
在很长一段时间内,点数几乎均匀分布,这与您直觉上认为的伪随机均匀一致。
其它你可能感兴趣的问题