Math 您的伪随机数生成器(PRNG)是否具有足够的随机性?

Math 您的伪随机数生成器(PRNG)是否具有足够的随机性?,math,random,simulation,montecarlo,prng,Math,Random,Simulation,Montecarlo,Prng,您是否曾经编写过模拟或随机算法,因为您使用的(伪)随机数的质量而遇到问题 发生了什么事 您是如何发现/意识到您的prng是问题所在的 切换PRNG是否足以解决问题,还是必须切换到真正的随机性源 我试图找出什么类型的应用程序需要人们担心其随机性来源的质量,以及当这成为一个问题时人们是如何认识到的 年代久远的随机数发生器在七十年代因产生“坏”随机数而臭名昭著。我的博士生导师提到这影响了他的博士学位,他不得不重新运行模拟。在谷歌上搜索,还可以找到其他的例子 当我在多台机器上运行模拟时,我有时会尝试生成

您是否曾经编写过模拟或随机算法,因为您使用的(伪)随机数的质量而遇到问题

发生了什么事

您是如何发现/意识到您的prng是问题所在的

切换PRNG是否足以解决问题,还是必须切换到真正的随机性源

我试图找出什么类型的应用程序需要人们担心其随机性来源的质量,以及当这成为一个问题时人们是如何认识到的

  • 年代久远的随机数发生器在七十年代因产生“坏”随机数而臭名昭著。我的博士生导师提到这影响了他的博士学位,他不得不重新运行模拟。在谷歌上搜索,还可以找到其他的例子
  • 当我在多台机器上运行模拟时,我有时会尝试生成“随机种子”,而不仅仅是使用适当的并行随机数生成器。例如,使用当前时间(以秒为单位)生成种子。这给我带来了很多问题,我不惜一切代价避免了这一点


  • 这主要是由于我的特殊兴趣,但除了并行计算,我永远不会想到创建自己的随机数生成器。在大多数语言中,调用一个经过良好测试的随机数函数是很简单的。

    对其运行prng是一个很好的实践。现在有非常好和快速的PRNG(参见Marsaglia的工作),请参见数字配方第3版以获得良好的介绍。

    uhhh,我该怎么做?常见问题解答说应该有一个复选框,但我找不到它…:-/显示线性同余生成对2+维空间采样的失败应该是任何花费时间在MC上的类的基本练习。