如何测试PRNG?

发布于 2024-10-05 22:01:18 字数 155 浏览 7 评论 0原文

最近,我实现了 64 位整数(或长整型)的 MersenneTwister。是否有关于如何测试 PRNG 的指南或示例,以便我可以知道我的实现是否是足够好的解决方案。我特别感兴趣的是如何验证我的实现是否具有足够好的均匀分布。

与 MersenneTwister 的联系越具体越好。

Lately I implemented a MersenneTwister for 64-bit integer (or long). Is there a guide or examples of how to test PRNG so that I may know whether or not my implementation is good-enough solution. I'm specially interested into how to verify if my implementation has good enough uniform distribution.

The more specifically this is tied to MersenneTwister the better.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一袭白衣梦中忆 2024-10-12 22:01:18

您不需要测试 Mersenne Twister算法 - 那些真正知道自己在做什么的人已经一遍又一遍地完成了 - 您只需测试您是否正确实现了算法。

您可以访问 Mersenne Twister 网站< /a> 并获取他们的 测试输出。如果您产生与它们相同的输出序列,则您可能已经正确实现了该算法。

请注意,MT 网站有一个专门针对 的链接64 位机器以及 32 和 64 位版本的不同测试输出。

You do not need to test the Mersenne Twister algorithm -- that's been done over and over by people who really know what they're doing -- you only have to test whether you've correctly implemented the algorithm.

You can go to the Mersenne Twister web site and grab their test output. If you produce the same sequence of outputs that they do, you've probably implemented the algorithm correctly.

Note that the MT site has a link specifically for 64 bit machines and different test outputs for 32 and 64 bit versions.

始于初秋 2024-10-12 22:01:18

PRNG 的标准测试系列是Diehard 测试

The standard battery of tests for a PRNG is the Diehard Tests.

薆情海 2024-10-12 22:01:18

最简单的方法(如果它是真正通用的 MT)是将其与具有相同种子的已知良好 MT 库进行比较。

Easiest approach (If it's truely generic MT) would be to compared it with a known-good MT library with the same seed.

无法言说的痛 2024-10-12 22:01:18

阿罗哈!

正如其他人所说 - 使用算法的已知答案测试向量。如果您满足测试向量,您可以合理地确定您的生成器可以正常工作。

如果你真的想测试发电机。使用由 Dieharder 工具实现的 DIEHARD 测试++:

http://www.phy .duke.edu/~rgb/General/dieharder.php

Aloha!

As someone else said - use the known answer test vectors for the algorithms. If you meet the test vectors you can be reasonably sure that your generator works.

If you really want to test the generator. Use the DIEHARD tests++ as implemented by the Dieharder tool:

http://www.phy.duke.edu/~rgb/General/dieharder.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文