Mersenne Twister的特征 - 19937

时间:2014-03-13 09:50:33

标签: random prng

我有一个非常简单的问题: 当我们采用Mersenne Twister -19937发生器并且我们修复种子时,每次我们调用生成器时它产生一系列具有一些特征的数字(独立,均匀分布)。这里重要的是独立性(或两次连续呼叫之间的低相关性)。

现在,如果我有两个具有不同(但固定)种子的Mersenne Twister -19937,我会调用每个发生器一次,会发生什么。在这种情况下,我得到的两组随机数的独立性,相关结构如何?

非常感谢

1 个答案:

答案 0 :(得分:1)

"保证"不再存在了。很可能有一个随机生成器为两个不同的种子生成完全相同的值。

除非您依赖于随机性的某些行为,否则这不是问题。当然主要是密码学 - 密码随机数生成器即使在你这样做的时候也很难随意。并行运行10台发电机。然而,这种方式违背了可重复性的目的(例如程序生成等)。

但是,两台发电机确实独立保证。这意味着,只要他们没有“互动”#34; (例如,游戏中的两个区域,每个区域都有自己的生成器),随机性将被保留。

一个好的经验法则是测试它(除非随机性是关键,然后它一直是数学:))。情节图。找出现实世界:)

编辑:由于您已添加了特定算法,请稍微扩展一下。梅森捻线机非常随机。但是,随机性非常依赖于初始值。对于某些种子,即使有几个并行发生器,也可能产生非常随机的值。对于某些种子,结果非常接近。正如维基指出:

  

这样做的结果是,在初始状态几乎相同的情况下,生成器的两个实例将在最终发散之前输出几乎相同的序列进行多次迭代。