汽车和山羊问题

题目的背景介绍:

现有三扇门,其中一扇门后是一辆车,另外两扇门后是一头山羊。

选手从1,2,3号三扇门中选出一扇(仅标记,不打开),接着主持人再从未标记的两扇门中选出一扇打开。

主持人知道每扇门后放的是什么,所以每次主持人都选择后面是羊的那扇门打开。

选手有一次改变自己选择的机会。

最后,打开选手最终选中的那扇门,以选手最终选择的是车为获胜。

请问选手是否需要改变选择?

汽车和山羊问题求解

一、对该问题的枚举分析

是否更换

选择几号门

如果车在一号门后

如果车在二号门后

如果车在三号门后

# 不换

一号

\(√\)

\(×\)

\(×\)

二号

\(×\)

\(√\)

\(×\)

三号

\(×\)

\(×\)

\(√\)

# 换

一号

\(×\)

\(√\)

\(√\)

二号

\(√\)

\(×\)

\(√\)

三号

\(√\)

\(√\)

\(×\)

​令更换选择且成功为事件A,不更换选择且成功为事件B,那么显然我们可以得出二者的概率为:

\[P(A)=\frac{1}{3}\quad\quad\quad P(B)=\frac{2}{3}

\]

二、对该问题的条件概率概率分析

​令更换选择为事件A,不更换选择为事件B,显然

\[P(A)=P(B)=\frac{1}{2}

\]

1. 如果没有更换选择

​车在一、二、三号门后分别为事件a、b、c,则

\[P(a)=P(b)=P(c)=\frac{1}{3}

\]

​令选择一、二、三号门分别为事件1,2,3,则

\[P(1)=P(2)=P(3)=\frac{1}{3}

\]

​那么显然没有更换选择且成功的概率设为\(P(\alpha)\)就是

\[P(\alpha)=P(1\cap a)+P(2\cap b)+P(3\cap c)=1/9+1/9+1/9=1/3

\]

​故\(P(\alpha)=1/3\)

2. 如果更换了选择

​显然我们可知如果更换选择,那么如果刚开始选的是对的则最后是错的,刚开始选的是错的则最后是对的

​车在一、二、三号门后分别仍设为事件a、b、c,则

\[P(a)=P(b)=P(c)=\frac{1}{3}

\]

​令选择一、二、三号门也分别为事件1,2,3,则

\[P(1)=P(2)=P(3)=\frac{1}{3}

\]

​那么显然更换选择且成功的概率设为\(P(\beta)\)就是

\[P(\beta)=P(2\cap a)+P(3\cap a)+P(1\cap b)+P(3\cap b)+P(1\cap c)+P(2\cap c)\\

=1/9+1/9+1/9+1/9+1/9+1/9=2/3

\]

​故\(P(\beta)=2/3\)

三、基于\(MATLAB\)的模拟实验

先用\(Python\)做了模拟实验

from random import*

TIMES = 10000

nochange=0 #初始化不改选择的次数

change=0 #初始化更改选择的次数

for i in range(TIMES):

Door=randint(0,2) #汽车在哪个门

guess=randint(0,2) #我的选择是哪个门

if Door==guess: #猜对了

nochange+=1 #不改选择的次数+1

else:

change+=1 #更改选择的次数+1

print("不改选择:{}".format(nochange/TIMES))

print("更改选择:{}".format(change/TIMES))

# 以下为测试数据

# 不改选择:0.332 更改选择:0.668

# 不改选择:0.3283 更改选择:0.6717

# 不改选择:0.331 更改选择:0.669

# 不改选择:0.3308 更改选择:0.6692

# 不改选择:0.3369 更改选择:0.6631

可以看到模拟实验的频率都稳定在上述分析得出的理论概率附近

另用\(MATLAB\)也做了模拟

n = 100000;%%n代表随机次数

nochange = 0; %%不改变选择

change = 0;%%改变选择

for i= 1 : n %%车在哪个门后

x = randi([1,3],1);

y = randi([1,3],1); %%我的选择哪个门

if x == y%%选对了

nochange = nochange + 1;%%不改选择的次数+1

end

if x ~= y %%选错了

change = change + 1; %%更改选择的次数+1

end

end

disp(nochange/n); %%输出不改变选择时的获奖概率

disp(change/n); %%输出改变选择时的获奖概率

%%以下为测试数据

%%不改变0.3342 改变0.6658

%%不改变0.3286 改变0.6714

%%不改变0.3351 改变0.6649

python汽车仿真_汽车山羊问题的分析以及Python和MATLAB仿真实验相关推荐

  1. python用户画像_京东小家电用户画像分析(python+tableau)

    一.项目背景 京东电商平台最近小家电类目的订单数量.产品浏览量和搜索数量等均有所下降,相关部门计划对小家电类目进行一次促销活动,希望能针对小家电用户的特征提出相应的建议. 二.需求拆解 促销活动主要包 ...

  2. 三相变压器matlab仿真与分析,三相变压器励磁涌流的MATLAB仿真与分析.doc

    三相变压器励磁涌流的MATLAB仿真与分析 三相变压器励磁涌流的MATLAB仿真与分析 摘要:在Simulink仿真平台上建立三相变压器励磁涌流仿真模型,对变压器空载合闸投入和外部故障切除后两种情况进 ...

  3. pmsm simulink foc 仿真_汽车雷达场景仿真方法的研究

    原标题:汽车雷达场景仿真方法的研究 文章基于电大尺寸电磁波仿真技术 , 提出一种能够根据电磁波仿真结果参数计算出实际雷达回波信号的方法 .该方法能够模拟运动在多目标复杂场景下的雷达回波信号 , 综合了 ...

  4. python 字符串拼接_面试官让用 3 种 python 方法实现字符串拼接 ?对不起我有8种……...

    点击上方 蓝字关注我们 点击上方"印象python",选择"星标"公众号重磅干货,第一时间送达!之前发过很多关于 Python 学习的文章,收到大家不少的好评, ...

  5. python ide 最好_我在iPad上最好的Python IDE

    python ide 最好 Having finished my first year at university, and being left with very little to do thi ...

  6. python selenium脚本_怎样开始写第一个基于python的selenium脚本

    1.下载并安装python(http://www.python.org/geti/). 2.安装selenium(http://pypi.python.org/pypi/selenium)下载并解压缩 ...

  7. python语言 行业_如何入门编程开发行业 选择Python语言怎么样

    如何入门编程开发行业?选择Python语言怎么样?Python是一种面向对象的解释型计算机程序设计语言,它是纯粹的自由软件,语法简洁清晰,它具有丰富和强大的库.它常被称为胶水语言,能够把用其他语言制作 ...

  8. python笔记视频_终于拿到!清华大佬Python视频+书+笔记汇总

    终于拿到!清华大佬Python视频+书+笔记汇总 清华学姐推荐的Python视频400集,拿走不谢!

  9. python 建筑计算_制图小技巧:巧用Python和ELK瞬间完成总图建筑名称标注

    哎呦,又到了每周一次的制图教室啦.经过前面两次制图教程的分享,相信大家对于白模填色和写实渲染这两种表达方式肯定有了较好的掌握. 那么今天我们就转战制图技巧篇,和童鞋们聊一下总平面图中的建筑名称标注问题 ...

  10. python编程首选_为什么说学编程首选是python

    为什么学编程 你可能不会成为一名专业的程序员, 不过学编程的确是有很多的原因的 1. 最重要的是你想学!不论是因为业余爱好还是作为职业,编程都是十分有意思的, 都会让你收获很多 2. 如果你是对计算机 ...

最新文章

  1. little w and Soda(思维题)
  2. [NOI2007]货币兑换Cash(DP+动态凸包)
  3. 还在犹豫是否迁移.NET5?这几个项目已经上线了!
  4. 前端学习(1950)vue之电商管理系统电商系统之渲染添加父类的对话框
  5. PHP对自己I/O流访问的封装(转)
  6. Cakephp 创建无模型的Controller
  7. linux android 电容 触摸屏驱动 差别,Android 4.0 触摸屏驱动调试记录
  8. 第二章 爬取案例-链家租房数据获取 2021-09-16
  9. 解读《一首有趣的回环诗~秦观》
  10. [Unity][FairyGUI]富文本改变颜色
  11. c语言海报,竞选海报 c语言
  12. linux 关闭系统中多余的服务
  13. 用NCBI的工具Batch Entrez批量下载序列
  14. VBA清除除第一行之外所有表格的数据
  15. Openwrt无线管理工具/命令
  16. java编程50_荐非常经典的java编程题全集-共50题(1-10)...
  17. SAM4E单片机之旅——10、UART与MCK之PLL
  18. 短视频平台翻唱歌曲时用注明原创吗
  19. python2使用openpyxl版本_python openpyxl 2.5.4 版本 excel常用操作封装
  20. 75页政务大数据资源平台建设解决方案(附下载).pptx

热门文章

  1. ALV报表中处理双击行项目事件
  2. 各地结婚年龄出炉,哪个地方的人最晚婚?
  3. 聚焦2020年财报:进击的恒大汽车,“变态”的智能汽车
  4. 广告植入、电商导流……“变味”的线上演唱会
  5. linux keepalived 脚本,Linux下 keepalived 的安装和配置
  6. i350t4和v2区别_I350T4V2 英特尔原装I350网卡 全新千兆电口网卡
  7. python 单继承的实现
  8. Python两个内置函数locals 和globals
  9. python 获取本机IP的三种方式
  10. python各种推导式详解