#1 楼
如果数字是计算机生成的,它们将不是真正的随机数,而是伪随机数。我将转至math.stackexchange.com,以更好地了解您的问题正在尝试进行测试。
一些很好的相关问题是:
如何使用一些随机和伪随机数生成REAL随机数
这些是数字是随机的吗?
您还应该研究自动进行测试的方法。要真正测试这一点,您需要测试非常大的样本量,然后可视化结果的分布。
评论
我会采用一种更简单的方法,您将如何测试手动随机数(戴帽子)?您想验证所有数字最终都会生成。您要验证分布(数字的出现次数)。对于软件,我认为有趣的一点还在于关注性能。例如,您生成第一个数字的速度与生成最后一个数字的速度一样快吗?
– Ahmet
2012年9月7日在21:46
#2 楼
尝试使用此文档-美丽测试的第10章对于一个简单的示例,请查看Alan Page的此示例博客文章
评论
美丽的测试一章实际上非常好,因为它谈论测试时没有涉及任何重型数学或统计信息。我真的推荐它。
– joshin4colours
2012年8月20日在17:02
如果要测试随机数生成器,为什么不应该使用繁重的数学或统计学呢?
–教育
2012年8月20日在17:28
评论
您需要知道一个事实:这些数字是通过什么分布采样的?您已在手动测试中对此进行了标记。这应该使用软件进行测试。
这不是一个完整的答案,但是确定事物是否随机的最佳方法之一就是尝试压缩它们。压缩通过查找模式进行工作,并且如果它们是随机的,将没有太多模式可以找到以进行压缩。
我更正了标签。
使用一个或多个RNG测试套件:Dieharder,TestU01或NIST测试。您可以在网上找到这些内容。