【发布时间】:2014-03-05 14:04:27
【问题描述】:
这是我的问题:我有从 MT19937(32 位字)生成的随机数和由 SMFT(面向 SIMD 的快速梅森捻线器)提供的具有相同周期和 32 位字长配置的随机数。 此外,我生成了具有相同种子(= 0)的值。结果却不一样! 谁能解释一下,这怎么可能?
提前致谢。
【问题讨论】:
这是我的问题:我有从 MT19937(32 位字)生成的随机数和由 SMFT(面向 SIMD 的快速梅森捻线器)提供的具有相同周期和 32 位字长配置的随机数。 此外,我生成了具有相同种子(= 0)的值。结果却不一样! 谁能解释一下,这怎么可能?
提前致谢。
【问题讨论】:
来自SIMD-oriented Mersenne Twister webpage:
在大多数平台上,SFMT 比 MT 快得多。不仅速度提高了,而且 v 位精度的等分布的维数也得到了提高。
如果有任何改进,它必须即使对于相同的种子也有不同的结果。我认为这是一种针对现代 CPU 优化的稍微不同的算法,它与 MT19937 具有相同的基本原理。
【讨论】:
SFMT 内部产生 128 位整数 - 这可能映射到 32 位数字。
据我所知,SFMT 具有更好的均匀分布特性和更快的从0s 恢复。因此它的实现不同于MT
【讨论】: