使用代码的方式从结果角度推论三门悖论

188 阅读2分钟

三门悖论又称蒙提霍尔悖论,出自北美的一档电视游戏节目。游戏规则是在三道门里选择有车的那道门。你选择一道门后,主持人会在剩余的两道门里打开一道错误门,也就是说在车就在你选的那道门剩余的那道门后。此时主持人会再给你一次选门的机会,你可以在已选的门剩余的门中再做一次选择。

由此就引发了一个很有意思的讨论,是保持本心不做改变,还是选择被主持人排除错误答案后剩余的那道门。很多人觉得无所谓重新选不选,因为场上只剩余两道门,选哪个都是 50% 的概率。而在今天我们可以用代码模拟出这个概率。

从结果看选择剩余的那道门才是最好的选择,模拟 1000次 后赢的概率在 66% 左右。这是很违反直觉也就是 50% 的概率的一个答案,那么问题出在哪里?

事实上我们的直觉没有问题,只是两个概率的计算方式不同。如果随机选择情况下,概率的确是 50% ,场上只有两道门,非 AB。但 50% 要达成的条件是你做 1000次 选择,最起码要选 A门 400多次,而不能同一个门选 1000次 或者过分偏离 50% 这个阈值。

但如果你打定主意了,我就选 A门,再让我选 1000次 我都选 A门,那这个时候概率的计算方式就是选 1000次A门 后有多大的概率选中车。最开始从三道门任选一门赢的概率是 1/3,那剩余的两道门有车的概率就是 2/3 ,而剩余两道门中必然有一道错误门,这道门打不打开都不影响 2/3 的概率,也就是说选择剩余的那道门,实际上选的是两道门,即选择了概率 2/3

总结

三门悖论告诉我们在多次的选择中可以逐渐得到一个参考概率,而这个概率可以帮助我们在只有一次的选择里做出那个最好的选择。