« 《杜拉拉升职记》之经典语录美好的东西 »

关于“蒙蒂霍尔问题”(猜奖概率问题)的计算机模拟

        今天在《科学世界》2009年9月期杂志上看到了关于著名的“蒙蒂霍尔问题”的解释,自己想来想去觉得想不明白,于是自制程序验证。首先还是先说一下蒙蒂霍尔问题是个什么东西吧。

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

        这个问题中,有几个点需要注意作为前提:1、猜奖人与主持人不认识,防止主持人和猜奖人之间有性格问题影响判断。2、假设猜奖人完全从概率学上考虑这个问题,不掺杂个人情感。

        《科学世界》2009年9月期的第47页有对这个问题做解释,其解释内容摘录如下:

        “在主持人打开门B之前,选择门A中奖的概率为1/3,不中奖的概率为2/3。这就是说,选B或C的中奖概率为2/3。对以上分析大概不会有人提出疑义”(我提出异议,“选B或C的中奖概率为2/3”,这句话我不赞成,选A/B/C三个门中任意一个的中奖几率均为1/3,为何B或C的中奖概率为2/3呢?难道作者想表达的意思是“同时选B和C两扇门的时候中奖概率为2/3?”,那就不应该说“B或C”而应该说“B和C”)

        “关键在于猜奖人选择门A之后主持人打开了门B,并已经证明它后面没有奖品,这就附加了条件。原来是两扇门B和C共同具有2/3的中奖概率,现在已经排除了B中奖的可能性,这个概率就为门C所独有。因此,这时选择门C中奖的概率为2/3,比起门A的1/3概率,自然改变主意改选门C是明智的。”

        我对这里的解释也有一些意见,作者的逻辑是这样的:“选门A的中奖概率是1/3,同时选择两扇门B和C的中奖概率是2/3,当证明B后面没有奖品时,门C的中奖概率就独占了原来属于B和C共有的2/3概率”。

        如此说来,我是否可以提出下面的解释:“选门A的中奖概率是1/3没错,同时选择两扇门A和B的中奖概率是2/3也没错吧?那么选择C的中奖概率就是1/3了,当我选择了A门时,并不会影响同时选择A和B的中奖概率是2/3这个事实,于是主持人确定了门B后面没有奖品的时候,A就应该独占原来属于A和B共有的2/3概率,所以选择门A的中奖概率是2/3,选择门B的概率是1/3!”这岂不是自相矛盾?

        先离开上面的矛盾点,我们再来讨论另外一个方面的问题,我将在下面列举三种情况供大家来分析

        1、“如果猜奖人还没有选择,主持人就打开了门B,告诉大家B门里面没有奖品,那么选择门A与门C的中奖概率各是多少呢?”很明显,这时选择A或者选择B的中奖概率均为1/2

        2、“如果猜奖人在心里选择门A,并不说出来,然后主持人打开了门B,告诉大家门B里面没有奖品,那么选择门A与门C的中奖概率各是多少呢?”这个问题与上面那个问题的区别在于,猜奖人先在心里选择了门A,但没有说出来,那么当门B被证明没有奖品后,选择门A与门C的中奖概率各是多少这个问题,我想也应该是1/2吧?如果认为选A的中奖概率为1/3,选C的中奖概率为2/3,那么很明显,是猜奖人的心理活动对中奖几率产生了影响,这似乎有点不合乎常理吧?

        3、“如果猜奖人说了选门A,然后主持人打开了门B,告诉大家门B里面没有奖品,那么此时,再选择门A与门C的中奖概率各是多少呢?”这个问题与上面那个问题的区别在于,猜奖人不仅在心里做了选择,而且把选A这个事情说了出来,那么当门B被证明没有奖品后,选择门A与门C的中奖概率各是多少这个问题就正好是“蒙蒂霍尔问题”了,很明显,蒙蒂霍尔问题的解答者告诉我们,选门A的中奖概率是1/3,而选门C的中奖概率是2/3,结合上面两个情况,我们是否可以理解为“猜奖人说了一句话,从而影响了选择A或者选择B时的中奖概率?!

        好了,以上是本人的疑惑部分,不过肯定有不对的地方,呵呵,还请大家多多抛砖。

        下面说一下我对蒙蒂霍尔问题的理解:

        我们先不考虑几率的问题,要解释这个问题,首先我假设猜奖人会改变主意(当然假设他不会改变主意也一样可以得出正确结论),那么蒙蒂霍尔问题可以分为两种情况:

        1、当猜奖人刚开始选择的门为有奖的门时,主持人在下一步会打开一个没有奖的门,于是剩余的那个门肯定是没有奖的,猜奖人改变主意选剩下那个门的话,那么他就不能中奖!

        2、当猜奖人刚开始选择的门为没有奖的门时,主持人在下一步会打开一个没有奖的门,那么剩下的那个门一定就是有奖的,猜奖人改变主意选剩下那个门的话,那么他就中奖了!

        在整个事件中还有其他情况吗?没有了,猜奖人刚开始选择的门,要么是有奖的门(情况1),要么是没有奖的门(情况2)。我们可以做一个总结也就是:“在假设猜奖人最后会改变主意的情况下,如果猜奖人刚开始选择的门为有奖的门,那么他最终一定得不到将,如果猜奖人刚开始选择的门为没有奖的门,那么他最终一定是得奖的”,OK,有了这个总结,我们再来看几率的问题:“猜奖人刚开始选择的门维有奖的门的几率是多少?”毫无疑问,他刚开始随便选一个,能中奖的几率肯定是1/3,那么也就是说如果他最后改变了主意,他不能中奖的几率就是1/3,相反的,他在刚开始的时候选择的那个门是没有奖的几率就是2/3,那么他最后能中奖的几率就是2/3!这就是为什么在最后一步改变主意选门C时,中奖的几率是2/3的原因!

        下面附上自己写的一个小程序,可以最多模拟50万次蒙蒂霍尔问题,大家可以自己试一下看看几率哦,呵呵。

        程序是这样做的:
        1、首先定义三扇门A,B,C,系统随机在其中一扇门后面放奖品
        2、系统模拟猜奖人,随机在A,B,C三扇门中抽取一扇门作为猜奖人刚开始选择的门
        3、系统模拟主持人,在剩下的两扇门中,将没有奖品那一扇打开
        4、系统再次模拟猜奖人改变主意的状态,将最终选择的门设定为最后那一扇门
        5、检查此次猜奖人是否中奖,并做下记录
        6、模拟这个过程指定的次数,统计猜奖人最终的中奖率

        点击这里下载200908230244083575.rar实验模拟器,需要.NET运行环境3.5

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

Search

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80710

Copyright 2008 世界的角落. All Rights Reserved.如有涉及侵犯您权益的情况,请和我联系!粤ICP备10082448号