摘要:本文通过对“羊、车”趣味问题的思考,提出了自己的见解,并分别运用逻辑推理、条件概率方法、计算机模拟这三种方法进行了解答,进一步对问题出现不同答案的原因进行了分析,最后得出结论。

关键词:羊车门;逻辑推理;条件概率;随机模拟

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)42-0200-02

一、引言

羊车门问题出自美国《parade》杂志中一个叫作“ask marilyn”的专栏,问题表述如下:台上有三个门,一个后边有汽车,其余后边是山羊。主持人让你任意选择其一。然后他打开其余两个门中的一个,你看到是山羊。这时,他给你机会让你可以重选,也就是你可以换选另一个剩下的门。那么,你换不换?这个问题在当时掀起了全球的讨论热潮,直至今日也存在着许多不同的看法。下面便是我们的一点观点和解答方法。

二、问题的解答

下面我们用三个方法来讨论这个问题。

1.逻辑推理方法。我们按照逻辑推理方法进行解答,思路如图1所示。图中其中括号内为事件发生的概率。

由图1,我们可以看出:这个事件一共会出现四种情况,虽然交换得到羊和交换得到车的情况数相同,都为两种。但每种情况出现的概率并不相同,出现这种情况的主要原因是主持人在参选者选择车这一情况下的选择有两种,而这两种选择的概率也就退化成了。

所以我们可以得出结论:如果进行交换的参选者得到车的概率为+=,得到羊的概率为。

2.条件概率方法。设主持人打开门中为羊为事件H,则P(H)=1。

第一次选中羊为事件A,第一次选中车为事件A。

经主持人选择后,剩下的一扇门中是羊为事件B,剩下一扇门为车为事件B。

所以,我们可以得到:

P(B)=P(A∪H)=P(A)×P(H)=×1=

P(B)=P(A∪H)=×1=

即剩下的一扇门中是羊的概率为,剩下一扇门为车的概率为。

3.计算机模拟方法。我们还可以利用计算机进行模拟实验,(以下程序是由codeblock中的c语言进行编写)。

程序代码如下:

#include

#include

#include //用到了time函数

int main()

{ int i,sheep=0,car=0,a[100000],b[100000],c[100000];

srand((unsigned) time(NULL));//用时间做种,每次产生随机数不一样

for (i=0;i<100000;i++)//第一种情况,1、2代表羊,0代表车。

{

a[i] = rand() % 3;//产生0-2的随机数

if(a[i]==1||a[i]==2)

car++;

else sheep++;

}

for (i=0;i<100000;i++)//第二种情况,0,1代表羊,2代表车。

{

b[i] = rand() % 3;//产生0-2的随机数

if(b[i]==0||b[i]==1)

car++;

else sheep++;

}

for (i=0;i<100000;i++)//第三种情况,0,2代表羊,1代表车。

{

c[i] = rand() % 3;//产生0-2的随机数

if(c[i]==0||c[i]==2)

car++;

else sheep++;

}

printf("总共进行了30 0000次试验\n");

printf("得到的结果为:\n交换过后,赢得的奖品为车的次数为%d,赢得的奖品为羊的次数为%d\n",car,sheep);

printf("因此,得到车的概率为%f,得到羊的概率为%f",car/300000.0,sheep/300000.0);

return 0;

}

此程序共进行了30 0000次试验,为使实验更具有说服力,取三种排列各10 0000次,其中包括(羊,羊,车)、(车,羊,羊)、(羊,车,羊)。

实验结果如下:

从这次模拟实验中,可以得出结论,联系以上两种思路所得出的结果,我们不难看出当实验次数趋于无限大时,得到车这一事件出现的频率将接近于这一事件发生的概率,同样,得到羊这一事件出现的频率也会接近于它发生的概率。

三、结语

与此同时,笔者也在反复思考,那为什么会有不同的答案呢?

问题就出在这位主持人到底知不知道这三扇门后究竟都是什么呢?如果他知道,那么他抽中羊的概率显然就是1,如果他不知道,那么这个概率显然就不是1了,这就好比三个人一同去抓三个阄(同样是一辆车,两只羊),仅仅是因为第二个抓阄的人先打开了阄,结果是羊,第一个人就嚷着要跟第三个人换,这无疑是有些可笑的。而我们上面的思路则是按照主持人事先已经知道了哪个门后是羊,哪个门后是车。

问题讲到这儿貌似就已经结束了,但是笔者还想说一句,我们只能说交换过后你获得车的概率更大一些,而不是一定获得车。所以我们讲概率论这门科学它只能告诉我们当一件事情发生很多次时,这件事情呈现一种什么样的态势,而不是告诉我们此次事情的发生会出现一种什么样的结果。

参考文献:

[1]周华任,刘守生.概率论与数理统计应用案例评析[M].南京:东南大学出版社,2016.

[2]张惠丽.对一道趣味概率问题的再讨论[J].思茅师专学报,1996,(1).

[3]郭之盈.谈一道趣味概率问题的解答[J].数学通报,1993,(10).

[4]祝国强.羊和车――一个有趣的概率问题[J].中国统计,2011,(5):42-42.

[5]淑生.汽车、山羊及其他――一道概率趣题及由此引起的思考[J].自然杂志,1992,(12):935-939.

Particular View on the Game of "Sheep and Car"

TIAN Chen-jing,HU Xiong,WANG Xin-xian,ZHENG He-peng,GE Chun-hua,ZHOU Hua-ren*

(PLA university of science and technology Institute of Science,Nanjing,Jiangsu 211101,China)

Abstract:Deeply thinking in the game of “sheep and car”,this article put forward special views,which is explained by three methods of logical reasoning,conditional probability and computer simulation.And there are further analysis on the cause of different answers.Then,we finally arrive at a conclusion.

Key words:sheep and car;logical reasoning;conditional probability;computer simulation

车羊问题c语言编程,再谈“羊车门”问题相关推荐

  1. 车羊问题c语言编程,C语言-人狼羊菜问题-最容易看懂的解决方法及代码

    题目描述:农夫需要把狼.羊.菜和自己运到河对岸去,只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊.请考虑一种方法,让农夫能够 ...

  2. Java函数式编程 - 再谈Stream

    Java函数式编程 - 再谈Stream 1.reduce() 前一章节说了Stream一些使用方式,Stream.reduce()也是Stream中的一个终结操作.使用起来较为复杂一些 1.1 概念 ...

  3. 语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程。...

    语言都是相通的,学好一门语言,再学第二门语言就很简单,记录一下我复习c语言的过程. 为了将本人的python培训提高一个层次,本人最近买了很多算法的书. 这个书上的代码基本都是c语言实现的,c语言很久 ...

  4. 分三种情况C语言编程,浅谈C语言教学的现状及几点建议.doc

    浅谈C语言教学的现状及几点建议 浅谈C语言教学的现状及几点建议 摘 要 针对C语言教学中存在的问题提出建议,以期对C语言教学有一定帮助. 关键词 C语言:课程设置:创新能力 中图分类号:G642 文献 ...

  5. R语言:再谈REmap包

    之前写过一篇关于Remap的文章,原文链接为:http://blog.csdn.net/wzgl__wh/article/details/53108754 但有许多网友都存在不同的问题,在我的微信公众 ...

  6. 三羊献瑞c语言编程入门,蓝桥杯-三羊献瑞,

    蓝桥杯-三羊献瑞, 更多精彩文章请关注公众号『大海的BLOG』 问题 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ---------------- 三 羊 生 瑞 气 其中,相同的汉字代 ...

  7. 再谈编程范式-程序语言背后的思想

    link link 编程范式 托马斯.库尔提出"科学的革命"的范式论后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包括三个方面,以OOP ...

  8. 再谈编程范式—程序语言背后的思想

    编程范式 托马斯.库尔提出"科学的革命"的范式论后,Robert Floyd在1979年图灵奖的颁奖演说中使用了编程范式一词.编程范式一般包括三个方面,以OOP为例: 1,学科的逻 ...

  9. 【Go语言】【13】再谈GO语言的结构体

    本文从如下四个方面再领着大家认识结构体 匿名结构体和匿名成员的结构体 值传递和引用传递 再谈嵌套结构体 面向对象 1.匿名结构体和匿名成员的结构体 如上篇所述,一个结构体需要先声明,再初始化,最后把初 ...

最新文章

  1. Nat. Mach. Intell.|从局部解释到全局理解的树模型
  2. narwal无法连接机器人_懒无止境 能自己洗抹布的云鲸J1扫拖机器人
  3. SSL/TLS协议详解
  4. php 正则替换style,php正则去除js,class,id,style标签代码
  5. 关于 .NET 与 JAVA 在 JIT 编译上的一些差异
  6. E - Another Postman Problem FZU - 2038
  7. Shell编程入门(第二版)(下)
  8. 国外除了Google还有什么搜索引擎?
  9. 【数据可视化工具DataEase】安装时提示 “Pool overlaps with other one on this address space“
  10. 《嵌入式 – GD32开发实战指南》第3章 GPIO流水灯的前世今生
  11. 2021年安全员-C证(陕西省)考试总结及安全员-C证(陕西省)模拟考试系统
  12. redit mysql_样式
  13. 矩特征、几何矩的定义
  14. 华为手机开源内核代码
  15. 先验概率与后验概率及贝叶斯公式
  16. 计算机网络读书笔记(二)
  17. 2017年【计算机视觉机器学习人工智能】领域重要会议 汇总 (持续更新)
  18. Linux 键盘/鼠标 按键事件 编程
  19. zigbee 定位
  20. 树莓派从零开始LAMP搭建web服务器(博客WordPress)教程

热门文章

  1. BOM:窗口位置、页面视口大小、window.open
  2. 全国平均工资水平排序 北京上海西藏居前三名
  3. TikTok搬运视频怎么才会不被限流?
  4. 使用命令行打开应用程序
  5. 《我的极品媳妇》方志强 王亚欣 小说读后感
  6. Google Bard vs ChatGPT:哪一个更适合创造富有创造性的文学作品?
  7. 小程序源码:和平精英吃鸡捏脸数据助手-多玩法安装简单
  8. select()函数
  9. 小程序图片底部留白问题
  10. python 魔法方法(2)