这是个很出名的问题:
假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有什么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:
“你想选择二号门吗?”
转换你的选择对你来说是一种优势吗?
从直觉上来看,几乎所有人都会觉得最后都是 $1/2$ 的概率,没有区别,实则不然。
正好我们数学学到全概率和贝叶斯那块的时候,我们数学老师出的这个问题,用全概率和贝叶斯来解答。
用概率解决问题
- 设事件 A = 汽车在 1 号门,事件 B = 汽车在 2 号门,事件 C = 汽车在 3 号门,则:
$$ P(A)=P(B)=P(C)=\frac{1}{3} $$
-
设事件 D = 主持人打开了 2 号门。
-
事件 D 的全概率:
$$ P(D)=P(D|A)P(A)+P(D|B)P(B)+P(D|C)P(C) $$
$$ =\frac{1}{2}\cdot\frac{1}{3}+0+\frac{1}{3} =\frac{1}{2} $$
- 贝叶斯:
$$ P(A|D)=\frac{P(D|A)P(A)}{P(D)} =\frac{1}{3} $$
$$ P(C|D)=\frac{P(D|C)P(C)}{P(D)} =\frac{2}{3} $$
- 结论:
- 不换:$1/3$ 概率
- 换:$2/3$ 概率
用频率估计概率
虽然用全概率和贝叶斯推导出了换门的概率更大,但感觉还是有些反常识。
接下来模拟 1000 次来看一下实际情况,用频率来估计概率。
用 Python 编写一个小程序:
第一步:定义 values=[0,0,1]
第二步:随机在三个门中选择一个作为初始选择。
第三步:主持人打开剩余门中的一个山羊门。
第四步:记录坚持选择和转换选择的结果。
第五步:重复 1000 次,然后计算两种策略的胜率。
|
|
输出结果:
| 选择策略 | 命中概率 (理论值) | 模拟命中次数 (n=1000) | 实际概率 |
|---|---|---|---|
| 坚持初始选择 (Q) | $1/3 \approx 33.3%$ | 317 | 31.7 % |
| 转换选择 (V) | $2/3 \approx 66.7%$ | 683 | 68.3 % |
为什么会有直觉上的错误
我们主要忽视了一点:
主持人并不是随机开门,而是知道答案后主动排除错误选项。
当你选定一扇门后,你手里的概率只有:
$$ \frac{1}{3} $$
而剩余两扇门整体拥有:
$$ \frac{2}{3} $$
的概率。
主持人帮你剔除掉剩下的门中那个错误的,相当于把原本属于剩余两扇门的 $2/3$ 概率集中到了最后那一扇门上。
所以,换门本质上是:
用自己手里的 $1/3$,换取剩余区域中的 $2/3$。
这个其实很不好理解,大部分网上博主也是这种讲述方法。
相比之下,用贝叶斯公式进行计算,会更加严谨。
翻车现场
这个问题毕竟只是概率问题。
当模拟次数少的时候,结果有时候很难体现理论概率。
我们数学老师还做了一个现场版的演示:
他事先准备了三个小盒子,里面分别装着 1 毛硬币、1 毛硬币、5 毛硬币。
然后我们选择一个盒子,再决定是否交换。
结果最后没有换,反而中奖了……
这也说明了:
概率描述的是长期规律,而一次实验的结果仍然具有随机性。