我从random.org下载大气噪声数据的形式如下:
10111011 01101111 01100001 00001001 00100110 10111011 01110110 110101000111 01111110 10001110 011010000 1111010000 11110111010111010111010111010111010111011101110111010111010111011101110111011110011 010111111 010110011 010110011 010110011
我删除\n和空格,并使用Python测试套件模块(https://pypi.org/project/nistrng/)测试产生的C0位:
测试结果:
我通过python.numpy (完全相同的长度)生成了一个随机位数组,结果如下:
测试结果:
我用随机过程的2d图片创建了我自己的方法,并得到了类似的结果。
纯粹根据测试的文本输出,我可以假设如下:
然而,这些结果在我看来并不正确--大气噪音不应该是完全随机性的度量吗?伪随机发生器能比随机数更好吗?
My问题:
如何理解结果?什么测试是重要的?
发布于 2021-05-05 10:51:34
random.org站点在这里详细讨论了这一点:https://www.random.org/analysis/ --甚至引用了两篇不同的研究论文,它们与您做了相同的事情,并分析了结果。
我认为你困惑的根源在于你显然认为“随机性”就像一个你可以测量和比较的数字,并且存在着“完全随机性”这样的东西。但事实并非如此。这要复杂得多。
但具体来说,pseudo_random数生成器的属性是,它只有_pretends才是随机的,而实际上是完全确定性的。如果你知道它的内部状态,你可以预测所有未来的输出100%的准确性。但是如果你不这样做的话,你的伪装就会很好,并且可以完成各种统计测试。
另一方面,大气噪音是完全不可预测的,至少考虑到目前关于phsyics如何工作的知识状况。但这并不意味着它也能很好地通过统计测试。
作为一个非常简单的例子:假设有偏见的硬币翻转,上帝告诉你,完全不可能预测它是正面还是反面,但有60%的可能性是正面。这种随意性有多好?你有上帝的话,它是无法预测的--在某种程度上,这比任何可以预测的伪随机数产生器要好得多。但是这种10%的偏见是巨大的,如果你对结果下了简单的赌注,那就很容易利用了。
大气噪音有点像有偏见的硬币,只是有更微妙的统计缺陷。
发布于 2021-05-05 13:47:25
事实上,一个“统计有用的”PRNG的特点是它将产生在其范围内相当均匀地分布的值。"next“值被认为是”不可预测的“(尽管它不是不可预测的),但是如果您生成了1000个数字并将它们绘制在一个图上,则该图形将被相当均匀的圆点覆盖。通过这种方式,一个“随机”样本可以被期望检查整个人口的“良好的横截面”,这也是统计学家们想要的。
但是,密码学家对伪随机有着完全不同的需求,因此他们使用不同的算法来获得他们所需要的。
这两种方法都不是真正的随机性,而实际上,这种随机性可能几乎没有那么有用。
https://softwareengineering.stackexchange.com/questions/426072
复制相似问题