簡體   English   中英

如何測試PRNG?

[英]How to test PRNG?

最近我為64位integer (或long integer )實現了MersenneTwister。 是否有指南或如何測試PRNG的示例,以便我可以知道我的實現是否是足夠好的解決方案。 我特別感興趣的是如何驗證我的實現是否具有足夠好的均勻分布。

更具體地說,這與MersenneTwister相關聯的越多越好。

你不需要測試Mersenne Twister 算法 - 那些真正知道他們正在做什么的人一遍又一遍地做 - 你只需要測試你是否正確地實現了算法。

您可以訪問Mersenne Twister網站並獲取他們的測試結果 如果您生成與它們相同的輸出序列,則可能正確實現了算法。

請注意,MT站點具有專門用於64位計算機的鏈接以及用於32位和64位版本的不同測試輸出。

PRNG的標准測試電池是Diehard測試

最簡單的方法(如果它是真正的通用MT)將它與具有相同種子的已知良好的MT庫進行比較。

阿羅哈!

正如其他人所說 - 使用已知的答案測試向量進行算法。 如果您符合測試向量,您可以合理地確定您的發電機是否正常工作。

如果你真的想測試發電機。 使用Dieharder工具實現的DIEHARD測試++:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM