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 代码测试:
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。的更多相关文章
- 羊和汽车问题(或s三门问题(Monty Hall problem)亦称为蒙提霍尔问题)
三门问题(Monty Hall problem)亦称为蒙提霍尔问题.蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal.问题名字来自该节目的主持人蒙提·霍尔(Mon ...
- The Monty Hall Problem
GNG1106 Lab 3The Monty Hall ProblemBackgroundThe Monty Hall Problem is a famous probability puzzle, ...
- 用贝叶斯定理解决三门问题并用Python进行模拟(Bayes' Rule Monty Hall Problem Simulation Python)
三门问题(Monty Hall problem)也称为蒙提霍尔问题或蒙提霍尔悖论,出自美国的电视游戏节目<Let’s Make a Deal>.问题名字来自该节目的主持人蒙提·霍尔(Mon ...
- Monty Hall Problem (三门问题)
最近有点忙,没怎么写程序...今天突然想起以前看到过的一个问题-三门问题,十分想用程序来模拟一下,于是实在忍不住了就模拟了这个游戏的实验,通过写程序更加加深了我对这个问题的理解,期间也查找了各种相关资 ...
- zzulioj--1712--Monty Hall problem(蒙提霍尔问题)
1721: Monty Hall problem Time Limit: 1 Sec Memory Limit: 128 MB Submit: 186 Solved: 71 SubmitSt ...
- sql server:Monty Hall problem (蒙提霍尔问题)
--------------------------------------------------------------------- -- Auxiliry Table of Numbers 数 ...
- Monty Hall Problem的一个图解,感觉不错
从Coursera.org上的台大概率课讨论组里拿来的 如果不转换,选中汽车的概率是1/3,非常显然. 但转换后选中汽车的概率变成2/3就有点反直觉了,并不是太容易想明白. 因为转换其实有4种:汽车- ...
- Monty Hall悖论
Monty Hall悖论又称为蒙提·霍尔悖论.三门问题.Monty Hall是上个世纪60年代,电视游戏节目“Let's Make a Deal”的主持人,这个悖论便是以他的名字来命名的.节目的规则是 ...
- Monty Hall 问题与贝叶斯定理的理解
三门问题(Monty Hall problem),是一个源自博弈论的数学游戏问题,大致出自美国的电视游戏节目Let's Make a Deal.问题的名字来自该节目的主持人蒙提·霍尔(Monty H ...
随机推荐
- 代码实现:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
//有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 import java.util.ArrayList; import java.util.Scanner; public ...
- Web04_JavaScript
String对象 match()找到一个或多个正则表达式的匹配 substr()从起始索引号提取字符串中指定数目的字符 substring()提取字符串中两个指定的索引号之间的字符 <!DOCT ...
- 【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选
页面点击按钮添加一行 删除一行 全选 反选 全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> & ...
- mariadb数据库增删改查
1.常用数据类型 1)整数:int, bit 2)小数:decimal #decimal(5,2)表示共有五位数,保留两位小数 3)字符串:varchar, char 4)日期时间:date, ...
- Centos7的引导顺序
1.UEFI或BIOS初始化,运行POST开机自检(Power On Self Test) 2.选择启动设备 3.引导装载程序grub2 4.加载装载程序的配置文件:/etc/grub.d/ ...
- 【6.18校内test】T2分数线划定
分数线划定[题目链接] 这道题也不是什么难题,思路一带而过吧: SOLUTION: First.输入n,m,计算m*1.5的值,接着输入编号和成绩,然后我的做法是在输入编号成绩之后,开一个101大小的 ...
- Python程序结构(sys、os)
一.Python组成结构 Python程序一般由包package.模块moudle.函数function组成.具体关系如下图:
- SQL语句优化 学习笔记
sql语句时间花在哪了? 1 等待时间 2 执行时间 这两个时间并非孤立的,单条语句执行的快 其他语句等待的时间就少 执行时间花在哪了? 1 查找 沿着索引查找 慢者可能全表扫描 2 取出 查到行后, ...
- 生成二维码功能(js前端)
生成二维码需要引入qrcode.js和jquery.min.js <!DOCTYPE html> <head> <title>二维码</title> & ...
- 手把手教你如何安装使用webpack vue cli
1.安装node.js:https://nodejs.org/en/download/(看电脑的系统是多少位下载相应版本) 我下载的是Windows Installer(.msi) x64 2.打开c ...