当前位置: 首页>移动开发>正文

Python代码解决蒙蒂霍尔问题 蒙蒂霍尔游戏

蒙蒂.霍尔问题

    源自博弈论的数学游戏问题:

从前有一个人获得了一个猜奖的机会,他的面前有三扇门,分别是A、B、C门,其中一扇门后面藏有奖品,另外两扇门后面没有奖品。猜奖人是不知道哪扇门后面有奖品的,但是主持人知道哪扇门后面有奖品。猜奖人首先选择了A门,主持人没有立即打开A门,而是打开了B门,让猜奖人看到B门后面是没有奖品的。这时,主持人要给猜奖人一个重新选择的机会,说:“你是选择A门不变呢,还是改为选择C门呢?”,于是,问题出来了:如果你是猜奖人,你是选择A呢还是改选C呢?为什么?

    各种证明:

    1. 当参赛者转向另一扇门而不是继续维持原先的选择时,赢得汽车的机会将会加倍。有三种可能的情况,全部都有相等的可能性(1/3):

参赛者挑山羊一号,主持人挑山羊二号。转换将赢得汽车。

参赛者挑山羊二号,主持人挑山羊一号。转换将赢得汽车。

参赛者挑汽车,主持人挑两头山羊的任何一头。转换将失败。

在头两种情况,参赛者可以透过转换选择而赢得汽车。第三种情况是唯一一种参赛者透过保持原来选择而赢的情况。因为三种情况中有两种是透过转换选择而赢的,所以透过转换选择而赢的概率是2/3。

    2. 参赛者挑选了一个门(A)之后,这个门后是汽车的概率为1/3,剩下两个门(B和C)作为一个整体的话概率为2/3。 而主持人打开剩下两个门当中一个有山羊的门(B)后,则剩下两个门(B和C)的概率仅仅由那个没打开的门(C)独自承担,因此那个门(C)的概率为2/3.

3. 这个问题的计算需要利用条件概率的知识——设A,B是两个事件,且P(B)>0,那么称P(A∣B)=P(A∩B)/P(B)为在事件B发生的条件下事件A发生的条件概率。

先算A门中奖的概率:

设事件A为{A门中奖},B为{B门不中奖},则P(A)=1\3,P(B)=2\3。游戏者选择了A 号门,B 号门后面是山羊,则A门中奖的条件概率P(A∣B)=P(A∩B)/P(B)=P(A)*P(B)/P(B)=1/3.

所以该条件下A门中奖的概率为1/3。

再算C门中奖的概率:

设事件A为{BC门后有奖},B为{B门不中奖},则P(A)=2\3,P(B)=2\3。游戏者选择了A 号门,B 号门后面是山羊,则BC门后有奖的条件概率P(A∣B)=P(A∩B)/P(B)=P(A)*P(B)/P(B)=2/3,又因为B 号门后面是山羊

所以C门中奖的概率=BC门后有奖的条件概率=2/3.

可见改选C门中奖的概率更高,应该改选C。

摘自百度百科-蒙蒂.霍尔问题

另外一个类似的的问题来源于云风的Blog《概率问题》

       大意:别人帮我订盒饭,我不知道是什么饭,只好等别人拿过之后再去拿。最后剩下4盒,3盒牛肉,1盒香菇。按目前的情况分析,我订得饭是牛肉饭的概率为75%。于是我拿了一盒牛肉饭,这时候又来了两个同事,他们都订的是牛肉饭……于是只剩下一个香菇饭和我手里的牛肉饭,我应该放下牛肉饭拿香菇反呢?还是就拿牛肉饭?


https://www.xamrdz.com/mobile/4s31937322.html

相关文章: