0

如果一个程序被编码为模拟硬币翻转,当观察结果时,有 50% 的硬币落在正面或反面,你们认为会是什么结果?主要是当前 10 次抛硬币是反面时,抛硬币正面朝上的百分比会更高,反之亦然?

4

5 回答 5

2

这实际上取决于用于生成随机数的机制。例如,如果使用线性同余生成器......

...那么显然任何给定的生成数字都取决于前面的数字。输出的质量还取决于与机制一起使用的参数(例如,如果在上述方法中为“m”使用了一个小值,那么质量会很差......或者如果你的种子值是高度可预测的)。

尽管计算机仅生成伪随机数,但某些算法满足统计随机性测试(即没有可辨别的模式)并且可以安全使用。

如果您担心生成的数字的随机性,您应该查看在您的特定上下文中用于生成它们的实际方法。有关更多信息,请查看Wikipedia

于 2012-01-04T20:05:14.777 回答
1

如果您正确编程,无论之前的翻转如何,落在硬币两侧的机会应该相等(50%)......

于 2012-01-04T19:50:45.730 回答
1

在任何给定的抛掷中,正面/反面的概率始终为 50%。连续出现 x 个正面(或任何指定的正面/反面组合)的概率是 0.5^x(因为每次抛掷都独立于其他抛掷)。

于 2012-01-04T19:53:14.730 回答
1

我对您的理解是正确的,您是在问如果编写程序以使每个选项有 50% 的机会,是否会有更多的“正面”结果或“反面”结果?

从统计上讲,如果您多次运行该程序,每一面都会取平均值,并且您将获得相同数量的正面和反面结果。(根据您选择的语言,您可能需要为随机发生器播种以保证真正的随机性。)

于 2012-01-04T19:53:18.567 回答
1

我想这取决于伪随机数生成器的好坏。只有十次翻转,结果可能毫无意义......但是如果你有一个很好的算法来生成伪随机数,并且你用n 尝试扩展这个实验,其中“n”非常大,概率仍然保持 0.5 (50%)。这是因为统计没有记忆

于 2012-01-04T19:55:29.673 回答