图片由作者使用 DALL-E 3 提供。
问:平均来说,需要掷骰子多少次才能得到 6?
此问题的关键是贝努力实验的无限次尝试入手.通过二项式实验中的得得到次数的极限。这是一个传统思路,然而下文中的求解方式更加精彩。
我们可以使用几何分布来模拟第一次成功之前的失败次数,因为实验可以进行无限次尝试直到成功。几何分布的假设是:
可以证明,获得第一次成功的独立试验次数的预期值为1/p。
要证明这一点很简单。第一次试验成功的概率是p乘以1,剩余试验次数的成功概率是(1–p)乘以1 + 平均试验次数(额外 1 来解释第一次失败)。由于独立性假设,试验的平均次数不会改变。令平均试验次数为E[X]。然后我们有:
E[X] = p * 1 + (1 — p) * (1 + E[X])
求解这个方程,我们得到E[X] = 1/p。在我们的例子中,p是得到 6 的概率,即1/6,并且E[X] = 1/p = 6。
因此,获得 6 所需的平均试验次数为 6。
import numpy as np
n_simulations = 10000
n_first_success = 0
for _ in range(n_simulations):
success = False
count = 0
while not success:
count += 1
roll = np.random.randint(1,7)
if roll == 6:
success = True
n_first_success += count
print(f'Average no. of trials needed to get a 6 = {round(n_first_success/n_simulations)}')
# Outputs:
# Average no. of trials needed to get a 6 = 6
这就是这个 d️ie 问题的全部内容。欢迎任何反馈或问题!该代码可以在我的Github上找到。请继续关注本系列的下一部分!:)