我试图找到一个RNG来生成伪随机比特流。我发现Mersenne Twister(MT19937)是一种广泛使用的RNG,它可以生成良好的32位无符号整数,并且已经完成了一些实现,以生成明显良好的双精度浮点数(生成53位整数)。但是我似乎没有发现它在某些方面表现良好。

Marsaglia对Mersenne Twister的随机性表示了一些担忧,这使我对其使用感到怀疑。

有人知道Mersenne Twister是否具有明显的偏差来生成伪随机位吗?如果是这样,有人知道一个好的伪随机位发生器吗?

最佳答案

所有伪随机发生器都努力在每个位上产生高度的不可预测性。在观察到624个值之前,目前尚无方法可以从MERSEN Twister预测到比随机机会要好得多的程度。

所有形式为“ X RNG良好”的问题都必须回答:“您在做什么?”由于其出色的频率分布,Meresene Twister在仿真方面取得了巨大成功。在加密情况下,它完全没有任何价值。内部状态可以通过查看624个连续的输出来识别。 Blum Blum Shub在加密情况下一直非常强大,但是在模拟中使用它的速度慢得令人无法接受。

关于random - Mersenne Twister是好的二进制RNG吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8720794/

10-09 03:38