最近,我为64位integer (或long)实现了一个MersenneTwister。是否有关于如何测试PRNG的指南或示例,以便我可以知道我的实现是否足够好。我特别感兴趣的是如何验证我的实现是否具有足够好的均匀分布。
这与MersenneTwister绑定得越具体越好。
发布于 2010-12-04 07:06:05
你不需要测试Mersenne Twister 算法 --那些真正知道自己在做什么的人已经做了一遍又一遍--你只需要测试你是否正确地实现了这个算法。
你可以去Mersenne Twister web site获取他们的test output。如果您生成的输出序列与它们相同,那么您可能已经正确地实现了算法。
请注意,MT站点有一个专门针对64 bit machines的链接,以及32位和64位版本的不同测试输出。
发布于 2010-12-04 03:41:23
测试PRNG的标准电池是Diehard Tests。
发布于 2010-12-04 03:41:38
最简单的方法(如果它是真正的通用机器翻译)是将其与具有相同种子的已知良好的机器翻译库进行比较。
https://stackoverflow.com/questions/4349245
复制相似问题