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

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

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

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

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

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

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

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

使用java 代码测试:

 package hell;

 import java.util.ArrayList;
import java.util.List;
import java.util.Random; public class Main {
static Random random = new Random();
public static void test(long times) {
long cHit=0,uncHit=0; for(long i=0;i<times;++i) {
int p=random.nextInt(3);
int t=random.nextInt(3);
if(t==0) {
if(p==0) {
++uncHit;
}else {
++cHit;
}
}else if(t==1) {
if(p==1) {
++uncHit;
}else {
++cHit;
}
}else if(t==2) {
if(p==2) {
++uncHit;
}else {
++cHit;
}
}
}
System.out.println("交换:"+(double)cHit/times);
System.out.println("不交换:"+(double)uncHit/times);
} public static void main(String[] args) {
System.out.println("1e4");
test((long)1e4);
System.out.println("1e6");
test((long)1e6);
System.out.println("1e8");
test((long)1e8);
System.out.println("1e12");
test((long)1e12);
} }

结果为:

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

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

  1. 羊和汽车问题(或s三门问题(Monty Hall problem)亦称为蒙提霍尔问题)

    三门问题(Monty Hall problem)亦称为蒙提霍尔问题.蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal.问题名字来自该节目的主持人蒙提·霍尔(Mon ...

  2. The Monty Hall Problem

    GNG1106 Lab 3The Monty Hall ProblemBackgroundThe Monty Hall Problem is a famous probability puzzle, ...

  3. 用贝叶斯定理解决三门问题并用Python进行模拟(Bayes' Rule Monty Hall Problem Simulation Python)

    三门问题(Monty Hall problem)也称为蒙提霍尔问题或蒙提霍尔悖论,出自美国的电视游戏节目<Let’s Make a Deal>.问题名字来自该节目的主持人蒙提·霍尔(Mon ...

  4. Monty Hall Problem (三门问题)

    最近有点忙,没怎么写程序...今天突然想起以前看到过的一个问题-三门问题,十分想用程序来模拟一下,于是实在忍不住了就模拟了这个游戏的实验,通过写程序更加加深了我对这个问题的理解,期间也查找了各种相关资 ...

  5. zzulioj--1712--Monty Hall problem(蒙提霍尔问题)

     1721: Monty Hall problem Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 186  Solved: 71 SubmitSt ...

  6. sql server:Monty Hall problem (蒙提霍尔问题)

    --------------------------------------------------------------------- -- Auxiliry Table of Numbers 数 ...

  7. Monty Hall Problem的一个图解,感觉不错

    从Coursera.org上的台大概率课讨论组里拿来的 如果不转换,选中汽车的概率是1/3,非常显然. 但转换后选中汽车的概率变成2/3就有点反直觉了,并不是太容易想明白. 因为转换其实有4种:汽车- ...

  8. Monty Hall悖论

    Monty Hall悖论又称为蒙提·霍尔悖论.三门问题.Monty Hall是上个世纪60年代,电视游戏节目“Let's Make a Deal”的主持人,这个悖论便是以他的名字来命名的.节目的规则是 ...

  9. Monty Hall 问题与贝叶斯定理的理解

     三门问题(Monty Hall problem),是一个源自博弈论的数学游戏问题,大致出自美国的电视游戏节目Let's Make a Deal.问题的名字来自该节目的主持人蒙提·霍尔(Monty H ...

随机推荐

  1. 代码实现:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

    //有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 import java.util.ArrayList; import java.util.Scanner; public ...

  2. Web04_JavaScript

    String对象 match()找到一个或多个正则表达式的匹配 substr()从起始索引号提取字符串中指定数目的字符 substring()提取字符串中两个指定的索引号之间的字符 <!DOCT ...

  3. 【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选

    页面点击按钮添加一行    删除一行   全选   反选  全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> & ...

  4. mariadb数据库增删改查

    1.常用数据类型 1)整数:int, bit 2)小数:decimal     #decimal(5,2)表示共有五位数,保留两位小数 3)字符串:varchar, char 4)日期时间:date, ...

  5. Centos7的引导顺序

    1.UEFI或BIOS初始化,运行POST开机自检(Power   On  Self   Test) 2.选择启动设备 3.引导装载程序grub2 4.加载装载程序的配置文件:/etc/grub.d/ ...

  6. 【6.18校内test】T2分数线划定

    分数线划定[题目链接] 这道题也不是什么难题,思路一带而过吧: SOLUTION: First.输入n,m,计算m*1.5的值,接着输入编号和成绩,然后我的做法是在输入编号成绩之后,开一个101大小的 ...

  7. Python程序结构(sys、os)

    一.Python组成结构 Python程序一般由包package.模块moudle.函数function组成.具体关系如下图:

  8. SQL语句优化 学习笔记

    sql语句时间花在哪了? 1 等待时间 2 执行时间 这两个时间并非孤立的,单条语句执行的快 其他语句等待的时间就少 执行时间花在哪了? 1 查找 沿着索引查找 慢者可能全表扫描 2 取出 查到行后, ...

  9. 生成二维码功能(js前端)

    生成二维码需要引入qrcode.js和jquery.min.js <!DOCTYPE html> <head> <title>二维码</title> & ...

  10. 手把手教你如何安装使用webpack vue cli

    1.安装node.js:https://nodejs.org/en/download/(看电脑的系统是多少位下载相应版本) 我下载的是Windows Installer(.msi) x64 2.打开c ...