随机性背后的理论是什么? 那真的存在吗?
>”>
“世界是偶然的。 随便缠扰我们的每一天。”
保罗·奥斯特(Paul Auster)。
随机性是未知,意外的代名词。 真的吗? 真的可以是随机的吗? 它仅仅是一种信念,想法,还是随机性只是一种幻想?
我们为什么不将知识搁置五分钟,然后尝试回答该问题?
定义
让我们看看字典隐藏了什么。 随机是指:
· 未经方法或有意识的决定而做出,完成或发生的事情。
· 异常或意外
· 表征选择过程,其中集合中的每个项目都有相等的被选择概率(统计数据)
有趣的是,”随机”一词激发了两个主要思想。
一方面,它与无法预先预测的事件同义:通过多次掷骰子,您无法确定结果是什么。 另一方面,它是没有图案的序列的统计属性:多次滚动模具时,两个结果之间没有逻辑。
是的,区别是微妙的。 在这一点上,您甚至可能认为这没有什么区别。 然而,差异是巨大的。
伪随机数发生器
一些算法可以计算随机数。 它们称为伪随机数生成器(PRNG)。 这些随机数是许多加密系统的基础,可以保护无线通信甚至Web应用程序上的密码。
为了更好地理解什么是随机性,有趣的是看看它是如何在PRNG中生成的。 是的,我们将讨论算法方法。 不,您不会迷失细节。
>”>
我要向您介绍的PRNG是一个古老的经典:线性同余生成器[1]。 让我们简单点:
· 我们有一个起始编号,称为种子。
· 下一个随机数是根据前一个随机数计算得出的。
假设我们有a = 13,c = 7,m = 24,我们的种子为0。很容易计算下一个随机数。 我们将0乘以13。我们仍然有0,然后加7。最后,mod m表示”将其分成m个相等部分时还剩下多少”。 假设我们有30个硬币可以在8个人之间共享。 然后我们可以给每个人3个硬币。 剩余6枚硬币。 换句话说30 mod 8 = 6。
>”>
您了解过程。 很简单。 真的很简单。 从一个种子和另外三个数字,我们可以生成一个随机序列。 10行代码中的随机性。
“随机数不应该使用随机选择的方法生成。”
唐纳德·克努斯(Donald Knuth)。
从观察者的角度来看,该序列似乎是完全随机的。 但是,我介绍给您的线性同余生成器非常简单。 当然,还有更复杂的。 使用python random.random()和numpy.random.random()都基于PRNG Mersenne Twister [2]。
确定性和周期性
我们看到我们生成的随机数不是随机的! 它们甚至是完全确定性的。 如果我们知道使它起作用的算法和种子,那么我们将提前知道生成的序列。
因此,让我们回到字典定义中,看看仍然可以使用:
· 未经方法或有意识的决定而做出,完成或发生的事情:
· 不寻常或意外:K.O。
· 描述选择过程的特征,其中集合中的每个项目都有相等的被选择概率(统计数据):尚不知道
我们在生成随机数吗? 从技术上讲,答案是否定的。
此外,生成的数字通常是周期性的。 所介绍的两个PRNG就是这种情况。 排序无限重复。
>”>
PRNG不会生成随机数。 但是,不应自动删除它们。 计算机是有限的空间。 我们必须务实。 我们可以尝试量化它们的适用性。
因此,将Kolmogorov的复杂度[3]定义为生成伪随机序列的最短程序。 因此,我们可以估计随机数生成的复杂性。
但实际上,真正的随机序列是无限序列,因此我们找不到生成它的较小程序。 根据定义,随机是不可压缩的,因为它不包含模式。
“计算机只能具有某种随机性,因为计算机是有限的设备。”
特里斯坦·佩里奇(Tristan Perich)。
这就是为什么要进行统计测试来衡量所生成的随机性与概念随机性的接近程度的原因。 例如,我们可以注意到DieHard测试[4]和NIST测试[5]。
我们将不讨论这些统计检验的详细信息。 但是它们使我们对随机序列的可预测性有了一个了解。 我们的线性同余生成器示例未通过这些测试[6]。
随机就是混乱
随机数生成器不生成随机数。 他们产生混乱。
“任何考虑产生随机数的算术方法的人当然都处于犯罪状态。”
约翰·冯·诺依曼(John von Neumann)。
混乱是元素的普遍混乱。 在我们的情况下,我们的序列普遍混乱。 毫无疑问,混沌是一个确定性系统,但高度依赖其初始条件。
让我们以双摆为例。 如果我们放下相同的双摆,那么重力,其组成的质量以及摆的起始角度将决定摆在放下时的反应方式。 如果在完全相同的条件下释放两次,则它将具有完全相同的行为。
>”>
但是,如果第二次通过很小程度地改变起始角度将其放下,则行为将完全不同。 但是仍然可以通过其初始条件来确定。
“虽然理论上随机性是一种内在属性,但实际上,随机性是不完整的信息。”
纳西姆·尼古拉斯·塔勒布(Nassim Nicholas Taleb)。
这称为蝴蝶效应。 对于初始条件的极小差异,结果是完全不同的,通常使得随着时间的推移无法进行任何预测。
真随机数生成器
对于某些科学家和数学家来说,无疑是纯随机性。 序列有效但没有原因。 它们被称为真实随机数生成器(TRNG),并且必须基于随机物理源。
在量子物理学中,我们熟悉真正的随机现象。 被认为是真空的空间实际上是由亚原子粒子组成的,这些亚原子粒子神奇地出现和消失。 这些粒子会产生随机噪声。 寂静的声音。
“自然本身不知道电子将通过哪个孔”。
理查德·费曼(Richard Feynman)。
它的不可重现性已经被量子理论证明[7]。 然后,我们有一个真正的随机数生成器。 直到物理理论可能与量子物理学相矛盾。 这将再次表明,被认为是随机的不是。
(正确)随机数生成器
在统计数学中,随机性是一个概念。 但是随机模型的定义假设在相同的初始情况下可以观察到不同的事件。 这种形式的随机性在存在于物理定律的确定论统治的世界中是不存在的。 确定性可以模仿随机性。
但是,量子物理学已经证明了它的有效性,而今天的伟大原理已经失败了。 这引入了新的范例。 统计物理学,同时解释了预测的可能性以及预测和观察之间的剩余差距。 随机性可以模仿确定性。
“真正的随机性需要无限量的信息。”
特里斯坦·佩里奇(Tristan Perich)。
确定性物理学或统计物理学是正确的位置吗? 这也可能是两个以上竞争对手之间的一场比赛。
甚至有可能证明系统是真正随机的吗? 由于根据定义它是不可压缩的,因此需要将无限量的信息视为随机系统。
是否存在随机性?
随机性是一个概念。 但是,作为观察,我们目前不能说什么。 我们所说的随机可以是:
· 混乱或
· 对规则的响应太微妙而观察者无法理解的序列,或者
· 纯随机性,对此证据仍在争论中。
这是否意味着我们应该被限制不要称随机为什么不是随机? 不,不是。 我正在默认情况下考虑系统是它看起来的样子。 如果我不能区分随机系统实际上是确定性的,那么我会认为它是随机的。
“我们所谓的随机性是而且只能是已知作用的未知原因。”
伏尔泰。
毕竟,我们不知道感觉如何。 这只是一个概念。 对这些感觉的观察使我们能够将它们视为真实的。
请随时关注我或就您喜欢或不喜欢的内容给我反馈。 ??很快见!
[1] LEHMER,D。 H 。 M. L. Juncosa在BRL高速计算机上生成随机数。 数学。 Rev.15(1954),559
[2] Mersenne Twister:庆应大学的MAKOTO MATSUMOTO,623-尺寸均匀分布的伪随机数生成器,庆应大学的Max-Planck-InstitutfürMathematik和TAKUJI NISHIMURA
[3] Kolmogorov复杂性,M。Li,P。Vitányi,《国际社会与行为科学百科全书》,2001年
[4] Marsaglia George和Tsang Wai Wan。 一些难以通过的随机性测试。 J.统计学家。 柔软的。 7、3、1-9,2002年。
[5] Andrew Rukhin和Al。 统计测试套件,用于密码应用程序的随机和伪随机数生成器。 NIST特别出版物800-22修订版1,2010年。
[6]线性同余生成器不产生随机序列,A.M。 带状;”>
[7]沉默的声音证明是打击,澳大利亚国立大学Ping Koy Lam
所有GIF都是自制的,可以免费使用。
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!