三门问题

实解三门问题,以及大样本测试范例。

最近一段日子“三门问题”在NGA上闹得很凶,原题是这样的:

参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门就可以赢得该汽车,而另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。

问题:换另一扇门会否增加参赛者赢得汽车的机会率

大家的分歧归纳起来就是“1/2党”和“1/3党”,我之前一直支持“1/2”,理由如下:

主持人的举动并没有改变参赛者选择的结果,这扇门里有就是有,没有就是没有,不会发生任何变化。于是选中的几率总是1/3,即使主持人告诉参赛者,他未选的某扇门里没有车,这个几率也不发生变化;同样,最后一扇门的几率也是永远1/3,于是开门后的几率就是1/2了。

我是如此的相信“1/2”,于是我认为一定是那些人想错了,我要用实证告诉他们问题出在哪里,于是我开始写代码,试图用大规模的样本来验证。

三门问题实证传送门>>>

但就在写程序时我发现了症结所在:主持人到底知不知道车在哪儿。如果他知道的话,那么换门之后赢得汽车的几率就会高达2/3;反之,则换与不换对结果没有影响。

我们假设三个门为A、B、C。参赛者选中A门,如果A门后面有汽车,那么不换就能赢得汽车,胜率1/3。如果A门后没有汽车,那么B和C一定一扇背后有汽车而另一扇没有,如果主持人“知道”汽车在哪儿,那么他只能打开没汽车的一扇门,于是剩下的那扇门里一定有汽车。而这种情况发生的几率是2/3,也就是说,如果参赛者选择改变初衷的话,会有2/3的几率赢得汽车。

回头还是把概率好好学学再。