蒙提霍尔问题:换一扇门,中奖率翻倍?
蒙提霍尔问题(Monty Hall problem,又称三门问题)是一个看似简单、却让绝大多数人第一反应出错,甚至让上万名读者和数学家争论多年的经典概率谜题。它来自美国电视游戏节目《Let’s Make a Deal》(一锤定音),以主持人蒙提·霍尔(Monty Hall)的名字命名。1990 年,专栏作家玛丽莲·沃斯·莎凡特(Marilyn vos Savant)在《Parade》杂志上给出了「应该换门」的答案,随即收到近万封读者来信,其中约九成都在质疑她——写信的人里不乏数学教授和博士。而问题的答案,其实从未改变过。

这到底是道什么样的题?为什么那么多聪明人会错?我们分五步来看:先弄清游戏规则和直觉陷阱,再用「数一数」的笨办法证明换门更好,接着揭示最关键的主持人假设,然后从贝叶斯视角理解信息如何改变概率,最后写一段代码用十万次实验说话。
游戏规则与直觉陷阱
先把规则说完整,任何省略都会改变答案。游戏是这样的:
- 三扇关闭的门后,分别藏着一辆汽车和两只羊,车的位置随机。
- 你先选择一扇门,但先不打开。
- 主持人知道每扇门后是什么,他从剩下两扇门中,打开一扇有羊的门。
- 此时你得到一个机会:坚持最初选的门,或者换到另一扇还没打开的门。
- 打开你最终选定的门,拿到汽车就算赢。
到了第 4 步,局面是:三扇门已开了一扇(后面是羊),还剩两扇关着,其中一扇有车、一扇有羊。绝大多数人的直觉在这里给出了判断:「剩下两扇门,一车一羊,不管换不换都是 50%。」
这个直觉错在哪里?错在它把两扇门当成了完全对称的两个选项。实际上,你最初选的那扇门是「随手一指」,而主持人留下的那扇门是「经过选择」的——主持人开门的动作不是随机的,它本身就在向你透露信息。换句话说,换门与不换门并不对称,它们的胜率分别是 2/3 和 1/3。
换门为什么更好
先给结论:换门的中奖率是 2/3,不换只有 1/3——不是直觉告诉你的 1/2。这个结论不用任何公式,把三种情形全部列出来就能看清。
你的初始选择一共有三种可能:选到车、选到羊 A、选到羊 B,每种可能各占 1/3。注意主持人的行为差异:如果你选到车,主持人可以随便开两扇羊门中的任意一扇;但如果你选到羊,主持人只能打开剩下那一扇羊门——他没有第二个选择。
| 初始选中的门 | 概率 | 不换的结果 | 换门的结果 |
| 车 | 1/3 | 中奖 | 落空(换到羊) |
| 羊 A | 1/3 | 落空 | 中奖(换到车) |
| 羊 B | 1/3 | 落空 | 中奖(换到车) |
这张表一列就清楚了:不换门,只有「初始选到车」这一种情况(1/3)能赢;换门,只要「初始选到羊」就必赢(2/3)。「换门」之所以赢面更大,本质上是把赌注从「第一次就猜中车」(1/3)转移到了「第一次猜错」(2/3)上——而主持人的动作恰好把错误选项帮你排除掉了。
用一个极端化的比喻更容易记住:如果主持人先让你从三扇门里选一扇,然后告诉你「剩下两扇门里至少有一扇是羊,我来帮你把羊开掉」——他其实是在帮你缩小范围,而真正藏车的概率,始终更可能在你没选的那一侧。
一切取决于主持人
三门问题的答案之所以反直觉,是因为它建立在一组非常具体的假设之上。主持人必须知道车的位置、总是开一扇羊门、总是给你换门的机会——三条缺一不可。任何一条被改动,答案都会变。
- 主持人知道车在哪。这是信息不对称的根源,也是换门策略能占便宜的前提。
- 主持人总是开一扇羊门。无论你选什么,他都开羊门,绝不开车。
- 主持人总是让你有机会换。他不会因为你选对了就取消换门选项。
假设被破坏会怎样?最经典的反例是:如果主持人自己也不知道车在哪,只是随机从剩下两扇门里开一扇——那么有 1/3 的概率他会直接把车开出来(游戏作废)。在游戏没作废的剩余情形里,换与不换的胜率都变成 1/2。你看,同一个游戏,只改主持人一个行为,答案就从 2/3 变成了 1/2。
| 主持人行为 | 不换的胜率 | 换门的胜率 |
| 总是开羊门并给换门机会(标准假设) | 1/3 | 2/3 |
| 随机开门,开到车则游戏作废 | 1/2 | 1/2 |
把门数放大:100 扇门版本
如果 2/3 还是不够直观,试试 100 扇门的版本:100 扇门后只有一辆车,你先选 1 扇(中奖率 1/100),主持人打开剩下的 98 扇羊门,只留 1 扇。这时候几乎所有人都愿意换——因为主持人「特意留下」的那扇门,有 99/100 的概率是车。三门问题只是这个规律在 3 扇门下的特例:换门胜率 = 1 – 1/门数。
信息如何改变概率
贝叶斯视角能把这背后的原理讲得更干净:概率不是一成不变的,它会随着新信息被更新。最初,车在三扇门后的概率各为 1/3,这就是「先验」。当你看到主持人打开一扇羊门时,你应该用这个新信息去更新「后验」。
设车在 1 号门(你选的)、2 号门、3 号门的先验概率都是 1/3。假设主持人打开了 3 号门,记这个事件为B 。根据主持人的规则:如果车在 1 号门,他随机开 2 号或 3 号,所以P(B|车在1号)=1/2;如果车在 2 号门,他只能开 3 号,所以P(B| 车在2号)=1;如果车在 3 号门,他绝不会开它,所以P(B| 车在3号)=0。
用贝叶斯公式 $(P(A | B) = \frac{P(B | A) P(A)}{P(B)}$计算后验:
$$P(\text{车在2号} | B) = \frac{1 \times 1/3}{1/2 \times 1/3 + 1 \times 1/3 + 0 \times 1/3} = \frac{1/3}{1/2} = \frac{2}{3}$$
用贝叶斯公式 计算后验:
计算结果是:主持人开门后,你选的 1 号门后验概率仍是 1/3,而另一扇 2 号门涨到了 2/3。主持人「特意跳过」的那扇门,携带了额外信息——他跳过它,恰恰说明车大概率在那里。这就像老师考前说「这次不考第 3 章」,这句看似无关的提醒,其实已经把复习重点转移到了别处。
注意:条件概率更新必须基于主持人的确定规则。规则不同, 就不同,后验也会随之改变——这正是第 3 节中「随机开门」版本答案变成 1/2 的原因。
用模拟说话
如果推导还是说服不了你,那就让计算机跑一遍。把游戏规则原样翻译成代码,重复十万次,用大数定律看胜率是否收敛到 2/3。下面这段 Python 代码模拟了完整的游戏:车随机放置、玩家随机选择、主持人开羊门,然后分别统计「不换」和「换门」两种策略的胜率。
import random
def play(switch: bool, trials: int = 100_000) -> float:
wins = 0
for _ in range(trials):
car = random.randint(0, 2) # 车所在的门
pick = random.randint(0, 2) # 玩家先选的门
if switch:
# 换门:只要最初选错就赢(主持人会帮你排除另一扇羊门)
wins += (pick != car)
else:
wins += (pick == car)
return wins / trials
print(f"不换门:{play(False):.1%}")
print(f"换门: {play(True):.1%}")
运行结果大致如下(每次随机种子不同,数值会有小幅波动):
不换门:33.4% 换门: 66.5%
十万次实验的结果与理论值 1/3 和 2/3 高度吻合。值得一提的是,当年匈牙利数学家保罗·埃尔德什(Paul Erdős)起初也不接受 2/3 的答案,正是看了蒙特卡洛模拟的数值结果后才转变了态度——连顶级数学家都会被直觉绊倒,普通人的第一反应出错就更不奇怪了。
结论
换门的中奖率是 2/3——当主持人「选择性」打开一扇羊门时,他其实在告诉你:剩下那扇门里藏着车的概率更高。这个问题的价值远超一道游戏题:它提醒我们,概率直觉在面对「信息不对称」时极不可靠,而正确的做法是永远问一句「这个动作背后的人知道什么、他的选择受什么规则约束」。
下次再遇到类似的概率判断,试试这三步:把全部情形列出来数一遍;检查有没有人掌握了你不掌握的信息;用模拟或小规模实验验证直觉。这套方法能帮你躲开大多数直觉陷阱——无论对方是一扇门,还是一份投资建议。
参考文献 / 扩展阅读
- Wikipedia:Monty Hall problem,https://en.wikipedia.org/wiki/Monty_Hall_problem
- Marilyn vos Savant 专栏(Parade,1990):Ask Marilyn 关于三门问题的问答(存档版),https://web.archive.org/web/20130121183432/http://marilynvossavant.com/game-show-problem/
- Wikipedia:Let’s Make a Deal(原节目介绍),https://en.wikipedia.org/wiki/Let%27s_Make_a_Deal





