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

游戏规则

游戏参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门就可以赢得该汽车,而另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人会开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?

我们假设三扇门为A、B、C。那么对于参赛者而言,刚开始做出选择的时候P(A)=P(B)=P(C)=1/3。

现在我们假设选定一个门A,那么剩下的B、C门会被主持人打开一个,P(D)为打开B或C们的概率为1/2。

现在主持人会问是否换一扇门。如果坚持不换,坚持打开A门。P(A|D)=P(AD)/P(D)=1/3。参赛者选择的还是最初的门,在这里主持人是否开启一扇门,对最初的1/3概率没有影响。

如果不坚持选择A门,那么BC两扇门中存在汽车的可能性为P(E)=2/3,且其中一扇门被主持人打开,确定没有汽车只有山羊。假设换一扇门打开的概率为P(E|D)=P(ED)/P(D)=2/3

有一人认为在主持人选了一个门之后  另外两个门概率对我们来说是二分之一。这种想法是有问题的。如果选择坚持A,那么主持人的选择对我们获得汽车的概率是没有影响的,我们还是之前的三分之一概率。如果选择换一扇门选择另一个门C,二分之一是针对只有2扇门的情况下的概率,但是在此之前发生了一个B门被主持人打开的事件。B也是样本元素之一。整个样本元素的数量为3。所以不坚持A的话。必须将B也考虑进去,BC有车的概率为三分之二。

贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 ) 发展,用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(B|A) = P(A|B)*P(B) / P(A)。

这个问题用贝叶斯定理来理解就有点绕比较简单了。

先来看看贝叶斯公式

我们首先设定以下三个随机事件:

A:所选的X号门后是汽车。

B:换门后,当前门后是汽车

C:你选择了X号门,而主持人打开了y号门并且y号门后面是山羊。

如果坚持不换门的情况下,我们的目标是P(A|C),即在得到主持人信息之后1号门后是汽车的概率。在主持人提供信息之前,我们有P(A)=1/3。

D发生的几率,仔细想想是1/2,因为主持人会随机的打开一扇门后有羊的门。

这个地方的1/2 ×2/3=1/2 × 1/3 +1/2 × 1/3

换门的话,我们的目标是P(B|C), 此时P(C)的概率就变成了1,是必然事件了

根据贝叶斯公式就可求得结果是2/3

这游戏相当于你和主持人博弈,你只能选一扇门,主持人就选剩下的两扇门。显然主持人的胜率是2/3。这个胜率和主持人是否打开一扇门没有关系,和主持人是否知道门里有没有奖也没有关系,都是你自己先选的啊!

现在给你一个机会,用你手里的一扇门交换主持人手里的两扇门,你换不换?

人们根据不确定性信息作出推理和决策需要对各种结论的概率作出估计。Monty Hall与贝叶斯定理不仅包含了概率学和逻辑学,还包含了心理学,但研究的角度是不同的。心理学研究人们主观概率估计的认知加工过程规律。这一领域的探讨对揭示人们对概率信息的认知加工过程与规律、指导人们进行有效的学习和判断决策都具有十分重要的理论意义和实践意义。在机器学习中包含了各种对数据的判断与决策。因此贝叶斯定理在机器学习中也起着至关重要的作用。

我觉得贝叶斯定理给我的启示就是:不要主观的去对一个问题进行定义,需要结合影响这个问题的其他事件一起来看待。理性且全面的认知一个问题。

Monty Hall 问题与贝叶斯定理的理解的更多相关文章

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

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

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

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

  3. Monty Hall Problem (三门问题)

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

  4. The Monty Hall Problem

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

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

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

  6. Monty Hall悖论

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

  7. 回顾 Monty Hall (三门问题)

    一.问题描述 Monty Hall Problem 源于美国的一档电视节目<Let's Make a Deal>,其中Monty Hall 是这个节目的主持人. 节目中有三扇门1.2.3, ...

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

    Monty 大厅的问题陈述十分简单,但是它的答案看上去却是有悖常理.该问题不仅引起过很多争议,也经常出现在各种考试题中. Monty 大厅的游戏规则是这样的,如果你来参加这个节目,那么 (1)Mont ...

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

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

随机推荐

  1. jQuery----选择器(重点是层次选择器)

    基本选择器 1.id选择器  ---------------------------->根据id来获取,只有一个.---------------------------------------- ...

  2. HTTP中常见的各种状态码详解及解决方案

    总结了一些常见的http的状态码,以及常见的解决方案. 一.各范围内状态码大致含义 1xx:临时响应(Informational),需要请求者继续执行操作的状态代码,表示服务器正在接受请求. 2xx: ...

  3. python3通过纯真IP数据库查询IP归属地信息

    在网上看到的别人写的python2的代码,修改成了python3. 把纯真IP数据库文件qqwry.dat放到czip.py同一目录下. #! /usr/bin/env python # -*- co ...

  4. spring-data-jpa快速入门(二)——简单查询

    一.方法名解析 1.引言 回顾HelloWorld项目中的dao接口 public interface GirlRepository extends JpaRepository<Girl, In ...

  5. JavaWeb基础—JS学习小结

    JavaScript是一种运行在浏览器中的解释型的编程语言 推荐:菜鸟教程一.简介js:javascript是基于对象[哪些基本对象呢]和和事件驱动[哪些主要事件呢]的语言,应用在客户端(注意与面向对 ...

  6. zookeeper入门实例

    package org.merit.test.zookeepertest; import java.io.IOException;import java.util.List;import java.u ...

  7. 20155307《网络对抗》PC平台逆向破解(二)

    20155307<网络对抗>PC平台逆向破解(二) shellcode注入 什么是shellcode? shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 前期准备- ...

  8. 20155308 加分题-mybash的实现(第五周)

    20155308 加分题-mybash的实现(第五周) 实验要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管 ...

  9. Flutter - 弹出底部菜单Show Modal Bottom Sheet

    在很多安卓App上,有很多底部弹出的菜单,这个在Flutter上同样可以实现. 先看一下效果 嗯,就是这样子的,当用户点击菜单区域以外的时候,菜单会自动关闭. 下面就看一下Dart语言实现 float ...

  10. linux 查看服务器序列号

    1.安装工具 dmidecode yum install dmidecode -y 2.使用 dmidecode -t  1