蒙提霍尔问题(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
0