Erlang的rand:seed/2
使用3个整数来为RNG播种。
虽然RNG实现通常需要1个整数用于种子,但为什么Erlang特别使用3?
答案 0 :(得分:1)
Erlang uses a variant of the Wichmann-Hill algorithm作为其PRNG。这个algorithm dates to 1982,当16位处理器很常见时。为了实现相当长的周期(当时),它汇集了三个不同的线性同余生成器(LCG)的结果,每个生成器的周期长度<1。 2 15 。合并的结果具有
的组合循环长度每个LCG都有自己的整数状态,因此需要三个单独的种子值。