Answers:
在R中,用于随机数生成的默认设置为:
您可以轻松地检查此内容,即。
> RNGkind()
[1] "Mersenne-Twister" "Inversion"
可以将默认生成器更改为其他PRNG,例如Super-Duper,Wichmann-Hill,Marsaglia-Multicarry或什至由用户提供的PRNG。有关更多详细信息,请参见?RNGkind。我从来不需要更改默认的PRNG。
默认情况下,C GSL库还使用Mersenne-Twister。
我以前遇到过并使用过的Mersenne Twister。
由George Marsaglia设计的Xorshift PNG。它的周期(2 ^ 128-1)比Mersenne-Twister短得多,但是该算法实现起来非常简单,非常适合并行化。在许多核心架构(例如DSP芯片和Nvidia的Tesla)上表现良好。
在http://prng.di.unimi.it/上,您可以找到使用TestU01测试的几个随机数发生器的枪战,TestU01是现代的伪随机数发生器测试套件,它替代了diehard和dieharder。您可以选择。