蒙特霍尔问题:转不过来弯的概率

来源:互联网 发布:windows.old 编辑:程序博客网 时间:2024/04/30 13:08

蒙特霍尔问题是一个源自博弈论的数学游戏问题,大致出自的电视游戏节目“Let's Make a Deal”。问题的名字来自该节目的朱出任蒙特·霍尔(Monty Hall)。 这个游戏的玩法是:参赛者会看见三扇关闭了的门,其中一扇的后面有一辆车。随后参赛者随便选一个门,主持人会开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。这是问题来了,参赛者应不应该换?


这个问题给人最直观的感觉是不用换,因为开的门里面不是车,车肯定在1或2里面,当然每个门里面有车的概率是50%。但是这个问题的答案是应该换,而且换完之后的有车的概率是高达2/3!


这个结果确实有些不可思议,我们先用程序验证下它的正确性。

代码清单:

[java] view plaincopyprint?
  1. import java.util.Random;  
  2.   
  3.   
  4. public class MengTeHuoEr {  
  5.   
  6.     public static void main(String[] args) {  
  7.           
  8.         boolean[] a = new boolean[3];//三个门  
  9.         Random random = new Random();  
  10.         int N = 10000;  
  11.         int count = 0;  
  12.           
  13.         for(int i = 0; i < N; i++){//循环做N次测试  
  14.               
  15.             for(int j = 0; j < 3; j++)  
  16.                 a[j] = false;  
  17.             int indexOfCar = random.nextInt(3);//随机生成汽车位置  
  18.             a[indexOfCar] = true;  
  19.               
  20.             int indexOfChoose = random.nextInt(3);//随机选择一个门  
  21.               
  22.             int indexOfOpen;//主持人打开的门  
  23.             for(indexOfOpen = 0; indexOfOpen < 3; indexOfOpen++){  
  24.                 if(indexOfOpen != indexOfCar && indexOfOpen != indexOfChoose)  
  25.                     break;  
  26.             }  
  27.             int indexOfChange;//待交换的门  
  28.             for(indexOfChange = 0; indexOfChange < 3; indexOfChange++){  
  29.                 if(indexOfChange != indexOfOpen && indexOfChange != indexOfChoose)  
  30.                     break;  
  31.             }  
  32.             indexOfChoose = indexOfChange;  
  33.             if(a[indexOfChoose] == true)  
  34.                 count++;  
  35.         }  
  36.         System.out.println(count*1.0/N);  
  37.           
  38.     }  
  39.   
  40. }  

输出结果:0.6633 (等于2/3)


问题出在哪里?根本原因在于如果参赛者还没有作出选择时,主持人先打开一个不是车的门,再由参赛者选择,因而意见每个门有车的概率是1/2, 而当参赛者选择一个门后,有车的概率是1/3,而当主持人打开一个不是车的门后,参赛者选的门有车的概率仍是1/3!为什么?因为在参赛者没选的两扇门中肯定至少有一辆中有羊,然后主持人打开它,所以这两扇门作为一个整体时有车的概率是2/3,当打开一个不是车的门,那么这么门有车的概率变为了0,而另一个门的概率当然是2/3了。


最后我们用严格的概率论来证明下:


证明:

设:

事件O1为参赛者不改变门最终获得车。

事件O2为参赛者改变了门最终获得车。

事件M1为参赛者开始选择的门有车。

事件M2为参赛者开始选择的门没有车。

事件M3为待交换的门有车。


因为M1,M2是互相完全独立事件,则P(M1) = 1/3, P(M2) = 2/3;

若不改变门:P(O1) = P(M1) = 1/3;

若改变门:P(M3/M1) = 0, P(M3/M2) = 1

所以由全概率公式得:P(O2) = P(M1) * P(M3/M1) + P(M2) * P(M3/M2) = 1/3 * 0 + 2/3 * 1 = 2/3.

证毕。



==================================================================================================

  作者:nash_  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址http://blog.csdn.net/nash_/article/details/8485118

===================================================================================================

0 0
原创粉丝点击