当前位置: 首页 > 面试题库 >

良好且简单的随机性度量

栾烨华
2023-03-14
问题内容

取长整数序列(例如100,000个整数)并返回该序列有多随机的度量的最佳算法是什么?

该函数应该返回一个结果,如果序列不是全部都是随机的,则返回0,如果完全随机,则返回1。如果序列有点随机,则可以在两者之间给出一些信息,例如0.95可能是一个合理的随机序列,而0.50可能具有一些非随机部分和一些随机部分。

如果我要将Pi的前100,000个数字传递给该函数,则它应给出一个非常接近1的数字。如果我将序列1、2,… 100,000传递给该函数,则应返回0。

这样,我可以轻松地获取30个数字序列,确定每个数字的随机性,并返回有关其相对随机性的信息。

有这样的动物吗?

…..

2019年9月24日更新:Google可能刚刚迎来了量子霸权时代:

“据报道,谷歌的量子计算机能够在3分20秒内解决计算问题-
证明随机数发生器产生的数字具有随机性,这将使世界上最快的传统超级计算机Summit大约需要10,000年。这实际上意味着传统计算机无法执行这种计算,这使Google率先证明了量子至上性。”

因此,显然有一种“证明”随机性的算法。有谁知道它是什么?这个算法还能提供一种随机性的度量吗?


问题答案:

可以通过以下方式完成:

CAcert研究实验室进行随机数生成器分析

他们的结果页使用7个测试(熵,生日间隔,矩阵等级,6x8矩阵等级,最小距离,随机球体和挤压)评估每个随机序列。然后,每个测试结果都将颜色编码为“无问题”,“可能确定性”和“非随机”之一。

因此,可以编写一个接受随机序列并执行7个测试的函数。如果7个测试中的任何一个为“非随机”,则该函数返回0。如果7个测试中的所有均为“无问题”,则它返回1。否则,它可以根据多少个中间值返回一些数字。测试以“潜在确定性”的形式出现。

该解决方案唯一缺少的是7个测试的代码。



 类似资料:
  • 我在这个练习中的平均距离有问题。它应该接近N步的sqrt,但它更低。你能帮我找出我的错误在哪里吗? 二维随机游动。二维随机游动模拟了一个粒子在点网格中运动的行为。在每一步中,随机步行者以1/4的概率向北、向南、向东或向西移动,与之前的移动无关。确定N步后随机步行者离起点有多远(平均)。(理论答案:按sqrt(N)的顺序)

  • 本文向大家介绍JS 密码强度校验的正则表达式(简单且好用),包括了JS 密码强度校验的正则表达式(简单且好用)的使用技巧和注意事项,需要的朋友参考一下 最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。 html 代码如下: js 代码如下: 效果图: 使用说明: 1、对象的第一个参数是密码输入

  • 本文向大家介绍SQL 设计良好的表的属性。,包括了SQL 设计良好的表的属性。的使用技巧和注意事项,需要的朋友参考一下 示例 真正的关系数据库必须超越将数据扔到几个表中并编写一些SQL语句来提取数据的能力。 最好的一个错误设计的表结构将减慢查询的执行速度,并可能使数据库无法按预期运行。 一个数据库表不应被视为另一个表。它必须遵循一组规则才能被认为是真正的关系。从学术上讲,区分是一种“关系”。 关系

  • 本文向大家介绍ActionScript 3 随机角度,以度为单位,包括了ActionScript 3 随机角度,以度为单位的使用技巧和注意事项,需要的朋友参考一下 示例 输出示例: 31.554428357630968 230.4078639484942 312.7964010089636

  • 在前面的章节中,我们开发了深入描述数据所需的技能。 数据科学家也必须能够理解随机性。 例如,他们必须能够随机将个体分配到实验组和对照组,然后试图说明,观察到的两组结果之间的差异是否仅仅是由于随机分配,或真正由于实验所致。 在这一章中,我们开始分析随机性。 首先,我们将使用 Python 进行随机选择。 在numpy中有一个叫做random的子模块,它包含许多涉及随机选择的函数。 其中一个函数称为c

  • 本文向大家介绍php简单生成随机颜色的方法,包括了php简单生成随机颜色的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php简单生成随机颜色的方法。分享给大家供大家参考,具体如下: 运行结果如下: 关于颜色值转换与获取还可参考本站在线工具: RGB颜色编码生成器 在线网页配色工具 RGB颜色查询对照表_颜色代码表_颜色的英文名称大全 更多关于PHP相关内容感兴趣的读者可查看本站专题

  • 我想看看哪个随机数生成器包在我的神经网络中更快。 我目前正在更改github的一个代码,其中两个都是numpy。随机和随机包用于生成随机整数、随机选择、随机样本等。 我之所以更改此代码,是因为出于研究目的,我希望设置一个全局种子,以便能够比较超参数不同设置的精度性能。问题是,现在我必须为随机包和numpy包设置两个全局种子。理想情况下,我只想设置一个种子,因为来自两个随机数生成器序列的图形可能会更

  • 问题内容: 如何在SQL中获取有效的简单随机样本?有关的数据库正在运行MySQL。我的表至少有200,000行,我想要一个大约10,000的简单随机样本。 “显而易见”的答案是: 对于大型表,这太慢了:它对每一行调用RAND()(已经将其放在O(n)),并对它们进行排序,使其充其量为O(n lg n)。有没有办法比O(n)更快地做到这一点? 注意 :正如Andrew Mao在评论中指出的那样,如果