【问题标题】:Working of rand() and mt_rand() functions in phprand() 和 mt_rand() 函数在 php 中的工作
【发布时间】:2015-08-31 09:19:30
【问题描述】:

随机数生成函数基于伪随机数生成器 (PRNG) 算法工作。根据该算法,从随机数中选择的每个值在输出中将具有相等的频率

我想知道为什么在对少量计数进行测试时情况并非如此。假设我运行一个循环来打印 rand(1,2) 十次,我发现 1 和 2 的出现频率不相等。

等频点是否只有在测试非常大的计数值时才成立

【问题讨论】:

  • 尝试掷硬币并数正面和反面。每次翻转都是一个独特的事件,不受先前事件的影响。
  • 那个,我明白,但是 PRNG 算法确实声明了等频率。为什么这不适用于小规模测试?

标签: php algorithm random frequency


【解决方案1】:

我相信你会发现他们所说的是每个数字都有相等的概率,不相等的频率。换句话说,这是一个“不-加权概率分布。”

考虑“十次掷硬币”。如果前五次翻转是正面,那么剩下的五次必须是反面。 (并且 PRNG 必须以某种方式知道您打算翻转“十”次。)这个结果将不再是随机的,而是预先确定的。

正如每个赌徒都知道的那样,公平骰子有 1/6 的概率落在 6 上(或任何其他数字上...)这一事实并不能决定 会出现什么面.

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 2015-04-29
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 2012-11-07
    相关资源
    最近更新 更多