随机数产生器

添加到网站 元信息

其他工具

数字生成器

数字生成器

20 世纪的科技进步很大程度上归功于概率论的发展和随机数发生器的发明。

随机数是可以解释为执行某些随机变量的结果的数字——概率论的基本概念。 在这种情况下,随机性的概念意味着在实验开始之前给定数量的值是不可预测的。

随机数的历史

人类使用随机数的需求早在科学家发明能够获取随机数组的设备之前就出现了。 长期以来,人们使用临时方法来生成随机数,包括有生命和无生命的物体。

最简单的随机数生成器最显着的例子之一是我们今天广泛使用的熟悉的骰子。 在初级和训练实验中,可以完全忽略骰子运动规律对环境、初始条件和人为因素的依赖性,因此骰子上的点数可以有一定保留地认为是随机的多变的。 骰子对概率论的发展起到了重要作用:1890年,英国研究员弗朗西斯·高尔顿提出了用骰子产生随机数的方法。

设备中稍微复杂一点的是另一种在日常生活中广泛使用的数字生成器——彩票鼓。 该设备是一个带有编号球的鼓,在旋转过程中这些球会在其中混合。 彩票鼓的主要应用领域是彩票和乐透。 很容易猜到,lototron 由于随机性和运行速度低,不适合用于严肃的科学实验。

1939年发明了第一个可以获取大量数据并适用于解决应用问题的随机数发生器。 Maurice George Kendall 和 Bernard Babington-Smith 发明了一种设备,可以生成包含 100,000 个随机数的表格。 而仅仅 16 年后,美国战略公司 RAND 将英国院士的结果提高了 10 倍——在特殊机器的帮助下,创建了一张包含一百万个随机数的表。 由于 George Marsaglia 在 1996 年收到了 650 MB 的随机数,用于生成随机数的表格方法得到了重大发展。 但由于范围狭窄,目前该方法并未被广泛接受。

与创建随机数表的设备相比,实时生成随机数的机器具有许多优势。 最早的此类机器之一是 Ferranti Mark 1 计算机,该计算机于 1951 年包含一个程序,该程序可根据电阻器的输入噪声流生成随机数。 有趣的是,创建这样一个程序的想法是伟大的英国数学家艾伦图灵。 随机数生成领域的另一个创新是 1957 年发明的 ERNIE(电子随机数指示器设备),最初用于生成英国彩票中的中奖号码。

伪随机数

随机数发生器的发明无疑大大加快了科学技术的进程。 然而,这些设备有一个非常重要的缺点,这大大限制了它们应用的可能性。 早在 20 世纪中叶,匈牙利裔美国数学家约翰·冯·诺依曼就指出物理随机数发生器在计算中的不适用性,因为无法重复随机实验,因此无法再现随机数测试机器的操作。 这就是科学界需要伪随机数的方式 - 具有随机数的许多重要属性的数字,但不是随机实验的结果,而是基于某种算法获得的。 John von Neumann 本人成为“平方中间”方法的作者,该方法允许您在输出端获得十位伪随机数。

当然,伪随机数的主要缺点是缺乏数据随机性,这在科学和生活的许多领域都非常重要。 另外,所有的伪随机数发生器都具有循环的性质,即从某一时刻开始重复输出数的序列,很多算法都是可逆的,有的甚至一维分布不均匀。 因此,目前,该领域吸引了许多寻求开发现有或创建新的高效伪随机数生成器的研究人员。

有趣的事实

  • 根据一些历史学家的说法,第一次尝试生成随机数可以追溯到公元前 3500 年。 奇怪的是,它们与古埃及棋盘游戏“Senet”有关,该游戏包括在棋盘上移动筹码。
  • 长期以来,人口普查结果和通过实验获得的其他数据表作为一些实际问题的随机数来源。
  • 2010 年代初期,多州彩票协会的前安全主管利用了伪随机数生成算法中的一个漏洞。 入侵者可以访问用于确定彩票中奖号码的软件,利用该软件他可以在一年中的几天内确定中奖组合。 他在赢得 1650 万美元后于 2015 年受到指控。
  • 安装在阿波罗飞船机载计算机上的伪随机数发生器曾导致其运动出现故障并严重偏离预定轨道。 正如科学家们发现的那样,用于计算角速度的发生器的输出数据在 80% 的情况下落入下半平面,这绝对不符合发生器结果随机性的要求标准。

生成随机数的问题是目前科学界最相关和最有前途的问题之一。 同时,对于远离科学世界的人来说,这个话题最有趣。 熟悉最著名的伪随机数生成算法及其使用领域。

挑选一个随机数字

挑选一个随机数字

每天,数以百万计的人使用在线随机数生成服务,但很少有人思考这个过程背后的原因。 随机数生成器是如何工作的,这些数字是随机的吗?

随机数是如何得到的

可以解释为随机数的随机结果的最著名实验示例是熟悉的抛硬币或骰子、洗牌或从洗好的牌组中抽牌。 几个世纪以来,人们一直在日常生活中使用这些技术,但显然,这种方法不适合生成大型阵列。

将生成随机数的过程系统化的第一次尝试导致创建了用随机数填充表格的算法。 然而,这种表的应用范围相当狭窄,因此随机数表很快被实时生成随机数的机器所取代,并在今天得到广泛使用。

随机和伪随机数生成器

很少有人知道,但大多数现代设备实际上会生成伪随机数。 这是数字序列的名称,其属性在许多方面与随机序列相似,但它们的构造机制却截然不同。 真随机数生成器在其工作中使用微小随机物理过程的结果,例如热噪声和散粒噪声、光电效应或某些量子现象。 这种生成器的输出序列无法预测,这是随机数生成器相对于伪随机数生成器的主要优势。 随机数的这一特性在密码学等需要数据隐私和安全的领域最为重要。

与真随机数不同,伪随机数序列是根据某种算法生成的,因此具有可预测性和固定性。 可以通过在系统中引入一些参数使数字之间的依赖关系复杂化来改善伪随机数生成器的结果,但是,目前所有的伪随机数生成器迟早会循环,因此无法产生真正的伪随机数生成器。随机数。

当然,由于设备的高度复杂性和随机数生成器的成本,科学家们目前非常关注寻找和优化生成伪随机数的最有效算法。 甚至还发明了“加密强伪随机数生成器”(CSPRNGS),用于加密和确保传输信息的完整性。

使用随机数和伪随机数的地方

随机数生成器是大多数操作系统软件的组成部分。 此外,它们对于统计测试和数值模拟也是必不可少的。 随机数生成器还用于创建复杂的计算机游戏,并且可以显着扩展人工智能的能力,这是近十年来最有前途的技术之一。 当然,随机数在彩票、竞赛和抽奖中的应用非常广泛。

生成随机数是一个耗时的过程,而且在很多方面都是神秘的过程,但这就是它更有趣的原因。 深入研究这个主题,一定会为自己发现一些新的东西。