这是个很出名的问题:
假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有什么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:“你想选择二号门吗?”转换你的选择对你来说是一种优势吗?
从直觉上来看,几乎所有人都会觉得最后都是1/2的概率,没有区别,实则不然。
正好我们数学学到全概率和贝叶斯那块的时候,我们数学老师出的这个问题,用全概率和贝叶斯来解答。
用概率解决问题
1.设事件A=汽车在1号门,事件B=汽车在2号门,事件C=汽车在3号门,则P(A)=P(B)=P(C)=1/3。
2.设事件D=主持人打开了2号门
3.事件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}$$4.贝叶斯:
$$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}$$5.结论:不换:1/3概率;换:2/3概率。
用频率估计概率
虽然用全概率和贝叶斯推导出了换的概率更大,但感觉还是有些反常识,那接下来模拟1000次来看一下实际情况,用频率来估计概率。
用Python编写一个小程序:
第一步:定义dictionary, value=[0, 0, 1] 第二步:随机在dictionary中选择1个元素标记为Q 第三步:在dictionary中找到没有标记为Q的元素,然后找出value=0的元素标记为N,剩余那个容器标记为V 第四步:记录Q和V的赋值情况 第五步:进行重复化操作,重复1000次,然后算Q的赋值总和及V的赋值总和。
|
|
输出结果:
| 选择策略 | 命中概率 (理论值) | 模拟命中次数 (n=1000) | 实际概率 |
|---|---|---|---|
| 坚持初始选择 (Q) | $1/3 \approx 33.3$ % | 317 | 31.7 % |
| 转换选择 (V) | $2/3 \approx 66.7$ % | 683 | 68.3 % |
为什么会有直觉上的错误
我们主要忽视了一点:主持人并非随机开门,而是带着上帝视角排除干扰项。
当你选定一扇门后,1/3的概率在你手里,2/3的概率在剩下的两扇门里。
主持人帮你剔除掉剩下的门中那个错误的,相当于把你原本无法选择的2/3概率全部转移到了剩下的那一扇门上。
所以,换门本质上是用你手里的1/3换取了对面剩下的全部2/3。
这个其实很不好理解,大部分网上博主也是这种讲述方法,莫不如用贝叶斯好好算。
翻车现场
这个问题毕竟只是概率,当你模拟次数少的时候,有时很难体现。
我们数学老师还做了一个现场版的演示,它有事先准备的三个小盒子,里面分别装着1毛硬币,1毛硬币,5毛硬币,然后我们选的时候,换了,结果没换反而中了……
为啥这周更新这么勤:这周三(太阳节:金日成诞辰),我们学校接待朝鲜方面访问,所以不上课,改为周日上周三课,然后这周三实在太累了,就没更新,把两周更新内容都堆到这周了。