粗心的洗碗工
一家餐馆有五名洗碗工. 这个月他们打碎了五个盘子, 其中四个都是小明打碎的. 于是餐馆的老板便想辞退他, 但小明辩解这只是运气不好, 它可能发生在任何一个人身上.
老板的分析
老板决定用数学知识来分析. 首先, 他想计算出同一个洗碗工至少打碎四个盘子的概率. 如果这个概率很小, 那么这就是一个小概率事件, 应该立即辞退他. 为了计算的准确性, 老板还决定用蒙特卡罗方法来估计这个概率.
计算与模拟
我们可以把个盘子分配给五位洗碗工, 每个盘子都可以由五人中的任何一人打碎, 因此一共有种情况数. 小明打碎个盘子的情况数为组合数种. 小明打碎个盘子时, 剩下一个盘子只能是其他四人中的一人打碎的, 故有种分配方式, 因此打碎个盘子的所有可能情况数为种. 因此, 小明至少打碎四个盘子的概率为
为了确保计算的准确性, 老板还用下面的代码模拟:
import random
t=0
for i in range(1000000):
broken_dishes=0
for j in range(5):
r=random. random()
if r<0. 2:
broken_dishes+=1
if broken_dishes>3:
t+=1
print(t/1000000)
由于模拟结果与计算一致, 于是老板决定辞退小明.
内容来源:橘子数学(原文链接)