蒙提霍尔问题(Monty Hall Problem)是一道关于博弈论的数学问题,通常也被称作山羊问题或三门问题。它出自一档由蒙提·霍尔(Monty Hall)主持的电视节目 Let’s Make a Deal,题目的描述如下。
假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车,其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有什么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:“你想选择二号门吗?”转换你的选择对你来说是一种优势吗?
蒙提·霍尔问题
对于这类问题最直观的解答是直接列出所有可能的情况(下图)。不失一般性地,假设 1 号门后面的奖品是“车”,2 号门后面的奖品是“羊 A”,3 号门后面的奖品是“羊 B”。
蒙提·霍尔问题(解答)
在进行第一次选择时,参赛者共有三种可能:
- 选择 1 号门;
- 选择 2 号门;
- 选择 3 号门。
在进行第二次选择时,参赛者可能出现的情况如下:
- 假设第一次选择了 1 号门,此时更换后不中奖;
- 假设第一次选择了 2 号门,此时更换后中奖;
- 假设第一次选择了 3 号门,此时更换后中奖;
因此,综合两次选择的结果来看,中奖的概率由之前的$\frac{1}{3}$变为了$\frac{2}{3}$。
整个问题在一开始接触时会显得比较反直觉,但如果仔细分析一下倒也不显得那么困难了。下面,我们将这个问题进一步形式化,来看看推广到一般情况后的情形。
现有$N$扇门,每扇门后面对应了一辆汽车或一头山羊(共有$1$辆汽车和$N-1$头山羊)。假设选手第$i$轮选择的门编号为$c_i$,主持人公布的山羊所在的门编号为$g_i$,求选手每次更换、不更换的中奖概率。
对于这个问题,我们首先考虑第$i$轮选择时剩余未公布结果的门数,记作$d_i$。主持人每轮公布 1 扇门的结果,我们有$d_i=N-i+1$。假设选手第$i-1$轮选择了山羊对应的门,则有$\frac{1}{d_i}$的概率在更换选择后中奖;假设选手第$i-1$轮选择了汽车对应的门,则在更换选择后不中奖。
假设选手第$i$轮不中奖的概率为$p_i^g$,中奖的概率为$p_i^c$,有:
$$p_i^c=p_{i-1}^g\cdot\frac{1}{d_i - 1},\quad\quad p_i^g=p_{i-1}^g\cdot\frac{d_i-2}{d_i - 1}+p_{i-1}^a$$
通过递推,即可完成对所有情况的求解,具体过程留给读者。
蒙提·霍尔问题(仿真)
上图给出了有 1024 扇门时,每一次改变选择后,对应的中奖概率。从结果来看,每当外界环境发生变化时,我们应该从容应对,主动拥抱和把握人生浪潮中的变化,这样才能取得更大的成就。既然是这样,那为什么会有那么多的古圣先贤告诫我们“以不变应万变”呢?实际上,上述结论过于武断,在蒙提·霍尔问题中,每次改变选择后中奖概率上升的前提是:__每次改变都排除了错误的答案。__然而,在人生的道路上我们如何立足当下去判断每一次变化的好坏呢?或许,我们可以借助康德的“判断力”;又或许,我们可以依靠实践去检验它。归根结底,不能“本本主义”的错误,要具体问题具体分析。
附上仿真的 MATLAB 代码:
totalChoices = 1024;
possCar = zeros(1, totalChoices - 1);
possGoat = zeros(1, totalChoices - 1);
possCar(1) = 1 / totalChoices;
possGoat(1) = 1 - 1 / totalChoices;
for i = 2 : totalChoices - 1
totalDoors = totalChoices - i + 1;
possCar(i) = possGoat(i - 1) * 1 / (totalDoors - 1);
possGoat(i) = possGoat(i - 1) * (1 - 1 / (totalDoors - 1)) + possCar(i - 1);
end