Monty 大厅问题(Monty Hall Problem)也称作三门问题,出自美国大型游戏节目 Let's Make a Deal。

Monty 大厅的问题陈述十分简单,但是它的答案看上去却是有悖常理。该问题不仅引起过很多争议,也经常出现在各种考试题中。

 

Monty 大厅的游戏规则是这样的,如果你来参加这个节目,那么

(1)Monty 想你示意三个关闭的大门,然后告诉你每个门后面都有一个奖品,其中有一个门后面的奖品是一辆车,另外两个门后面则是不值钱的奖品,例如指甲剪之类的东西。奖品是随机放在三个门后面的;

(2)该游戏的目的是猜中哪个门后面有车,一旦猜中,你就可以拿走汽车;

(3)你先挑选一个门,不妨假设为门 A,其他两个门称为门 B 和 门 C;

(4)再打开你选中的门之前,Monty 会先打开 B 或者 C 中一个没有车的门来增加悬念(如果汽车在门 A 后面,那么 Monty 打开门 B 或者门 C 都是安全的,所以他可以随意选择一个;如果汽车在门 B 后面,那么 Monty 只能够选择门 C)

(5)然后 Monty 给你一个选择,坚持最初的选择还是换到另外一个没有打开的门?

 

此刻,问题已经抛出来了,是坚持初心还是临时改变?两者之间有没有什么区别?

 

 

使用java 代码测试:

 1 package hell;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 import java.util.Random;
 6 
 7 public class Main {
 8     static Random random = new Random();
 9     public static void test(long times) {
10         long cHit=0,uncHit=0;
11         
12         for(long i=0;i<times;++i) {
13             int p=random.nextInt(3);
14             int t=random.nextInt(3);
15             if(t==0) {
16                 if(p==0) {
17                     ++uncHit;
18                 }else {
19                     ++cHit;
20                 }
21             }else if(t==1) {
22                 if(p==1) {
23                     ++uncHit;
24                 }else {
25                     ++cHit;
26                 }
27             }else if(t==2) {
28                 if(p==2) {
29                     ++uncHit;
30                 }else {
31                     ++cHit;
32                 }
33             }
34         }
35         System.out.println("交换:"+(double)cHit/times);
36         System.out.println("不交换:"+(double)uncHit/times);
37     }
38     
39     public static void main(String[] args) {
40         System.out.println("1e4");
41         test((long)1e4);
42         System.out.println("1e6");
43         test((long)1e6);
44         System.out.println("1e8");
45         test((long)1e8);
46         System.out.println("1e12");
47         test((long)1e12);
48     }
49     
50 
51 }

结果为:

1e4
交换:0.6677
不交换:0.3323
1e6
交换:0.66652
不交换:0.33348
1e8
交换:0.66670149
不交换:0.33329851
1e12(没跑出来)

posted @ 2018-03-19 21:04  母翟龙  阅读(1142)  评论(1编辑  收藏  举报