代码之家  ›  专栏  ›  技术社区  ›  Indeed is Trash

随机数

  •  3
  • Indeed is Trash  · 技术社区  · 17 年前

    一边想着 this 通过提问和与参与者交谈,他们想到了将一组有限的明显有偏差的随机数混合在一起会使它们变得随机,因为你不知道它们被选择的顺序。这是真的吗?如果是,有人能指出一些资源吗?

    7 回复  |  直到 6 年前
        1
  •  8
  •   David Schmitt    17 年前

    错误的

    有一个简单的测试:假设原始集合创建算法中的偏差为“创建算术平均值明显低于预期平均值的集合”。显然,对算法的结果进行洗牌不会改变平均值,因此也不会消除偏差。

        2
  •  3
  •   Community Mohan Dere    9 年前

    它是 不正确 . 在 other question 问题是在[1..9]中选择30个随机数,总和为200。在平均随机选择20个之后,你达到了一个点,你不能再选择9,因为这会使总数超过200。在剩下的10个数字中,大多数是1和2。因此,最终,1和2在所选数字中的比例过高。洗牌并不能改变这一点。但不清楚随机分布到底应该是什么样子,所以可以说这是一个很好的解决方案。

    一般来说 ,如果您的“随机”数字将偏向于,比如说,低数字,那么无论顺序如何,它们都将偏向于这种方式。

        3
  •  0
  •   Noldorin    17 年前

        4
  •  0
  •   E.J. Brennan    17 年前

    我认为这是错误的,但有一个警告:

    我认为是随机的,然后是“足够随机”。对于我需要处理的大多数应用程序来说,“足够随机”已经足够了,也就是说,从300多个付费放置在该网站上的列表中选择一个“随机”广告显示在页面上。

    我相信数学家可以证明我最基本的“随机”选择标准根本不是真正的随机,但事实上是可以预测的——对于我的客户和用户来说,没有人在乎。

    另一方面,如果我正在写一个在拉斯维加斯使用的视频游戏,那里有大量的钱在手,我会用不同的定义随机(并且可能很难想出真正的随机)。

        5
  •  0
  •   Yuval Adam    17 年前

    错误的

    该集合是有限的,假设由 n 数字。如果你选择的话会发生什么 n+1 [0,1) . 但是,该数字仅限于小数点后的三位数字,即1000个可能的数字( 0.000 - 0.999 随机性 这已经足够了。

    但是,对于某些用途,您需要一个比此更好的随机生成器。所以,这一切都归结为你需要多少随机数,以及你需要它们的随机性。


    阅读原问题后的补充 N )你不是真正的随机数 本质上 ,而不是在 随机顺序 从一个给定的集合(具体地说,是一个数的排列组合,求和为 ).


    添加到编辑: 假设您的坏数生成器生成了该序列 (1,1,1,2,2,2) (1,2,2,1,1,2) 随机的 ?
        6
  •  0
  •   grunties grunties    17 年前

    完全不真实

    target = 200
    numberofnumbers = 30
    numbers = array();
    for (i=0; i<numberofnumbers; i++)
      numbers[i] = 9
    while (sum(numbers)>target)
      numbers[random(numberofnumbers)]--
    
        7
  •  0
  •   Jens    14 年前

    错误的 令人不快的 :-)再多的零序也不会改变 该序列的属性。

    推荐文章