株洲新闻网

首页 > 正文

随机数不随机,那么它们到底是怎么产生的呢?

www.xahq.cn2019-08-11

许多游戏都将开设彩票。例如,在热门游戏《阴阳师》中,游戏角色需要抽签。游戏彩票的机制类似于赌博。每次我们抽奖时,计算机都会生成一个随机数。这个随机数决定了你是蝴蝶还是大狗(游戏角色)。

static.1sapp.comlwimg20190721dddba5091a8ada098bf7206815b1ce32.jpeg

除了用于游戏之外,随机数也用于安全加密。为了确保信息的安全性,加密系统不能总是使用相同的密码,而是使用一些未说明的数字,这样黑客就无法猜测。

但是,计算机不知道,它只能提前执行人类(程序员)编写的一些指令,也就是说,计算机是确定性的。因此,随机数并不是真正随机的,那么它们是如何产生的呢?

伪随机数

我们生活中最常见的随机数被称为“伪”随机数。伪随机数不是真正的随机数,但它们似乎是随机的。这些随机数简单地由计算机程序确定,即遵守它们的服从。一些既定规则,例如平方法和梅森旋转法。

在平方方法中,我们首先将四位数的起始值(通常称为种子)分配给计算机程序,计算种子的平方,然后在正方形的中间提取四个数字。例如,种子是3895,其平方是,那么计算机获得的随机数是1710(中间4)。当程序继续时,1710的平方为,则下一个随机数为9241(不够八位,前面为0)。这将产生0到9999之间的伪随机数。

用于生成伪随机数的另一种方法是梅森旋转方法。使用此规则生成的随机数需要四个数字:m,a,c和种子数(初始值)。在计算随机数时,我们首先使用种子数。将a乘以c除以m得到余数。例如,m,a,c和种子值的数量分别为7829,378,2310和4321,并且获得的随机数是(4321×378 + 2310)7829=208 . 7216。伪随机数是余数7216.当然,这个过程继续重复并产生一系列随机数。

static.1sapp.comlwimg2019072175a195422c8ae7f70074905732b60afa.jpeg

根据以上两个规则,我们可以看到一个数字由前一个数字决定。如果种子不变,则生成的随机数序列不会改变。因此,可以说伪随机数是完全随机的。的。并且当计算过程重复足够时,序列将落入循环中,仅在表面上,伪随机数不是那么随机。例如,由平方减法方法生成的系列之一是2916,然后下一个是:5030,3009,540,2916,其连续重复。

值得一提的是,梅森旋转方法的输入值只是可变的。目前90%的游戏使用时间作为种子数。当您打开彩票计划以开始抽奖时,程序将记录您按下按钮的时间。例如,11:32:43.秒,使用小数点后的三位或四位数68作为种子。一旦确定种子,实际确定随后的随机数序列。因此,当您总是无法绘制时,您可能希望重新启动该程序,或尝试其他时间。

三个数字m,a和c由程序员预先确定。他们的价值已经写在程序中了。它们可以是2位数或4位数。对三个数字的要求是程序员必须提前测试,以便在重复随机数之前,公式必须产生0到m之间的所有数字,结果序列应该是随机的,否则重置三个数字m,a和c。

static.1sapp.comlwimg201907219f1ef0b776ff8af799eecd3f2cd90ef5.jpeg

真随机数不一定是随机的

除了伪随机数,计算机实际上可以生成一类“真正的”随机数。

为了生成真正的随机数,计算机需要测量一些随机的物理现象。例如,我们可以测量特定时刻的大气噪声(由自然雷暴活动产生的电磁辐射),并且测量的数量可以作为随机数输入计算机或由计算机“处理”成随机数。此时,计算机引入了自然的随机性。

上一篇文章中的“时间种子”也是一个真正的随机数,因为当一个人按下开始键是不可预测的。然而,由于真随机数的产生太慢,在生活中,人们很少接触到真正的随机数。但真正的随机数必然是随机的吗?为了澄清这个问题,我们必须首先定义一个随机定义,也就是说,当我们无法预测某些东西,或者某些东西没有任何明显的模式时,我们称之为随机。然而,一些物理现象实际上是确定的而不是随机的,因此真正的随机数不一定是随机的。

例如,我们总是认为投掷硬币是一个随机事件,但它本质上不是随机的,因为如果我们能够知道硬币的初始状态,即硬币的力量,运动的方向和速度等等。它可以在硬币中掉落到地面之前,推断最终结果。在我们扔硬币的那一刻,它已经是确定无疑了。事实上,研究人员已经建立了一个投掷硬币的机器人,可以精确控制硬币的初始状态,以获得任何研究人员想要的结果并且是万无一失的。

很多时候,事件似乎是随机的,仅仅因为我们缺乏信息,或者预测过程过于复杂。有些事件并非没有任何模式,我们可能还没有找到它的模型。

例如,虽然很难预测大气噪声,但它仍然是一个确定性系统。所有噪音都是从某个地方产生的。如果我们能够在噪声产生时找到初始状态,理论上我们可以预测噪声的值。

量子随机性

当我们知道所有信息时,什么是不可预测的?答案可能只能在量子世界中找到。

如果你还记得薛定谔的可怜的猫,你应该知道在打开盒子之前,猫同时处于两种状态。这只猫既死又活。这听起来像一个悖论,但微观世界的物理规则确实是这样的。微观世界粒子的空间分布和动量是完全不确定的(即量子力学中的不确定性原理)。就像猫一样,如果我们不打开盒子,猫仍然会同时处于两种状态。只有当我们看到它时,它是否具有某种状态。

static.1sapp.comlwimg2019072190fc5e59ab03750527ab87fe4d098080.jpeg

与经典物理学不同,没有其他信息和计算可以让我们预测粒子的状态。无论是衰变的特定放射性原子还是电子旋转,只有当我们观察粒子时才知道它。

随着我们获得越来越多的信息和越来越多的计算能力,我们将能够预测当前不可预测的随机事件。这个事实让我们感到恐慌,但幸运的是我们仍然有量子随机性。但是如果有一天我们可以推翻当前的微观物理规则,我们甚至可以准确地预测粒子的量子状态,那么世界将没有任何秘密,游戏将毫无乐趣。

热门浏览
热门排行榜
热门标签
日期归档