羊车门问题(又名三门问题、蒙提霍尔悖论):

 

有3扇关闭的门,一扇门后停着汽车,另外两扇门后是山羊,主持人知道每扇门后是什么。参赛者首先选择一扇门。在开启它之前,主持人会从另外两扇门中打开一扇门,露出门后的山羊(也就是说主持人只能开羊门)。此时,允许参赛者更换自己的选择。问换还是不换,概率为多少。

解题

难点:我们的直觉倾向于第一轮开出车的概率为⅓,第二轮变两扇门开出车的概率为½。但这样思考是错误的。门与门之间的概率占比并不是一样的,就像灌了铅的骰子,并不是6面均分。这涉及“选门”与“选定一个门后换门”间的差异。

他们说扩大门数样本就能看出很多东西。有100扇门,你选择1扇门,剩余99扇门中主持人可以开98扇,问换还是不换。

设门1、2、3。当你选中门1后,开出车的概率为⅓,另外两扇门是⅔。然后主持只能开出羊。当车在门2,主持开门3。当车在门3,主持开门2。所以如果你改选的话,只要奖品在门2或门3后两种情况你都会赢。但是如果你不改选,只有当奖品在门1后你才会赢。

当你选定门1时,门1就没有参与了主持的淘汰错误答案的过程,所以它的概率与门2、门3的概率是不一样了。也就是说,门1免除了一次筛选,而门2或3已经通过了一次筛选,可能性已经变大了。直观上看门1与门2、门3一样,是因为忽略了这个淘汰过程。而这个淘汰过程是缩小了选择范围。

最简单的办法是画面积图,如图所示(帘=门帘)。

ec90095479ae4a9a884c5c452b57c1c9.png

三、python代码

import random
change=0
notchange=0
count=eval(input("请输入实验次数:"))
for i in range(count):
    car=random.randint(0,2)
    goat=random.randint(0,2)
    if(car==goat):
        change+=1
    else:
        notchange+=1
print("不换门得到汽车的机会:{:.1f}".format(change/time))
print("换门得到汽车的机会:{:.1f}".format(notchange/time))


 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐