首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有多大的随机性才能成为随机?

问有多大的随机性才能成为随机?
EN

Software Engineering用户
提问于 2021-05-05 10:17:28
回答 2查看 218关注 0票数 -1

我从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位:

测试结果:

  • 通过-得分: 0.543 -单比特-运行时间:1 ms
  • 通过-分数: 0.546 -间隔时间内的频率:1 ms
  • 通过-得分: 0.986 -运行时间: 26 ms
  • 通过-得分: 0.939 -运行最长的在一个块-经过的时间:1毫秒
  • 通过-得分: 0.522 -二进制矩阵排序-运行时间: 247毫秒
  • 失败-分数: 0.0 -离散傅里叶变换-经过的时间:6ms
  • 通过-得分: 0.341 -不重叠模板匹配-运行时间: 265 ms
  • 失败-得分: nan -串行运行时间: 3696 ms
  • 失败-分数: 0.0 -近似熵-经过的时间: 2443 ms
  • 失败-得分: 0.0 -累计累积时间: 81 ms
  • 失败-得分: 0.63 -随机偏移-经过的时间: 290 ms
  • 失败-分数: 0.0 -随机偏移变量-经过的时间:1ms

我通过python.numpy (完全相同的长度)生成了一个随机位数组,结果如下:

测试结果:

  • 通过-得分: 0.426 -单比特-运行时间:0 ms
  • 通过-分数: 0.156 -间隔时间内的频率:1 ms
  • 通过-得分: 0.268 -运行时间: 27 ms
  • 通过-得分: 0.405 -运行时间最长的在一个块-运行时间:2ms
  • 通过-得分: 0.017 -二进制矩阵排序-运行时间: 238 ms
  • 失败-分数: 0.0 -离散傅里叶变换-经过的时间:6ms
  • 通过-得分: 0.279 -不重叠模板匹配-运行时间: 261 ms
  • 失败-得分: nan -串行运行时间: 3712 ms
  • 失败-分数: 0.0 -近似熵-经过的时间: 2498 ms
  • 失败-得分: 0.0 -累积和-经过的时间: 83 ms
  • 失败-得分: 0.683 -随机偏移-运行时间: 289毫秒
  • 通过-分数: 0.17 -随机漂移变量-经过的时间:2ms

我用随机过程的2d图片创建了我自己的方法,并得到了类似的结果。

纯粹根据测试的文本输出,我可以假设如下:

  • 来自random.org的大气噪声不是完全随机的。
  • numpy伪随机发生器不是完全随机的
  • numpy伪随机发生器比大气噪声具有更多的随机性(通过测试)

然而,这些结果在我看来并不正确--大气噪音不应该是完全随机性的度量吗?伪随机发生器能比随机数更好吗?

My问题:

如何理解结果?什么测试是重要的?

EN

回答 2

Software Engineering用户

发布于 2021-05-05 10:51:34

random.org站点在这里详细讨论了这一点:https://www.random.org/analysis/ --甚至引用了两篇不同的研究论文,它们与您做了相同的事情,并分析了结果。

我认为你困惑的根源在于你显然认为“随机性”就像一个你可以测量和比较的数字,并且存在着“完全随机性”这样的东西。但事实并非如此。这要复杂得多。

但具体来说,pseudo_random数生成器的属性是,它只有_pretends才是随机的,而实际上是完全确定性的。如果你知道它的内部状态,你可以预测所有未来的输出100%的准确性。但是如果你不这样做的话,你的伪装就会很好,并且可以完成各种统计测试。

另一方面,大气噪音是完全不可预测的,至少考虑到目前关于phsyics如何工作的知识状况。但这并不意味着它也能很好地通过统计测试。

作为一个非常简单的例子:假设有偏见的硬币翻转,上帝告诉你,完全不可能预测它是正面还是反面,但有60%的可能性是正面。这种随意性有多好?你有上帝的话,它是无法预测的--在某种程度上,这比任何可以预测的伪随机数产生器要好得多。但是这种10%的偏见是巨大的,如果你对结果下了简单的赌注,那就很容易利用了。

大气噪音有点像有偏见的硬币,只是有更微妙的统计缺陷。

票数 7
EN

Software Engineering用户

发布于 2021-05-05 13:47:25

事实上,一个“统计有用的”PRNG的特点是它将产生在其范围内相当均匀地分布的值。"next“值被认为是”不可预测的“(尽管它不是不可预测的),但是如果您生成了1000个数字并将它们绘制在一个图上,则该图形将被相当均匀的圆点覆盖。通过这种方式,一个“随机”样本可以被期望检查整个人口的“良好的横截面”,这也是统计学家们想要的。

但是,密码学家对伪随机有着完全不同的需求,因此他们使用不同的算法来获得他们所需要的。

这两种方法都不是真正的随机性,而实际上,这种随机性可能几乎没有那么有用。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/426072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档