【问题标题】:Confusion about series of pure Random numbers关于纯随机数系列的困惑
【发布时间】:2012-08-18 01:37:14
【问题描述】:

这里有一个关于随机数的大问题:一系列随机数可以包含重复的数字吗?

我对所谓的纯随机数感到困惑?我想如果我们要生成一系列 0-9 范围内的 20 个随机数,那么显然必须有重复,但正因为如此,我们不能说这个系列是纯随机数,对吧?

【问题讨论】:

标签: algorithm random numbers


【解决方案1】:

当然,一系列随机数可能包含重复的数字。当你掷一个纯粹的随机骰子时,它也可以连续两次落在同一个数字上!

【讨论】:

    【解决方案2】:

    通常,我们不会说一个特定的序列是随机的。相反,我们讨论的是随机分布(许多可能的序列及其概率)。

    当您掷硬币时,它可能正面朝上或反面朝上。正面不是随机的,反面也不是随机的。这是随机掷硬币的行为。

    可以从许多不同的分布中抽取(或采样)随机序列。当我们选择一个分布时,我们经常试图对一些物理过程进行建模。例如,如果我们要按顺序对几个掷骰子进行建模,那么我们可能会绘制从 1 到 6 的几个整数。由于我们正在建模的掷骰子可能有重复,那么我们的绘制可能会有重复。序列 [1, 1, 1] 的出现概率与 [2, 5, 3] 相同。每种可能性具有相等概率的分布称为均匀分布。

    如果我们想模拟洗牌,那么就不能有重复。当一副纸牌被洗牌时,每张牌只有一个位置;它不能重复。在这种情况下,序列 [1, 1, 1] 不会出现。洗牌的分布也是均匀的(每种可能性都有相等的概率),但它不会包含重复的序列。

    用于从随机分布中选择序列的计算方法因分布而异。要从一个重复的生成器创建一个不重复的序列,我们可以简单地从生成器中收集一个样本,测试它是否是重复的,如果是重复的,则丢弃它并重试。这可行,但有更有效的方法来计算此类序列。

    还有概率不等的分布,这种情况发生在诸如求一个分布的多个样本的平均值或客户到达时间的样本中。

    【讨论】:

      【解决方案3】:

      随机数确实包含重复序列。你的直觉在这里不正确是非常合理的,因为区分真正随机序列和人类试图生成明显随机序列的最佳方法之一是人类生成的序列中重复的次数更少。

      随机生成的数字的另一个重要属性是下一个数字出现的概率理想情况下应该与之前观察到的数字无关。例如,将 99 个硬币正面朝上,尽管这不太可能,但不会影响第 100 个硬币正面朝上的几率。不过,您可能有一个很好的例子,即您的硬币实际上并不平衡......

      编辑: 为了回答这里提出的关于确定一系列数字是否随机的问题,我将感兴趣的读者定向到关于统计随机性的维基百科文章:http://en.wikipedia.org/wiki/Statistical_randomness

      一串数字(以及这些数字的生成器)的成功或失败通常通过一系列随机测试来衡量。例如,如果您看到一大组数字的一位数过多,您会合理地得出结论,数字的分布不均匀。同样,如果您只计算随机数列表中 0 之后发生的所有数字,您应该期望这些也是均匀分布。您还希望您的发行版中也有一定数量的两位数(“00”或“11”)。这些测试的数量是无限的,您可以在一系列数字上抛出,并且可能它失败的测试越少(与具有相同测试的另一个随机源相比)它所做的工作“更好”近似于一个随机数顺序。

      根据机器的状态确定随机数生成器的输出或使其可靠地根据输入产生输出的能力不会使其或多或少随机。只有输出的随机性很重要。然而,在随机性应用中,攻击者确定随机数通常是什么的能力对应用来说是极其不利的。 (尤其是密码学和赌博应用。)

      【讨论】:

      • 最近我正在研究算法 4 纯随机数生成,因为我们知道每种编程语言(c、java ..)都提供函数 2 生成随机数,但它们都是伪随机数,2 天我创建了一个函数,它将我的 RAM 的 d 个空闲字节作为整数返回。由于 d 数量 f 使用的内存在运行系统中有所不同,我想它会给我随机数。我检查了该函数生成的 100 多个数字在计时器下运行,并且数字被重复的次数非常少,假设它能够提供纯随机数,我可以对我的函数感到满意吗?你说什么?
      • 我在回答这个问题时添加了更多细节。如果你机器上的空闲 RAM 是均匀分布的,我会非常惊讶——比如说,如果你使用这个数字 mod 8,我可能会发现它越来越可信。然而,如上所述,在某些随机性应用中,让攻击者如此简单地控制您机器中的随机性来源是很危险的,并且可能会导致意想不到的行为。(我认为 UNIX 和 Windows 可能会按顺序聚合许多这样的随机性来源播种他们的随机数生成器。)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 1970-01-01
      • 2018-04-26
      相关资源
      最近更新 更多