三门问题(Monty Hall problem)背后的贝叶斯理论

文章目录

  • 1 前言
  • 2 问题简介
  • 3 直观的解释
  • 4 贝叶斯理论的解释

1 前言

三门问题可以说有着各种版本的解释,但我看了几个版本,觉得没有把其中的条件说清楚,所以还是决定按照自己的理解记录一下这个特别有意思的问题。

2 问题简介

三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let’s Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的概率?如果严格按照上述的条件,即主持人清楚地知道,哪扇门后是羊,那么答案是会。不换门的话,赢得汽车的概率是1/3。换门的话,赢得汽车的概率是2/3。

——摘自百度百科

3 直观的解释

这个问题有一个非常直观的理解:如果参赛者换的话,那么参赛者会在最初选择是错误的时候获得汽车;如果参赛者不换的话,那么参赛者会在最初选择是正确的时候获得汽车。
前者是23\frac{2}{3}32的概率,后者是13\frac{1}{3}31的概率

4 贝叶斯理论的解释

贝叶斯公式是

P(A∣B)=P(B∣A)P(A)P(B)P(A|B) = \frac{P(B|A)P(A)}{P(B)}P(AB)=P(B)P(BA)P(A)

其中,P(A∣B)P(A|B)P(AB)表示在事件B发生的前提下,事件A发生的概率; P(B∣A)P(B|A)P(BA)表示在事件A发生的前提下,事件B发生的概率;P(A)P(A)P(A)表示事件A发生的概率;P(B)P(B)P(B)表示事件B发生的概率。

现在我们假设三扇门分别是A、B、C,选手最初的选择是门A,主持人打开的是门B,那么问题就变成了

P(汽车在A门∣最初选择A门,主持人打开B门)P(汽车在B门∣最初选择A门,主持人打开B门)P(汽车在C门∣最初选择A门,主持人打开B门)\begin{aligned} & P(汽车在A门 | 最初选择A门,主持人打开B门) \\ & P(汽车在B门 | 最初选择A门,主持人打开B门) \\ & P(汽车在C门 | 最初选择A门,主持人打开B门) \\ \end{aligned} P(AAB)P(BAB)P(CAB)

三者的大小问题。
接下来要做的工作就是来算一算三者的大小,由贝叶斯公式可得

P(汽车在A门∣最初选择A门,主持人打开B门)=P(最初选择A门,主持人打开B门∣汽车在A门)P(汽车在A门)P(最初选择A门,主持人打开B门)P(汽车在B门∣最初选择A门,主持人打开B门)=P(最初选择A门,主持人打开B门∣汽车在B门)P(汽车在B门)P(最初选择A门,主持人打开B门)P(汽车在C门∣最初选择A门,主持人打开B门)=P(最初选择A门,主持人打开B门∣汽车在C门)P(汽车在C门)P(最初选择A门,主持人打开B门)\begin{aligned} & P(汽车在A门 | 最初选择A门,主持人打开B门)=\frac{P(最初选择A门,主持人打开B门|汽车在A门)P(汽车在A门)}{P(最初选择A门,主持人打开B门)} \\ & P(汽车在B门 | 最初选择A门,主持人打开B门)=\frac{P(最初选择A门,主持人打开B门|汽车在B门)P(汽车在B门)}{P(最初选择A门,主持人打开B门)} \\ & P(汽车在C门 | 最初选择A门,主持人打开B门)=\frac{P(最初选择A门,主持人打开B门|汽车在C门)P(汽车在C门)}{P(最初选择A门,主持人打开B门)} \end{aligned} P(AAB)=P(AB)P(ABA)P(A)P(BAB)=P(AB)P(ABB)P(B)P(CAB)=P(AB)P(ABC)P(C)

好,来看看这些值我们是不是都能算出来。

先从简单的来看

P(汽车在A门)=P(汽车在B门)=P(汽车在C门)=13P(汽车在A门)=P(汽车在B门)=P(汽车在C门)=\frac{1}{3}P(A)=P(B)=P(C)=31

这个没问题吧?好~再来看稍微复杂一些的。

P(最初选择A门,主持人打开B门∣汽车在A门)=12P(最初选择A门,主持人打开B门|汽车在A门)=\frac{1}{2}P(ABA)=21

汽车在A门的话,主持人可以任意打开B、C门中的一扇,打开B门的概率自然就是1/21/21/2

P(最初选择A门,主持人打开B门∣汽车在B门)=0P(最初选择A门,主持人打开B门|汽车在B门)=0P(ABB)=0

主持人是知道汽车在哪个门的,所以如果汽车在B门,主持人不可能打开B门。

P(最初选择A门,主持人打开B门∣汽车在C门)=1P(最初选择A门,主持人打开B门|汽车在C门)=1P(ABC)=1

汽车在C门的话,参赛者选了A门,主持人就只能打开B门了。

最后

P(最初选择A门,主持人打开B门)=12P(最初选择A门,主持人打开B门)=\frac{1}{2}P(AB)=21

这是为什么?这并不是简单的主持人在B、C门中随机打开一扇门的问题,主持人是知道汽车在哪扇门的,那么这个1/21/21/2是怎么来的?请看下图~

三门问题分析图

所以

P(最初选择A门,主持人打开B门)=16⋅(1+0+1+0+12+12)=12P(最初选择A门,主持人打开B门)=\frac{1}{6}\cdot(1+0+1+0+\frac{1}{2}+\frac{1}{2})=\frac{1}{2}P(AB)=61(1+0+1+0+21+21)=21

这其实也可以用全概率来解释,得到的结果都是一样的。

P(最初选择A门,主持人打开B门)=P(最初选择A门,主持人打开B门∣汽车在A门)⋅P(汽车在A门)+P(最初选择A门,主持人打开B门∣汽车在B门)⋅P(汽车在B门)+P(最初选择A门,主持人打开B门∣汽车在C门)⋅P(汽车在C门)=12⋅13+0⋅13+1⋅13=12\begin{aligned} & P(最初选择A门,主持人打开B门)= \\ & P(最初选择A门,主持人打开B门|汽车在A门) \cdot P(汽车在A门)+ \\ & P(最初选择A门,主持人打开B门|汽车在B门) \cdot P(汽车在B门)+ \\ & P(最初选择A门,主持人打开B门|汽车在C门) \cdot P(汽车在C门) \\ & = \frac{1}{2} \cdot \frac{1}{3}+0 \cdot \frac{1}{3} + 1 \cdot \frac{1}{3} = \frac{1}{2} \end{aligned} P(AB)=P(ABA)P(A)+P(ABB)P(B)+P(ABC)P(C)=2131+031+131=21

好了,至此,贝叶斯公式右边的所有值我们都知道了,来算一下最终结果

P(汽车在A门∣最初选择A门,主持人打开B门)=(1/2)⋅(1/3)1/2=13P(汽车在B门∣最初选择A门,主持人打开B门)=0⋅(1/3)1/2=0P(汽车在C门∣最初选择A门,主持人打开B门)=1⋅(1/3)1/2=23\begin{aligned} & P(汽车在A门 | 最初选择A门,主持人打开B门)=\frac{(1/2) \cdot (1/3)}{1/2}=\frac{1}{3} \\ & P(汽车在B门 | 最初选择A门,主持人打开B门)=\frac{0 \cdot (1/3)}{1/2}=0 \\ & P(汽车在C门 | 最初选择A门,主持人打开B门)=\frac{1 \cdot (1/3)}{1/2}=\frac{2}{3} \end{aligned} P(AAB)=1/2(1/2)(1/3)=31P(BAB)=1/20(1/3)=0P(CAB)=1/21(1/3)=32

所以,在最初选择A门,主持人打开B门的前提下,汽车在C门的概率是最高的,故此时参赛者应该换成C门。

以上是以参赛者最初选A门,主持人开B门为例分析的,其它情况下的分析方法相同,结果也是相同的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一、在vue项目中使用mock.js(详解)

步骤1.搭建测试项目 步骤1.1创建项目 命令: vue create mock-demo 步骤1.2安装依赖 命令: #使用axios发送ajax cnpm install axios--save #使用mockjs产生随机数据 cnpm install mockjs--save-dev #使用json5解决ison文件,无法添加注释…

matlab如何建立一个空矩阵,然后往里面赋值

1 x1:0.1:10; 2 y[]; 3 for i1:length(x) 4 % y[y;x(i)];%把每一个x都放到Y里,成为一列 5 y[y,x(i)];%把每一个x都放到Y里,成为一行 6 end 转载于:https://www.cnblogs.com/sddai/p/5410821.html

二、在jQuery中使用mockjs

在jQuery项目中使用mock.js 步骤1.搭建项目 步骤1.1创建项目 新建文件夹jquery-mock-demo 步骤1.2新建index.html&#xff0c;引入jquery.js文件和mock.js <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title&g…

决策树相关知识小结

前言 本文是一篇关于决策树方面知识的小结&#xff0c;不包含具体的例子&#xff08;想看例子推荐文献[1]的第4章&#xff09;&#xff0c;主要总结了ID3、C4.5和CART树三者的区别&#xff0c;剪枝处理&#xff0c;连续值和缺失值的处理。 决策树的基本算法 决策树的学习目的…

Android 中如何计算 App 的启动时间?

&#xff08;转载&#xff09; 已知的两种方法貌似可以获取&#xff0c;但是感觉结果不准确&#xff1a;一种是&#xff0c;adb shell am start -w packagename/activity,这个可以得到两个值&#xff0c;ThisTime和TotalTime&#xff0c;不知道两个有什么区别&#xff0c;而且与…

项目实战:Express实现学生管理系统(CRUD)

一、起步 初始化 npm init -y 生成package.json文件 模板处理 cnpm install express --save cnpm install bootstrap --savenpm install --save art-template npm install --save express-art-template//两个一起安装 npm i --save art-template express-art-template文件目录…

2016年度 JavaScript 展望(下)

【编者按】本文作者为资深 Web 开发者 TJ VanToll, TJ 专注于移动端 Web 应用及其性能&#xff0c;是《jQuery UI 实践》 一书的作者。 本文系 OneAPM 工程师编译呈现&#xff0c;以下为正文的第二部分。点此阅读第一部分。 本地移动 apps 在2015年&#xff0c;出现了一种新的基…

LeetCode547. Friends Circles 利用union find | bfs | dfs三种方法解决

问题来源 此题来源于LeetCode547. Friend Circles&#xff0c;主要运用了并查集&#xff08;union find&#xff09;、广度优先遍历&#xff08;bfs&#xff09;和深度优先遍历&#xff08;bfs&#xff09;三种方法解决。 问题简述 给定一个NN的矩阵M表示了N个人之见的朋友关…

Python模块之MyQR——制作个性化动态二维码(超详细)

一、首先安装MyQR 第一种方式&#xff1a;cmd 命令行输入 pip install MyQR 第二种方式&#xff1a;pyCharm中手动选择进行安装 二、 myqr.run() 函数里面的参数 三、编写代码 # encodingutf-8 from MyQR import myqrmyqr.run(words"https://blog.csdn.net/weixin_448…

地址选择控件开发-

先睹为快 闲话少说&#xff0c;我们先来看看今天我们研究的控件的最终效果图(参照天猫的送货地址设置的效果)&#xff1a; “地址选择Web控件”的基本组成&#xff1a; 使用控件举例&#xff1a; <!--需要加载和引用的文件--> <link rel"stylesheet" href&q…

逻辑回归(logistic regression)的本质——极大似然估计

文章目录1 前言2 什么是逻辑回归3 逻辑回归的代价函数4 利用梯度下降法求参数5 结束语6 参考文献1 前言 逻辑回归是分类当中极为常用的手段&#xff0c;因此&#xff0c;掌握其内在原理是非常必要的。我会争取在本文中尽可能简明地展现逻辑回归(logistic regression)的整个推导…

使用mongoose 在 Node中操作MongoDB数据库

MongoDB 关系型和非关系型数据库 关系型数据库&#xff08;表就是关系&#xff0c;或者说表与表之间存在关系&#xff09;。 所有的关系型数据库都需要通过sql语言来操作所有的关系型数据库在操作之前都需要设计表结构而且数据表还支持约束 唯一的主键默认值非空 非关系型…

回调和异步

// 回调函数&#xff1a;一个函数中调用传入的另一个函数 // 这里的callback就是个回调函数 function we(callback,something){something" is cool";callback(something); }function learn(something){console.log(something); }we(learn,"node.js"); //第…

pip install时发生raise ReadTimeoutError(self._pool, None, 'Read timed out.')的解决方案

问题描述 在windows下&#xff0c;python在安装一些包的时候&#xff0c;常常会碰到time out的情况&#xff0c;如下图所示。不管再重试几次都是如此&#xff0c;这时候该怎么办呢&#xff1f; 解决方案 方案一&#xff1a;更换安装源&#xff08;推荐使用豆瓣源&#xff09…

使用Node 操作MySQL数据库

1. 安装 官方文档&#xff1a;https://www.npmjs.com/package/mysql npm install --save mysql2.代码演示 var mysql require(mysql);// 1.创建连接 var connection mysql.createConnection({host : localhost,user : root,password : root,database : my_db …

利用随机森林对特征重要性进行评估

文章目录1 前言2 随机森林&#xff08;RF&#xff09;简介3 特征重要性评估4 举个例子5 参考文献1 前言 随机森林是以决策树为基学习器的集成学习算法。随机森林非常简单&#xff0c;易于实现&#xff0c;计算开销也很小&#xff0c;更令人惊奇的是它在分类和回归上表现出了十…

个人博客总结3

一&#xff0e;昨天做了什么&#xff1f; 昨天利用安卓连接数据库完成一个图片的保存的程序例子&#xff0c;为我们的团队作业刷脸将人脸图片保存到数据中打下基础。 创建了一个相片和数据库保存和查询的工程创建了一个数据库然后将图片保存到数据库中&#xff0c;先将图片转化…

Promise学习——解决回调地狱问题

Promise promise 容器概念&#xff1a; callback hell&#xff08;回调地狱&#xff09;: 文件的读取无法判断执行顺序&#xff08;文件的执行顺序是依据文件的大小来决定的&#xff09;(异步api无法保证文件的执行顺序) var fs require(fs);fs.readFile(./data/a.text,ut…

基于哈希表的索引堆变形(Hackerrank: QHEAP1)

问题来源 此题来自于Hackerrank中的QHEAP1问题&#xff0c;考查了对堆结构的充分理解。成功完成此题&#xff0c;对最大堆或者最小堆的基本操作实现就没什么太大问题了。 问题简述 实现一个最小堆&#xff0c;对3种类型的输入能给出正确的操作&#xff1a; “1 v” - 表示往…

Node 中的path模块

参考文档&#xff1a;https://nodejs.org/docs/latest-v13.x/api/path.html path模块中的常用API&#xff1a; path.basename&#xff1a;获取路径的文件名&#xff0c;默认包含扩展名path.dirname&#xff1a;获取路径中的目录部分path.extname&#xff1a;获取一个路径中的扩…