CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  扩充话题 >  灌水乐园

一个难以置信的答案:1/2而不是2/3.

楼主sun5000(★★★★★★)2005-07-29 20:46:38 在 扩充话题 / 灌水乐园 提问

看到这个帖子争论不休,所以来解释一下  
  ===========================引用原帖子==========================  
   
  前不久在美国《检阅》杂志的“玛丽莲”专栏上介绍的一道游戏性质的数学题,在美国引起了轰动,大约有1000所大中小学,从二年级的小学生到研究生都卷入了争解这个题目的讨论。有趣的是,在给该专栏主持人玛丽莲小姐的10000多封来信中,有约1000封是具有博士头衔的读者写的,他们说,玛丽莲小姐的答案是错的,而事实上,错的恰恰是博士们。  
    玛丽莲小姐的题目是这样的:有三扇可供选择的门,其中一扇后面是辆汽车,另两扇的后面都是一头山羊。你当然想选中汽车。主持人先让你随意挑选。比如你选了1号门,这时主持人打开的是后面有羊的一扇门(比如它是3号门),现在主持人问你:“为了有较大的机会选中汽车,你是坚持你原来的选择、还是愿意换选另一扇门?”  
    玛丽莲小姐公布的答案是:“应该换选另一扇门。”——这是说:她给你看3号门后面是羊之后,你原来选1号门的,应换选为2号门;你原来选2号门的,应换选1号门。  
    通常的想法是,主持人既然把没有车的那扇门打开了,剩下的两扇门后面是车是羊的可能性各占一半,坚持原来的选择也好,换选也好,选中车的机会都是二分之一。  
    博士们就是这样想的,你认为究竟谁对呢?  
   
   
  http://www.itpub.net/showthread.php?s=&threadid=389478&perpage=15&pagenumber=1  
   
   
  我也错了,事实证明是主持小姐对的,不过这个问题很复杂,根本不是2/3或1/2这样的概率,而是很多或然率的集合的产物。  
  总之,主持人是对的,但差距非常小,在一万次实验下,差别也不过十几次,我做了10个两万次实验,其中主持人胜出8次,博士集合们胜出2次,无论胜负,前面说了,差距都非常小。  
  下面是程序,自己感兴趣可以测试地址:  
  http://www.mwjx.com/aboutfish/fishcountry/tools/ms_marie_question.php    
   
  ==========================引用结束==================================================  
   
  原贴子地址:  
  http://community.csdn.net/Expert/topic/4172/4172679.xml?temp=.7618219  
   
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$  
  解释:楼主说的无论胜负,差距非常小,实际上是1/2的结果啊.  
  答案1/2,如果你们没学概率,或者一个小学生肯定回这么回答.理由很简单,那就是在剩下的两个选择里面,对错各半,换与不换是等同的.那么为什么大家分析来分析去,回说是2/3呢?是由于主持人的干扰,下面给个例子来说明2/3的情况是怎么产生的:  
   
  还是上面的场景,让三个人来选,A选1号门,B选2号门,C选3号门.三人几率相等,主持人打开1号门,里面是羊.这时,主持人问,你们三个换不换?对B,C来说,换与不换当然一样,但对A来说,当然要换,因为他已经选错了,他换了,几率提高了,原来是1/3,大开门后是0,换了,又变成1/2.有人把这个换了后,几率的变化加到了其他两个人上,所以得出2/3.  
  实际当主持人打开门后,几率要重新分配的,就是刚才写称的,你们的程序的随几数要在排除一个后,重新产生.  
  大家不要学的多了,反而把一些基本的思考问题的方法丢了. 问题点数:0、回复次数:139Top

1 楼sun5000(★★★★★★)回复于 2005-07-30 09:13:35 得分 0

upTop

2 楼SainTown()回复于 2005-07-31 15:19:34 得分 0

你的理解是错误的。  
   
  在你的理解里面,主持人可以在【三个门】里面任意选择一个有羊的门排除。  
   
  而在原题目中,主持人只能在【我选剩下的两个门】里面选择一个有羊的门排除。  
   
  因此,在你的理解里面,主持人任何时候都有两个选择!  
   
  但在原题目里面,在2/3的概率下(我选中了一个有羊的门的概率),主持人只有一个选择!    
  因为剩下的两个门里面肯定只有一个门后面是羊。而另一个被我选中了的有羊的门他是没有权利排除的!  
   
  寒!想清楚了再发贴吧。Top

3 楼Roaming_Sheep(Roaming Sheep)回复于 2005-07-31 15:23:52 得分 0

你的理解是错误的。  
   
  在你的理解里面,主持人可以在【三个门】里面任意选择一个有羊的门排除。  
   
  而在原题目中,主持人只能在【我选剩下的两个门】里面选择一个有羊的门排除。  
   
  因此,在你的理解里面,主持人任何时候都有两个选择!  
   
  但在原题目里面,在2/3的概率下(我选中了一个有羊的门的概率),主持人只有一个选择!    
  因为剩下的两个门里面肯定只有一个门后面是羊。而另一个被我选中了的有羊的门他是没有权利排除的!  
   
  寒!想清楚了再发贴吧。  
   
  ————————————————————————————  
  同意Top

4 楼sun5000(★★★★★★)回复于 2005-08-01 00:39:42 得分 0

答案是1/2,不用质疑,概率在主持人选完之后,是改变了的.  
  请仔细想想,如果想不通,就自己做一下实验:两个人,你当主持人,另一个当嘉兵.三个纸团.做20次......  
  好了,不解释了,如果有人还0想不通,就做上面的实验,不要写什么程序,思路都错了,写的程序能对么?  
  要程序,我可以给你写一个,伪程序如下,还是给个编译通过的吧:  
   
  #include   "stdafx.h"  
  #include   <time.h>    
  #include   <stdlib.h>    
   
  int   main(int   argc,   char*   argv[])  
  {        
        srand(   (unsigned)time(NULL));    
        //循环  
        int   iSwap   =   0;  
        int   iNoSwap   =   0;  
        int   i   =   0;  
        while   (i   <   100000)    
        {  
    int   iGate[3];  
    //三个门,为1的为车  
    int   iRand   =   rand()%3;  
    for   (int   j   =   0;   j   <   3;   j++)  
    {  
    iGate[j]   =   j   ==   iRand   ?   1   :   0;  
    }  
            //嘉宾选  
    int   iGuest   =   rand()   %   3;  
    //主持人选剩下的两个中为0的  
    int   iCompere   =   rand()   %   3;  
   
    if   (iCompere   ==   iGuest   ||   iGate[iCompere]   ==   1)  
    {    
    //此处一定要回到开头,因为主持人是不会选错的,一次就要中  
    //所以选错的情况应该排除在外,此处如果继续用while随机的话  
                                        //就违反了规则,就是主持人选错的也在里面了.  
    continue;  
    }  
    else  
    {  
    i++;  
    }  
    //不换,如果选中  
    if   (iGate[iGuest]   ==   1)  
    {  
    iNoSwap++;  
    }  
            else  
    {  
  iSwap++;  
    }  
        }  
        printf("%d/%d",iNoSwap,iSwap);  
        return   0;  
  }  
  Top

5 楼SainTown()回复于 2005-08-01 00:47:02 得分 0

if   (iCompere   ==   iGuest   ||   iGate[iCompere]   ==   1)  
    {    
    //此处一定要回到开头,因为主持人是不会选错的,一次就要中  
    //所以选错的情况应该排除在外,此处如果继续用while随机的话  
                                        //就违反了规则,就是主持人选错的也在里面了.  
    continue;  
    }  
   
  ------------------------  
   
  这是什么意思?  
  主持人从三个里面随机选,   如果选到嘉宾已经选到的那个,   那这次试验就不算数?   这是什么逻辑.  
   
  对应于到现实中就是这样:  
   
  嘉宾选了A门,   现在轮到主持人了.  
  主持人:   "好了,   现在让我也来抓个阄."  
  ...  
  主持人:   "哎呀,   我怎么也抓到A了?   这次不算数,   你还是重新选一个吧."  
   
   
  你自己看看和原题目中的描述是否一致吧.  
   
  Top

6 楼seedundersnow(想当英雄的懦夫)回复于 2005-08-01 06:21:51 得分 0

还需要这样的讨论?  
   
  Top

7 楼km3(北落师门)回复于 2005-08-01 08:25:36 得分 0

好象是上个世纪的题目,有点老套Top

8 楼weirdy(远古传说)回复于 2005-08-01 08:45:30 得分 0

楼主真搞笑,自己没弄懂到这里卖弄.如果这个试验重复做3次,按概率来讲,你会选对多少次?1次!Top

9 楼gameover1234(fasfdasdfasdfdasf)回复于 2005-08-01 09:01:08 得分 0

比如你选了1号门,这时主持人打开的是后面有羊的一扇门(比如它是3号门),  
   
   
  ======================================================================  
   
  SB楼主,认真想一下这句话.SB.Top

10 楼lsgt(天下第七)回复于 2005-08-01 09:13:04 得分 0

LZ看来要想一会了,呵呵Top

11 楼sun5000(★★★★★★)回复于 2005-08-01 09:20:29 得分 0

回复人:   SainTown()   (   )   信誉:96    
   
  if   (iCompere   ==   iGuest   ||   iGate[iCompere]   ==   1)  
    {    
    //此处一定要回到开头,因为主持人是不会选错的,一次就要中  
    //所以选错的情况应该排除在外,此处如果继续用while随机的话  
                                        //就违反了规则,就是主持人选错的也在里面了.  
    continue;  
    }  
  ===========================================================================  
  这个条件是没有问题的,主持人是必须选中有羊的,所以这里随机,选错的当然不算,要重来  
  这个条件等同于,主持人挑了一个羊的门,打开.  
   
   
    weirdy(远古传说)   (   )   信誉:93     2005-08-01   08:45:00     得分:   0      
     
     
  楼主真搞笑,自己没弄懂到这里卖弄.如果这个试验重复做3次,按概率来讲,你会选对多少次?1次!  
  ===================================================================================  
  这个问题和你举的例子完全不同,不同在:选完之后,有一个被排除了,并没有排除你选的那个,而且是每次都没有排除你选的那个,说明你选的那个是有机会大一些,也说明另一个的机会也大一些,实际两个机会相等,不要固执,仔细想想.  
   
  Top

12 楼podianliangshui(别问是劫是缘)回复于 2005-08-01 09:27:02 得分 0

发扬我的一贯风格,就给你泼点凉水吧,清醒清醒吧,  
   
  第一次其实我也以为是1/2,不过仿真程序就显示2/3,  
   
  lz一天到晚说别人错误的思想早就错误的程序,这句话对lz最适合了,自己不懂,连别人的代码都不看,你真是程序员中的极品...Top

13 楼SainTown()回复于 2005-08-01 10:00:36 得分 0

 
  #include   "stdafx.h"  
  #include   <time.h>    
  #include   <stdlib.h>    
   
  int   main(int   argc,   char*   argv[])  
  {        
        srand(   (unsigned)time(NULL));    
        //循环  
        int   iSwap   =   0;  
        int   iNoSwap   =   0;  
        int   i   =   0;  
        while   (i   <   100000)    
        {  
    int   iGate[3];  
    //三个门,为1的为车  
    int   iRand   =   rand()%3;  
    for   (int   j   =   0;   j   <   3;   j++)  
    {  
    iGate[j]   =   j   ==   iRand   ?   1   :   0;  
    }  
            //嘉宾选  
    int   iGuest   =   rand()   %   3;  
        //主持人选剩下的两个中为0的,   直到选中为止.  
        /*   主持人选错了就让他重选一个,   直到选中羊为止.   而不是整个试验都重新来过.   晕.   */  
          while(1)   {  
    int   iCompere   =   rand()   %   3;  
   
    if   (iCompere   ==   iGuest   ||   iGate[iCompere]   ==   1)  
    {    
    //此处一定要回到开头,因为主持人是不会选错的,一次就要中  
    //所以选错的情况应该排除在外,此处如果继续用while随机的话  
                                        //就违反了规则,就是主持人选错的也在里面了.  
  //   continue;  
    }  
    else  
    {  
    i++;  
                                        break;  
    }  
            }  
    //不换,如果选中  
    if   (iGate[iGuest]   ==   1)  
    {  
    iNoSwap++;  
    }  
            else  
    {  
  iSwap++;  
    }  
        }  
        printf("%d/%d",iNoSwap,iSwap);  
        return   0;  
  }  
   
  //-------------------------------------------------------------------------  
   
  就算是从来,   也要选对重来的地方才对吧.    
  我给你改了一下,   这样才能稍微准确的模拟真实情况.  
   
  寒!   看来楼主不适合做程序员.  
   
  程序员需要两种能力:  
  一是理解能力,   能够正确的理解客户的需求才能设计出正确的程序.  
  二是表达能力,   能够正确的表达出自己的思想才能编写出正确的代码.  
   
  通过对这个问题的讨论,   我觉得自己的表达能力有了一定的提高.   但楼主的理解能力似乎没有什么长进.  
  Top

14 楼sun5000(★★★★★★)回复于 2005-08-01 10:46:20 得分 0

这时主持人打开**的是**后面有羊的一扇门(比如它是3号门)  
  =================================================  
  请仔细分析这句话和下面这句话的区别:  
  这时主持人打开**了**后面有羊的一扇门(比如它是3号门)  
   
  这说明,主持人是随机选的,而且选中了羊.  
  上面让主持人选多次,选中车的那次也不重来么?选中嘉兵选的那个呢?是不是成了后面这句话的意思了?Top

15 楼sun5000(★★★★★★)回复于 2005-08-01 18:55:30 得分 0

你要算概率,当然主持人可以选车,选车是选择中的一种啊.是你把选车的概率加到换的上面了,选车的概率应该去掉才对.  
  如果选车的话,此次就不算,要重来,如果选选过的那个也一样,要重来.  
  就象下面的程序一样,你改的程序不对,如果主持人选错,就必须重来,因为主持人是随机选了羊,才有下面主持人问:换不换.  
  下面程序模拟场景没有错的,要不你找个同事模拟一下,就知道了,你打开一个门后(要随机啊),如果是车,要重来,你打开门,是羊继续,明显,剩下的两个几率相同,自己统计一下:  
  下面是我的程序的结果:50252:49748  
   
  那个if一定要返回到开头的,不能用while,if是从三个里面选,但是选错了,就重来了,等价于从两个里面选羊啊,用while就成了,从三个里面选,或选车也统计了....  
   
  #include   "stdafx.h"  
  #include   <time.h>    
  #include   <stdlib.h>    
   
  int   main(int   argc,   char*   argv[])  
  {        
        srand(   (unsigned)time(NULL));    
        //循环  
        int   iSwap   =   0;  
        int   iNoSwap   =   0;  
        int   i   =   0;  
        while   (i   <   100000)    
        {  
    int   iGate[3];  
    //三个门,为1的为车  
    int   iRand   =   rand()%3;  
    for   (int   j   =   0;   j   <   3;   j++)  
    {  
    iGate[j]   =   j   ==   iRand   ?   1   :   0;  
    }  
            //嘉宾选  
    int   iGuest   =   rand()   %   3;  
    //主持人选剩下的两个中为0的  
    int   iCompere   =   rand()   %   3;  
   
    if   (iCompere   ==   iGuest   ||   iGate[iCompere]   ==   1)  
    {    
    //此处一定要回到开头,因为主持人是不会选错的,一次就要中  
    //所以选错的情况应该排除在外,此处如果继续用while随机的话  
    //就违反了规则,就是主持人选错的也在里面了.  
    continue;  
    }  
    else  
    {  
    i++;  
    }  
    //不换,如果选中  
    if   (iGate[iGuest]   ==   1)  
    {  
    iNoSwap++;  
    }  
            else  
    {  
  iSwap++;  
    }  
        }  
        printf("%d/%d",iNoSwap,iSwap);  
        return   0;  
  }  
   
  Top

16 楼sun5000(★★★★★★)回复于 2005-08-01 19:21:54 得分 0

对上面程序的那个if,觉得和实际不等价的(实际是等价的),下面修改了一下,  
  和实际情况对应的:  
   
  #include   "stdafx.h"  
  #include   <time.h>    
  #include   <stdlib.h>    
   
  int   main(int   argc,   char*   argv[])  
  {        
  srand(   (unsigned)time(NULL));    
  //循环  
  int   iSwap   =   0;  
  int   iNoSwap   =   0;  
  int   i   =   0;  
  while   (i   <   100000)    
  {  
  int   iGate[3];  
  //三个门,为1的为车  
  int   iRand   =   rand()%3;  
  for   (int   j   =   0;   j   <   3;   j++)  
  {  
  iGate[j]   =   j   ==   iRand   ?   1   :   0;  
  }  
  //嘉宾选  
  int   iGuest   =   rand()   %   3;  
  //主持人选剩下的两个中为0的  
  int   iCompere;  
  //嘉宾选了车,则主持人无论怎么选,都是羊  
  if   (iGate[iGuest]   ==   1)  
  {  
  ;  
  }  
  else//嘉宾选了羊,主持人选中车的时候,不能算。因为换不换都没有车选了,所以要重来  
  {  
  iCompere   =   rand()   %   2;//为0表示选了车,为1表示选了羊  
  if   (iCompere   ==   0)  
  {  
  continue;  
  }  
  }  
   
  i++;  
  //不换,如果选中  
  if   (iGate[iGuest]   ==   1)  
  {  
  iNoSwap++;  
  }  
  else  
  {  
  iSwap++;  
  }  
  }  
  printf("%d/%d",iNoSwap,iSwap);  
  return   0;  
  }  
   
  49833:50167  
  Top

17 楼SainTown()回复于 2005-08-01 19:35:16 得分 0

我认输了,我承认我的表达能力赶不上楼主的理解能力。Top

18 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-08-02 10:26:51 得分 0

偶的实现   :-)  
   
   
  import   java.util.Random;  
  /**  
    *   @author   metaphy  
    */  
  public   class   CarOrSheep   {  
          public   static   void   main(String[]   args){  
                  int   times   =   100000   ;  
                  Random   r   =   new   Random();  
                  int   aim_car   =   0   ;  
                  int   another_aim_car   =   0   ;  
                   
                  for(int   i=0;   i<   times;   i++){  
                          int[]   gate   =   new   int[]{0,0,0}   ; //门0,1,2  
                          int   index   =   r.nextInt(3); //后面有车的门  
                          //int   index   =   0   ; //实际上,此处不作随机处理而用定值,对结果没有任何影响  
                          gate[index]   =   1   ;  
                          int   choice   =   r.nextInt(3)   ; //客人的选择  
                          int   open   ; //被打开的后面有羊的门  
                          int   intopen   =   r.nextInt(2);  
                          for(open=   0;   open<3;   open++){  
                                  if(open   !=   choice){  
                                          if(gate[choice]==0){ //选的是羊,则把另一后面是羊的门打开  
                                                  if(gate[open]==0){ //门后是羊  
                                                          break   ;                                                          
                                                  }else{ //门后是车  
                                                          for(int   j=   0;   j<3;   j++){  
                                                                  if(j!=open   &&   j!=choice){  
                                                                          open   =   j   ;  
                                                                          break   ;  
                                                                  }  
                                                          }  
                                                          break   ;  
                                                  }  
                                          }else{ //选的是车,则<B>随机</B>打开另外两扇的其中一扇  
                                                  if(choice==0){    
                                                          open   =   1   +   intopen   ;  
                                                  }else   if(choice==1){  
                                                          open   =   intopen*2   ;  
                                                  }else{  
                                                          open   =   intopen   ;  
                                                  }  
                                                  break   ;  
                                          }  
                                  }                                  
                          }  
                          int   another_choice   ; //假如想改变选择的话,重新选的门  
                          for(another_choice   =0   ;another_choice<3;   another_choice++){  
                                  if(another_choice!=open   &&   another_choice!=choice){  
                                          break   ;  
                                  }  
                          }  
                          aim_car   +=   gate[choice]   ;  
                          another_aim_car   +=   gate[another_choice]   ;  
                  }                  
                  System.out.println("试验次数:   "+   times);  
                  System.out.println("坚持原来选择中车的次数:   "+   aim_car);  
                  System.out.println("重新选择中车的次数:   "+   another_aim_car);  
          }  
  }  
   
  试验次数:   100000  
  坚持原来选择中车的次数:   33137  
  重新选择中车的次数:   66863  
   
   
   
  p.s.   关于打开一扇门后,选中车的概率上升这样的说法很有趣;问题的焦点就在这,偶没理解  
  不过看程序运行情况,偶要是嘉宾的话,偶会重新去选另一个的   :-)  
  Top

19 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-08-02 10:37:12 得分 0

其实可以这样想:  
  一开始的选择,几率:1/3;  
  主持人踢出一个1/3;  
  剩下的那个自然是2/3   了  
   
   
  bingo~  
  Top

20 楼romeo(豺神到)回复于 2005-08-02 11:00:02 得分 0

如果你选A门,则:  
   
  如果车在A门,主持人打开B门   ----------   不换得车  
  如果车在A门,主持人打开C门   ----------   不换得车  
  如果车在B门,主持人打开C门   ----------   换得车  
  如果车在C门,主持人打开B门   ----------   换得车  
   
  我怎么看都是   换   和   不换的概率都是50%?  
   
  错在什么地方啊....  
  Top

21 楼weirdy(远古传说)回复于 2005-08-02 11:26:57 得分 0

错在车在A,B,C门后的概率都是1/3,Top

22 楼podianliangshui(别问是劫是缘)回复于 2005-08-02 11:33:38 得分 0

SainTown()   (   )   信誉:96     2005-08-01   19:35:00     得分:   0      
     
     
        我认输了,我承认我的表达能力赶不上楼主的理解能力。  
    ----------------------------------------------------------------  
   
   
   
  搂主不可理喻,死了这份心吧,我替搂主所在公司感到悲哀  
  Top

23 楼SainTown()回复于 2005-08-02 11:45:11 得分 0

呵呵,其实楼主已经知道自己错了,在那个回复150多的帖子里面,我回复过了30回不了了。  
   
  楼主现在已经意识到了这个问题:  
  只有在主持人也是随机选择的情况下,换不换概率才是一样多,都是1/3。  
  如果主持人是刻意选出一个羊来,概率是1/3和2/3。  
   
  不过楼主还在嘴硬的坚持他自己一开始就是这么理解的。唉~  
  麻烦楼主自己来看看你最开始的分析,看你是不是那么理解的。  
  你自己说的概率都是1/2,实际上即使是在概率相同的主持人也随机选择的情况下,概率也都是1/3而不是1/2。  
   
  还说什么“答案是1/2,不用质疑,概率在主持人选完之后,是改变了的.”  
  天啊,还是改变了的。我不想替楼主所在的公司感到悲哀,我想替教楼主学概率的数学老师悲哀一下。  
  Top

24 楼sun5000(★★★★★★)回复于 2005-08-02 12:02:35 得分 0

不得不再发一下这个  
  =========================================  
  对上面程序的那个if,觉得和实际不等价的(实际是等价的),下面修改了一下,  
  和实际情况对应的:  
   
  #include   "stdafx.h"  
  #include   <time.h>    
  #include   <stdlib.h>    
   
  int   main(int   argc,   char*   argv[])  
  {        
  srand(   (unsigned)time(NULL));    
  //循环  
  int   iSwap   =   0;  
  int   iNoSwap   =   0;  
  int   i   =   0;  
  while   (i   <   100000)    
  {  
  int   iGate[3];  
  //三个门,为1的为车  
  int   iRand   =   rand()%3;  
  for   (int   j   =   0;   j   <   3;   j++)  
  {  
  iGate[j]   =   j   ==   iRand   ?   1   :   0;  
  }  
  //嘉宾选  
  int   iGuest   =   rand()   %   3;  
  //主持人选剩下的两个中为0的  
  int   iCompere;  
  //嘉宾选了车,则主持人无论怎么选,都是羊  
  if   (iGate[iGuest]   ==   1)  
  {  
  ;  
  }  
  else//嘉宾选了羊,主持人选中车的时候,不能算。因为换不换都没有车选了,所以要重来  
  {  
  iCompere   =   rand()   %   2;//为0表示选了车,为1表示选了羊  
  if   (iCompere   ==   0)  
  {  
  continue;  
  }  
  }  
   
  i++;  
  //不换,如果选中  
  if   (iGate[iGuest]   ==   1)  
  {  
  iNoSwap++;  
  }  
  else  
  {  
  iSwap++;  
  }  
  }  
  printf("%d/%d",iNoSwap,iSwap);  
  return   0;  
  }  
   
  49833:50167  
  Top

25 楼SainTown()回复于 2005-08-02 12:09:48 得分 0

“答案是1/2,不用质疑,概率在主持人选完之后,是改变了的.”  
  -----  
  我希望楼主能首先认识到你的这个错误。否则我觉得没必要讨论你的程序是否正确的模拟了真实情况。  
  当然我已经没有信心让你弄明白你错在那里了,我建议你就近找个数学老师请教一下。谢谢。Top

26 楼podianliangshui(别问是劫是缘)回复于 2005-08-02 12:47:37 得分 0

实在看不下去了,老夫就发一次癫:  
   
  搂主有病,搂主有病,搂主有病,搂主有病,搂主有病,  
  搂主有病,搂主有病,搂主有病,搂主有病,搂主有病,  
   
   
  后续者不要回帖,到此为止,就让搂主糊涂蛋一辈子吧  
   
  后续者不要回帖  
  后续者不要回帖  
  后续者不要回帖  
  Top

27 楼zelloss(不能成为机器!)回复于 2005-08-02 12:55:21 得分 0

楼上的别傻了,楼主是正确的,换与不换都是1/2的几率,你们自己想想吧,考虑概率问题的大忌  
  不要将主持人打开哪扇门的几率考虑进去,只考虑嘉宾的选择几率  
   
  还有,程序是没法模拟这类情况的,因为做为人来说,主持人无论嘉宾选哪个门,她都可以选出一扇后面是羊的门来打开,但程序处理时,需要考虑嘉宾选了哪个门,门后是什么,主持人选择门后有羊的几率是多少,那完全不对了!!Top

28 楼sun5000(★★★★★★)回复于 2005-08-02 12:56:15 得分 0

SainTown()   (   )   信誉:96     2005-08-02   11:45:00     得分:   0        
     
  呵呵,其实楼主已经知道自己错了,在那个回复150多的帖子里面,我回复过了30回不了了。  
  ====================================================================================  
  错在哪了?  
   
  楼主现在已经意识到了这个问题:  
  只有在主持人也是随机选择的情况下,换不换概率才是一样多,都是1/3。  
  ===================================================================================  
  都是1/2,不是1/3,请想清楚.概率是变化的.  
   
  如果主持人是刻意选出一个羊来,概率是1/3和2/3。  
  ============================================================================  
  这个没有问题.但是不符合题目啊.  
   
  不过楼主还在嘴硬的坚持他自己一开始就是这么理解的。唉~  
  ===================================================================  
  从哪句看出"楼主还在嘴硬的坚持他自己一开始就是这么理解"的?  
  你的意思好想是说这么理解对了?那是你错了?还是你开始表述不清?  
   
  麻烦楼主自己来看看你最开始的分析,看你是不是那么理解的。  
  你自己说的概率都是1/2,实际上即使是在概率相同的主持人也随机选择的情况下,概率也都是1/3而不是1/2。  
  =====================================================================================  
  同上  
   
   
  还说什么“答案是1/2,不用质疑,概率在主持人选完之后,是改变了的.”  
  天啊,还是改变了的。========================================================================================  
  答案是1/2,不用质疑,概率在主持人选完之后,是改变了的!  
  这个是没有问题的.三个里面排除了一个,剩下的两个概率没变?  
   
  我不想替楼主所在的公司感到悲哀,我想替教楼主学概率的数学老师悲哀一下。  
  ========================================================================================  
  这个好象不该在这里讨论吧?  
   
   
  //门后是车  
  for(int   j=   0;   j<3;   j++){  
      if(j!=open   &&   j!=choice){  
            open   =   j   ;  
      break   ;  
    }  
  =======================================================================  
  没看完,java不会,惭愧!  
  这里有问题,为什么选了车,不返回,而要重选?重选就是把选中车的概率加到换的上面了,  
  实际上选了车,换与不换都选不到车了,两个都不加才对.  
  你的意思好象是随机选,但是你的程序是指定选择,如果你想指定选择,不用这么烦琐吧?  
   
     
  Top

29 楼SainTown()回复于 2005-08-02 12:57:41 得分 0

楼主有没有去找个数学老师请教一下?不要怕麻烦嘛。Top

30 楼SainTown()回复于 2005-08-02 12:58:32 得分 0

还在“概率是变化的”,真不知道你是从哪里得出这样的结论的。Top

31 楼zelloss(不能成为机器!)回复于 2005-08-02 12:59:19 得分 0

还有,我实在对有些人的智商不敢恭维,如果你的思路是错的,你编出的程序必然也是错的,用程序来达到实验的目的,是自欺欺人的!!!  
   
  只有的自己的思路正确了才能编出正确的程序Top

32 楼SainTown()回复于 2005-08-02 13:09:37 得分 0

我同意“只有的自己的思路正确了才能编出正确的程序”,不过我也对某些人的智商不敢恭维。  
   
  另外纠正楼上的一句话:现代科学基本上都是实践的科学。数学虽然相对比较抽象,不过概率也是一门和实践密切相关的科学。所以说:“用程序来达到实验的目的,是自欺欺人的!!!”这句话是错的。应该改为:“试图用错误的程序来达到论证的目的,是自欺欺人的”。Top

33 楼l23422231(Think Positive)回复于 2005-08-02 13:23:22 得分 0

用选不中的概率来比较,选不中的概率越小越好  
   
  第一次选中的概率是1/3,选不中的概率是2/3  
  主持人排除一个选项后,   第一次选不中的概率不变   还是2/3  
  另一扇门选不中的概率变成   1/2  
   
  2/3   >1/2  
  所以该选另一扇门Top

34 楼syalan(南瓜饼)回复于 2005-08-02 13:30:43 得分 0

觉得是50%的来看一下  
   
   
  这么好理解的一个问题,觉得想不通的这样假设:  
   
  现在变成10扇门了,你选了一扇,然后主持人开了8个羊的门,然后你是坚持自己的还是换另一个没开的?你觉得你一开始选择的就是吗?你运气那么好?1/10的概率都中?Top

35 楼SainTown()回复于 2005-08-02 13:45:15 得分 0

 
  现在变成10扇门了,你选了一扇,然后主持人开了8个羊的门,然后你是坚持自己的还是换另一个没开的?你觉得你一开始选择的就是吗?你运气那么好?1/10的概率都中?  
   
  ----------  
   
  你的假设对他们没用.   按照他们的理解,   这时候他们的好运气已经"变化"到1/2了.  
  Top

36 楼tianjinfan(反对球霸)回复于 2005-08-02 13:48:46 得分 0

看看Top

37 楼BurningM(沪指直下三千尺,疑是股民泪满天)回复于 2005-08-02 14:12:27 得分 0

这题目好老,如果我没记错,我是在至少8年以前的读者上见到的Top

38 楼BurningM(沪指直下三千尺,疑是股民泪满天)回复于 2005-08-02 14:20:05 得分 0

觉得是1/2的,建议好好去学下概率学,认真从头到尾学一遍  
  概率在第一次选择的时候就已经确定了,只有1/3,和主持人是否打开门没有关系Top

39 楼tangqiuzheng(恭喜发财万事如意)回复于 2005-08-02 14:42:02 得分 0

楼上那些弟弟与妹妹们再学概率论也没有用了。  
   
  就这么说吧:  
  我现在终于明白了为什么我总共学了4个小时(逃课,抄作业),概率论就考了80分,却有那么多的来自全国各地的同学中,有许多人学了一学期,才惊惊险险地考了60多分。  
   
  我觉得这根本不是他们概率能学多少分的问题了,也不是运气,而是某个接近真理的东西他们不明白。比如,楼上的许多同学和楼主,对于这种只需要花3到10秒就可以毫无悬念地解决的问题……!相当于我学10秒钟不到的概率论,就要让他们去学上那么长一段时间。  
   
  是1/2。Top

40 楼l23422231(Think Positive)回复于 2005-08-02 14:57:19 得分 0

剩下的两个门的概率不是平均分配的.不是1/2:1/2.  
   
  原因:  
  排除的时候,主持人不是从所有门里面去掉,(肯定不会打开你选的门)  
  而是从没选的两扇门里面去掉,    
  这样,提高的1/3概率只能加到另一扇门上=2/3,不能加到第一次选的门上.  
   
  Top

41 楼sun5000(★★★★★★)回复于 2005-08-02 15:01:39 得分 0

BurningM(Burning)   (   )   信誉:100    
  都八年了,还没弄明白?  
  仔细看看上面的论述.  
   
  排除一个,概率变化,这个是没有问题的!  
  尽信书不如无书!  
  还有一句,不要读死书!Top

42 楼SainTown()回复于 2005-08-02 15:10:54 得分 0

在这个帖子的最后,   我只想想楼主指出一个问题:  
   
  概率的相关定义:    
   
  事件发生的频率:     事件在n次试验中发生a次,   则频率为   a/n.  
  事件发生的概率:     事件发生的可能性的度量.  
  概率定理:   在足够多次试验的情况下,   事件发生的频率趋近于事件发生的概率.  
   
  楼主请注意:  
   
  在你的主持人也进行随机选择的试验程序里,   遇到主持人选中车的情况,   就像你说的像李咏那样,   抱歉,   你与幸运擦肩而过.   这样的情况也应该计入试验的总次数.   但现在你错误的把他们丢弃了.  
   
  因此,   虽然你得出了   49833:50167   的数据,   不过你实际进行的试验次数并不止   100000   次.  
  请修改你的程序,   记录一下试验进行的总次数,   然后再测试一次.  
   
  我只是想告诉你,   即使在主持人也随机选择的情况下,   换与不换得到车的概率也都不是1/2,   而是小于1/2,   因为还有一定的可能性车还会被主持人拿走.  
   
  事实上,   这等价于三个人各选一个门的情况.   他们应该都是1/3.   本来想直接告诉你是1/3,   怕你不信,   你还是自己去做做试验吧.  
   
  Top

43 楼sun1976(嫁给我,你就是我的一妾)回复于 2005-08-02 15:29:37 得分 0

几率是重新分配了没错  
   
  但是不选择另外一个门不等于没有选择  
   
  而是在剩下的两个门中选了一个,而选择的是前面选过的那个。  
   
  你凭什么说我在进行一次选择的时候,选另外一个比选原来的中将概率大?  
   
  ==================  
  楼主的实验,你同时选两个人,分别选a\b门,然后一个换,一个不换  
  也就是最终都选了同一个门,那他们的中将概率能不一样吗Top

44 楼ggyz(小虫)回复于 2005-08-02 15:34:26 得分 0

啊,这个题目有必要这样讨论吗?  
  开始选中的概率为1/3,选不中的概率为2/3。换了以后,之前选中的成为选不中,之前选不中的成为选中,刚好颠倒一下,所以换的话概率是2/3。  
  这个不是早有定论了吗?还讨论什么?Top

45 楼sun5000(★★★★★★)回复于 2005-08-02 15:44:38 得分 0

你实际进行的试验次数并不止   100000   次.  
  =======================================  
  没错,但是能让主持人问:你换还是不换的情况就是100000   次.  
  还有的次数是主持人说:很遗憾,你和幸运擦肩而过的次数,不在题目讨论范围,你为什么非要把这个次数加上,来干扰自己的思维呢?  
  在主持人问,你换还是不换的情况中,换和不换的比:1:1,各占总数1/2.  
   
  上面的程序是没问题的!Top

46 楼SainTown()回复于 2005-08-02 15:46:45 得分 0

我晕,   楼主开始无聊了哈.   呵呵.   没意思,   不参与这个帖子了.Top

47 楼boreboluomi(混账东西)(★★★★★★ 乃乃地,这么多星)回复于 2005-08-02 16:06:27 得分 0

真理往往掌握在少数人手里,   我认为,   答案:   换,概率大于是   1/2,   但也不是   2/3  
  我闪Top

48 楼brianwww(雨后初晴)回复于 2005-08-02 16:12:13 得分 0

让你作换或者不换的选择时,要么换能够选到车,要么不换能够选到车,两者不管概率分别是多少,加起来肯定是1;  
  再来看不换得到车的概率,如果吃准了自己不换,那么整个情况就和主持人无关了,第一次从三个门中选中什么就是什么,坚持到最后,那么这种情况肯定概率就是1/3,因为当你第一次从三个门里面选的时候结果就已经定下来了;  
  那么现在答案很清楚了,   换2/3,   不换1/3.  
  Top

49 楼sun5000(★★★★★★)回复于 2005-08-02 17:11:16 得分 0

最新消息:  
  SainTown()喷血中......  
   
  何必呢?其实你说2/3,也是有道理的,只是不是我们这个问题的情况!  
  哈哈哈哈哈...(周星驰的笑)  
   
  答案:1/2,不要再争了,想不通的看上面的分析,我不想再发了!Top

50 楼SainTown()回复于 2005-08-02 17:21:51 得分 0

呵呵,   我只是觉得你已经开始在耍无赖了.  
   
  假如你参加了很多次这个节目,    
  人家问你你参加这个节目得到车的频率是多少,   你怎么计算?  
   
  是       [你得到车的次数/你参加节目的总次数]   呢?  
  还是   [你得到车的次数/(你参加节目的总次数-主持人选到车的次数)   呢?  
   
  如果你回答后者的话,   那么我只能认为你在耍无赖,   你也可以问问其他人看他们怎么认为.  
  如果你回答前者的话,   我倒要看看你怎么得出1/2的答案来.   呵呵.  
  Top

51 楼sun5000(★★★★★★)回复于 2005-08-02 17:55:02 得分 0

SainTown()   (   )   信誉:96    
  假如你参加了很多次这个节目,    
  人家问你你参加这个节目得到车的频率是多少,   你怎么计算?  
   
  是       [你得到车的次数/你参加节目的总次数]   呢?  
  还是   [你得到车的次数/(你参加节目的总次数-主持人选到车的次数)   呢?  
   
  如果你回答后者的话,   那么我只能认为你在耍无赖,   你也可以问问其他人看他们怎么认为.  
  如果你回答前者的话,   我倒要看看你怎么得出1/2的答案来.   呵呵.  
  ====================================================================  
  你的问题答案当然是前者,但是你这个问题和这个帖子描述不一致啊?此时,换,得到车的概率也是前者啊,不还是1:1?  
   
  你怎么还是把主持人选车的情况加了上去,而且加在了换,就能得到车的上面?主持人选车,换于不换都得不到,只是总次数增加了,其实换与不换的概率比不变,还是1:1,当然,现在这个问题不是这种情况,  
  现在的问题是:当主持人选了羊之后,问你换不换?  
   
  就是说,你上面的问题这样问才和帖子里的描述等价:  
   
  在主持人选中羊的情况里,你得到车的概率是多少?(主持人选车的不能算在里面)  
  Top

52 楼SainTown()回复于 2005-08-02 18:06:38 得分 0

又来了...  
  你就尽情的改变题目吧,   怎么和你的理论符合,   你就怎么改好了...  
   
  不过我只想说明一点,   你可以用"主持人就是随机选择的"的理解来掩饰你的答案的错误,   不过你这个逻辑/或者说概念上的错误无论如何也掩饰不了.  
   
  "答案是1/2,不用质疑,概率在主持人选完之后,是改变了的."  
   
  这句话是你说的吧,   请你根据你的"概率改变了的"理论做一下下面这道题目,   可不要再回避问题了哦..  
   
   
  回复人:   SainTown()   (   )   信誉:96     2005-8-2   13:59:39     得分:   0      
     
     
         
  你看,   楼主,   你选了一个门,   现在你把这个门背回家去,   但不要打开.  
  留在会场的另外两个门你就崩操心了.  
   
  现在你回家以后,   告诉你老婆:   "老婆,   这个门里面有____的概率是一辆车,   高兴啵?"  
   
  请问楼主在上面的空空里面填那个数字?  
   
  是   1/3   ,   1/2   ,   1   还是   0   呢?  
   
  按照你的"概率变化论",   这四个答案都是正确的呢.  
   
       
  Top

53 楼ShallowShrimp(还我自由)回复于 2005-08-02 18:32:52 得分 0

1.我先选  
  2.主持人打开一有羊的门  
  3.问我换不换  
   
  则换与不换一样的。其实前两个步骤是多余的,决策在于第三个步骤。  
   
  相信直觉吧,别陷入抽象!Top

54 楼youyiwuyi(有意无意)回复于 2005-08-02 18:55:30 得分 0

写程序是可能写错的。Top

55 楼sun5000(★★★★★★)回复于 2005-08-02 18:55:51 得分 0

回复人:   SainTown()   (   )   信誉:96     2005-8-2   13:59:39     得分:   0      
  你问的问题和这个问题一点都不沾边啊?  
  不知道你再说什么?别激动,你想说什么?说清楚!  
   
  我把门搬回家?和概率有关系么?  
  会场的门一个也不打开,当然是1/3,打开一个不是车,变为1/2......  
  不懂你的意思,你是要说,会场门打开了,我不知道?  
  在我不知道的情况下,对我来说的概率当然不变.问题是你打开了一个门,是羊,我知道了.....  
   
   
  "答案是1/2,不用质疑,概率在主持人选完之后,是改变了的."  
  这句话错在哪?概率不变的话,剩下的两个门也都是1/3和你的1/3->2/3不是自相矛盾么?  
   
  Top

56 楼SainTown()回复于 2005-08-02 19:58:38 得分 0

别叉开话题,   快回答我的问题.   不敢回答还是根本就不知道答案啊?Top

57 楼SainTown()回复于 2005-08-02 20:00:32 得分 0

 
  "答案是1/2,不用质疑,概率在主持人选完之后,是改变了的."  
  这句话错在哪?概率不变的话,剩下的两个门也都是1/3和你的1/3->2/3不是自相矛盾么?  
   
  ----  
   
  看来你还有健忘症,   你忘了被你粗暴地抛弃的那些试验了?  
  这样丢三拉四的思维习惯怎么当程序员啊.   唉~    
  Top

58 楼wangjianddy(~~~~>_<~~~~)回复于 2005-08-02 20:19:53 得分 0

回复人:   syalan(南瓜饼)   (   )   信誉:89     2005-08-02   13:30:00     得分:   0      
     
     
        觉得是50%的来看一下  
   
   
  这么好理解的一个问题,觉得想不通的这样假设:  
   
  现在变成10扇门了,你选了一扇,然后主持人开了8个羊的门,然后你是坚持自己的还是换另一个没开的?你觉得你一开始选择的就是吗?你运气那么好?1/10的概率都中?  
       
     
  =============================================================================  
  我靠,这个问题我也想一下,我认为你的理解是错的,  
  假设10个门,你选了1号门,在主持人打开了8个羊的门后,假设剩下了3号门。  
  理解错误的人都理所当然的认为排除了8个门后,仅仅是3号门对的概率上升了。  
  请问你1号门的概率是不是随着8个门的排除后也上升了?  
  关键就在于1号和3号门的位置是对等的,排除8个门后,选中的概率不会仅仅向3号上集中。  
  Top

59 楼SainTown()回复于 2005-08-02 20:58:07 得分 0

wangjianddy(~~~~>_<~~~~)    
  1号和3号门的位置是对等的?  
  仔细想看看.  
   
  3号门在剩下的9个门中,   这9个门中任何一个都有可能成为那8个被打开的门之一.   包括3号门在内.  
  1号门有可能成为那8个被打开的门之一吗?  
   
  再给你举个例子:   10个人比赛,   1号走后门直接进了决赛,   剩下的9个人通过竞争淘汰了8个,   然后剩下了一个.   剩下的这个人和1号相比,   你认为谁的能力更强的可能性更大?   1号和剩下的那个人的位置是对等的?  
  Top

60 楼ShallowShrimp(还我自由)回复于 2005-08-02 21:06:58 得分 0

请不要再概率不概率了,关键是做选择的是人而不是机器,人是不可能再盲选的,况且目标已经很明确了,就是要选择有车的那扇门。Top

61 楼SainTown()回复于 2005-08-02 21:10:26 得分 0

回复人:   sun5000()   (   )   信誉:96     2005-08-02   18:55:00     得分:   0      
     
  回复人:   SainTown()   (   )   信誉:96     2005-8-2   13:59:39     得分:   0      
  你问的问题和这个问题一点都不沾边啊?  
  不知道你再说什么?别激动,你想说什么?说清楚!  
   
  我把门搬回家?和概率有关系么?  
  会场的门一个也不打开,当然是1/3,打开一个不是车,变为1/2......  
  不懂你的意思,你是要说,会场门打开了,我不知道?  
  在我不知道的情况下,对我来说的概率当然不变.问题是你打开了一个门,是羊,我知道了.....  
   
  ----  
   
  刚刚还没注意你的这段回复,   真是有趣.  
   
  你的意思是你不知道,   所以对你来说,   概率不变,   还是   1/3   对吧?  
   
  现在在会场那边,   主持人打开一扇门,   是羊,   当然,   你还是不知道,   按照你的理论,   这时候还在会场里的人知道了,   所以在他们那里,   你拿到车的概率就是   1/2   了对吧?  
   
  好了,   现在剩下的人走光了,   主持人打开最后一扇门,   发现是车,   当然,   你和其他的人都不知道,   按照你的理论,   这时候在主持人那里,   你拿到车的概率就是   0   了对吧?  
   
  真是奇怪,   那你选到车的概率到底是多少?   它还会随着不同的人变化?   还会随着你知不知道变化?  
   
  你简直就是数学界的爱因斯坦啊,   你发现了概率学中的相对论啊!   楼主你快去申请诺贝尔奖吧.  
   
  哦,   对了,   诺贝尔没有数学奖.   不过你可以申请经济学奖.    
  数学家拿经济学奖也不是没有先例,   而且好像就是研究概率论的呢.  
   
  为什么说楼主可以拿经济学奖呢?  
   
  假如.楼主去买彩票(只有一个大奖的那种),   买回来就是不打开,   如果其他人中奖了,   按照楼主的理论,   楼主的彩票中奖的概率就是0,   楼主可以以伪劣商品和还未拆封的名义把彩票退回去.   (中奖概率为0,   就是永远不会中奖的彩票,   不是伪劣商品是什么?)   如果其他人没中奖,   按照楼主的理论,   楼主的彩票中奖的概率就是1,   楼主就可以高高兴兴的打开彩票去兑奖了.  
   
  稳赚不陪啊!   像楼主这样的人才,   得个诺贝尔经济学奖哪是理所当然的了.  
  Top

62 楼brianwww(雨后初晴)回复于 2005-08-02 22:21:16 得分 0

反正你别再拿那个破烂程序说事了,破绽我已经指出来了,一开始没选中门的情况里面根本不可以排除掉一半,主持人是不存在选中车的情况的。Top

63 楼sun5000(★★★★★★)回复于 2005-08-02 22:47:22 得分 0

SainTown()   (   )    
  你也太搞笑了,你的推理刚好把你自己都归谬了!  
  我问你,ABC三个门,你选A,中车的概率是多少?  
  你答1/3,这还用问么?但是车是我放进去的,所以我知道.车在B门里面,  
  所以你说的1/3是错的!这个你怎么解释?把问题扯到这里来,书上的东西你理解了么?  
  笑死我了,你搞半天,就是要证明这个么?  
  ============================================  
  假如.楼主去买彩票(只有一个大奖的那种),   买回来就是不打开,   如果其他人中奖了,   按照楼主的理论,   楼主的彩票中奖的概率就是0,   楼主可以以伪劣商品和还未拆封的名义把彩票退回去.   (中奖概率为0,   就是永远不会中奖的彩票,   不是伪劣商品是什么?)   如果其他人没中奖,   按照楼主的理论,   楼主的彩票中奖的概率就是1,   楼主就可以高高兴兴的打开彩票去兑奖了.  
  ============================================  
  这个,就更有意思了,彩票的概率从不为0,有人中奖,变为0,有什么问题?你是在不为0的时候买的啊.大奖都开出来了,我再卖你几张,你还要么?是此次活动卖完的啊,按你的理论,概率是卖之前的啊.后面半句是什么意思,别人的全没中,又有一个中的,当然是这一个了.  
   
  =========================================  
  程序没有问题!Top

64 楼sun5000(★★★★★★)回复于 2005-08-02 22:49:29 得分 0

大奖都开出来了,我再卖你几张,你还要么?是此次活动**没**卖完的啊,按你的理论,概率是卖之前的啊.  
   
  掉了个没字!Top

65 楼wangjianddy(~~~~>_<~~~~)回复于 2005-08-02 23:04:05 得分 0

回复人:   SainTown()   (   )   信誉:96     2005-08-02   20:58:00     得分:   0      
     
     
        wangjianddy(~~~~>_<~~~~)    
  1号和3号门的位置是对等的?  
  仔细想看看.  
   
  3号门在剩下的9个门中,   这9个门中任何一个都有可能成为那8个被打开的门之一.   包括3号门在内.  
  1号门有可能成为那8个被打开的门之一吗?  
   
  再给你举个例子:   10个人比赛,   1号走后门直接进了决赛,   剩下的9个人通过竞争淘汰了8个,   然后剩下了一个.   剩下的这个人和1号相比,   你认为谁的能力更强的可能性更大?   1号和剩下的那个人的位置是对等的?  
   
       
  ===========================================================  
  你有没有搞错阿,你问能力干吗?你应该问1和剩下的那个人谁会被淘汰,而这种淘汰规则是随机的~~~  
  我已经懒得说了,这种问题实在是简单的不能在简单了。  
  有些人执著的已经像以前的java大师了~~~请不要回复我了。你可以认为我错了,我也不想理会你的任何反驳。太无聊了~~~~Top

66 楼SainTown()回复于 2005-08-03 00:54:54 得分 0

寒,   是啊.   我就因为无聊才回复这个问题的啊.    
   
  要想不无聊,   你去请教一位你认为的权威如何?   任何一个认真学过概率的人都会教给你正确答案的.  
   
  呵呵.   无聊时间过了啊.   sun5000   请继续瞎掰...   再见.  
  Top

67 楼BurningM(沪指直下三千尺,疑是股民泪满天)回复于 2005-08-03 08:46:21 得分 0

楼上那些弟弟与妹妹们再学概率论也没有用了。  
   
  就这么说吧:  
  我现在终于明白了为什么我总共学了4个小时(逃课,抄作业),概率论就考了80分,却有那么多的来自全国各地的同学中,有许多人学了一学期,才惊惊险险地考了60多分。  
   
  我觉得这根本不是他们概率能学多少分的问题了,也不是运气,而是某个接近真理的东西他们不明白。比如,楼上的许多同学和楼主,对于这种只需要花3到10秒就可以毫无悬念地解决的问题……!相当于我学10秒钟不到的概率论,就要让他们去学上那么长一段时间。  
   
  是1/2。  
  ------------------------------------------  
  您真的学懂了概率吗?  
   
  这题目结果并不是简单的两扇门,不在这个就在那个里(50%),事实上,这两扇门是有区别的,而是其中有一扇门已经告诉了门后有东西的几率高,那么您到底选哪个?  
  比如,假如两扇门,告诉你有一扇门背后藏东西几率高,但是并没告诉你是哪扇门,那么,你选择两个门的概率都是50%,但是,假如已经告诉你这个门是哪一扇了,几率就不是50%了。  
   
  事实上,这道题目玛丽莲小姐给出的是三个盒子(而不是三个门),其中一个盒子里有硬币,而且的确有很多的博士生做错----一开始我也不相信,不过看了这贴的讨论才发现,原来做错的还真多。Top

68 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-08-03 09:02:45 得分 0

想起了当年的失重神教...Top

69 楼tangqiuzheng(恭喜发财万事如意)回复于 2005-08-03 09:08:25 得分 0

楼上那些弟弟与妹妹们再学概率论也没有用了。  
   
  就这么说吧:  
  我现在终于明白了为什么我总共学了4个小时(逃课,抄作业),概率论就考了80分,却有那么多的来自全国各地的同学中,有许多人学了一学期,才惊惊险险地考了60多分。  
   
  我觉得这根本不是他们概率能学多少分的问题了,也不是运气,而是某个接近真理的东西他们不明白。比如,楼上的许多同学和楼主,对于这种只需要花3到10秒就可以毫无悬念地解决的问题……!相当于我学10秒钟不到的概率论,就要让他们去学上那么长一段时间。  
   
  是1/2。  
  ------------------------------------------  
  您真的学懂了概率吗?  
   
  这题目结果并不是简单的两扇门,不在这个就在那个里(50%),事实上,这两扇门是有区别的,而是其中有一扇门已经告诉了门后有东西的几率高,那么您到底选哪个?  
  比如,假如两扇门,告诉你有一扇门背后藏东西几率高,但是并没告诉你是哪扇门,那么,你选择两个门的概率都是50%,但是,假如已经告诉你这个门是哪一扇了,几率就不是50%了。  
   
  事实上,这道题目玛丽莲小姐给出的是三个盒子(而不是三个门),其中一个盒子里有硬币,而且的确有很多的博士生做错----一开始我也不相信,不过看了这贴的讨论才发现,原来做错的还真多。  
     
  -----------------------------  
  如果一个民工在下象棋,或者在孜孜不倦地讨论这些问题,不管对错,我都要夸一句:“你真是个肯脑筋的厉害人!”  
  可是,来这里的都是程序员,他们在这么简单的一个问题上钻了进去而且好象还真出不来,这还讨论个鸟!能够说服大家都已经没有任何意义了,因为这个问题实在太简单了,只能说,中国的应试教育果然失败极了,教出来的全是低能。——我觉得针对楼上的一些朋友,有两个解释:  
   
    1、大家在故意把自己装得愚笨,因为一个人过于聪明了,总想把自己扮得很蠢,故意搅黄塘水,图个好玩;  
  2、大家练法*轮*功练坏脑子了。Top

70 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-08-03 09:09:33 得分 0

以后做错的不许注册  
  给程序员丢脸Top

71 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-08-03 09:16:14 得分 0

tangqiuzheng(恭喜发财万事如意)    
   
   
  你做过试验吗?Top

72 楼hswu(hswu)回复于 2005-08-03 09:28:47 得分 0

有理!!  
  嘉宾第一次选门为1/3中选,2/3不中;我们把2/3的另两个门当一个单位思考,则另两个门为2/3机率中选,主持从这两个门中去除一个不中的门,呵呵,这时再想,即是剩下的门有2/3的机率中选,不换才是傻瓜呢:)  
  Top

73 楼sun5000(★★★★★★)回复于 2005-08-03 11:05:17 得分 0

也来个简单的描述:  
  ABC三个门,,车只有一个,羊有两个,分别为羊1,羊2,有如下组合(1):(ABC等价,所以下面指定选和随机选是一样的)  
  {A车,B羊1,C羊2};{A羊1,B车,C羊2};{A羊1,B羊2,C车};  
  {A车,B羊2,C羊1};{A羊2,B车,C羊1};{A羊2,B羊1,C车}  
   
  嘉宾第一次选门A,有组合(2)  
  {A车};{A羊1};{A羊1};  
  {A车};{A羊2};{A羊2};  
  中车概率:   2/6   =   1/3  
   
  嘉宾第一次选门A后,则留给主持人的组合(3):  
  {B羊1,C羊2};{B车,C羊2};{B羊2,C车};  
  {B羊2,C羊1};{B车,C羊1};{B羊1,C车};  
   
  主持人从里面选B(4)  
  {B羊1};{B车};{B羊2};  
  {B羊2};{B车};{B羊1};  
  这个组合里,选了车的情况去掉,这时,主持人选的组合(4):  
  {B羊1};{B羊2};  
  {B羊2};{B羊1};  
  上面(1)(2)(3)组合中间一列去掉,组合(2)去掉后的组合如下(5):  
  {A车};{A羊1};  
  {A车};{A羊2};  
  中车概率:   2/4   =   1/2  
  (看到概率变化的过程了吧?)  
   
  剩下C的组合为:(换的组合就是C的组合)  
  {C羊2};{C车};  
  {C羊1};{C车};  
  中车概率:2/4   =   1/2  
   
  我想没人看不懂上面的分析!说2/3的,看清楚了么?Top

74 楼ahao1103(阿豪)回复于 2005-08-03 11:29:24 得分 0

MARKTop

75 楼brianwww(雨后初晴)回复于 2005-08-03 12:03:22 得分 0

这个白痴还在那里算主持人打开有车的门的概率我靠,你们说要在csdn碰到这样的弱智也算难得!Top

76 楼sun5000(★★★★★★)回复于 2005-08-03 12:44:19 得分 0

回复人:   brianwww(雨后初晴)   (   )   信誉:100    
  主持人不打开一个门,你往哪换啊?  
  你是不是看不懂?  
   
  还有,不要说脏话,想不通,你完全可以回家跪CPU啊Top

77 楼ikumei(雷欧纳德·布莱特)回复于 2005-08-03 14:52:53 得分 0

谁能告诉我   如果我一直维持第一次的选择不变,也就是不换,有多少概率能得到车?Top

78 楼hawksoft(明月清风)回复于 2005-08-03 15:13:42 得分 0

假设主持人知道那扇门后面是什么的话,其实这个问题可以等价于一扇门后面是车,一扇门后面是羊,让你二选一。  
  开始选的时候你选中车的概率是1/3.后面一次选的时候概率就变成了1/2。  
  数学就是数学,不要和人的思维习惯混淆在一起。一般嘉宾重选的原因主要是心理因素(主持人知道,主持人可能在暗示我等)。Top

79 楼sun5000(★★★★★★)回复于 2005-08-03 15:25:13 得分 0

也来个简单的描述:  
  ABC三个门,,车只有一个,羊有两个,分别为羊1,羊2,有如下组合(1):(ABC等价,所以下面指定选和随机选是一样的)  
  {A车,B羊1,C羊2};{A羊1,B车,C羊2};{A羊1,B羊2,C车};  
  {A车,B羊2,C羊1};{A羊2,B车,C羊1};{A羊2,B羊1,C车}  
   
  嘉宾第一次选门A,有组合(2)  
  {A车};{A羊1};{A羊1};  
  {A车};{A羊2};{A羊2};  
  中车概率:   2/6   =   1/3  
   
  嘉宾第一次选门A后,则留给主持人的组合(3):  
  {B羊1,C羊2};{B车,C羊2};{B羊2,C车};  
  {B羊2,C羊1};{B车,C羊1};{B羊1,C车};  
   
  主持人从里面选B(4)  
  {B羊1};{B车};{B羊2};  
  {B羊2};{B车};{B羊1};  
  这个组合里,选了车的情况去掉,这时,主持人选的组合(4):  
  {B羊1};{B羊2};  
  {B羊2};{B羊1};  
  上面(1)(2)(3)组合中间一列去掉,组合(2)去掉后的组合如下(5):  
  {A车};{A羊1};  
  {A车};{A羊2};  
  中车概率:   2/4   =   1/2  
  (看到概率变化的过程了吧?)  
   
  剩下C的组合为:(换的组合就是C的组合)  
  {C羊2};{C车};  
  {C羊1};{C车};  
  中车概率:2/4   =   1/2  
   
  我想没人看不懂上面的分析!说2/3的,看清楚了么?  
   
  =========================================  
  对上面程序的那个if,觉得和实际不等价的(实际是等价的),下面修改了一下,  
  和实际情况对应的:  
   
  #include   "stdafx.h"  
  #include   <time.h>    
  #include   <stdlib.h>    
   
  int   main(int   argc,   char*   argv[])  
  {        
  srand(   (unsigned)time(NULL));    
  //循环  
  int   iSwap   =   0;  
  int   iNoSwap   =   0;  
  int   i   =   0;  
  while   (i   <   100000)    
  {  
  int   iGate[3];  
  //三个门,为1的为车  
  int   iRand   =   rand()%3;  
  for   (int   j   =   0;   j   <   3;   j++)  
  {  
  iGate[j]   =   j   ==   iRand   ?   1   :   0;  
  }  
  //嘉宾选  
  int   iGuest   =   rand()   %   3;  
  //主持人选剩下的两个中为0的  
  int   iCompere;  
  //嘉宾选了车,则主持人无论怎么选,都是羊  
  if   (iGate[iGuest]   ==   1)  
  {  
  ;  
  }  
  else//嘉宾选了羊,主持人选中车的时候,不能算。因为换不换都没有车选了,所以要重来  
  {  
  iCompere   =   rand()   %   2;//为0表示选了车,为1表示选了羊  
  if   (iCompere   ==   0)  
  {  
  continue;  
  }  
  }  
   
  i++;  
  //不换,如果选中  
  if   (iGate[iGuest]   ==   1)  
  {  
  iNoSwap++;  
  }  
  else  
  {  
  iSwap++;  
  }  
  }  
  printf("%d/%d",iNoSwap,iSwap);  
  return   0;  
  }  
   
  49833:50167  
  Top

80 楼tangqiuzheng(恭喜发财万事如意)回复于 2005-08-03 15:30:29 得分 0

TO   metaphy(六千尺外的查拉图斯特拉)    
   
  你问我是否做过试验否,光这一句话本身,充分暴露了:你犯了一个用传统数学去理解概率数学的错误。  
   
  我来一个非常简单的反问就可以了:《概率论》上证明零概率事件是可以发生的,你能够试验证明一个零概率事件,让它发生,并证明给我看看。——这不是诡辩,只是用这个事情来类比,你怎么可能和传统数学的试难方法去验证概率论呢?  
   
  所以,如果metaphy(六千尺外的查拉图斯特拉)   没有学过《概率论》,那就只说明你还没有明白概率是啥。如果你学过,那就,呵呵,……,太令我觉得哈哈了。Top

81 楼hawksoft(明月清风)回复于 2005-08-03 15:35:52 得分 0

分情况:  
  1、主持人知道那扇门后面有什么的情况下:你选中车的概率是1/2  
  2、主持人不知道那扇门后面是什么的情况下(主持人也一样考猜,这种情况下就比较复杂);Top

82 楼aheadyes()回复于 2005-08-03 17:49:57 得分 0

一开始我也认为是1/2,但事实上并不是如此;  
    如果选择换   就相当于第一次让你选择另外两个门,不换就是坚持原来的门,  
    所以换的概率是2/3,不换就是1/3  
    本题的最大迷惑之处在于从两门中让你从新选择,假如没有前提条件,那么无论如何是1/2  
    但是主持人特意打开有羊的门,也就是从你没选的两个门中去掉有羊的门,这两个门中有车的概率是2/3,转接到剩下的门中有车的概率变为2/3,现在你被迷惑是,概率应该是平均转接到两个门中,也就是包括一开始你选的门,所以这样想,当然是1/2;  
   
  现在把问题改成,有1000个门,只有一个是有车,其余的全是羊,你任意选择一个门,而我是主持人,  
  我事先知道车在哪个门,所以我排除掉998个门,这时候问你   换不换?  
  答案是:   当然换,因为其余999个门中有车的概率是   999/1000,而你只选一个是   1/1000  
  现在我从999个门中排除掉998个,那么剩下的门有车的概率不是很高吗?   因为我知道车在哪个门  
   
  请再认真思考一下,因为我原先和你一样Top

83 楼zengjd(一)回复于 2005-08-03 17:51:45 得分 0

标记Top

84 楼smallzhuan(小李飞砖)回复于 2005-08-03 18:02:07 得分 0

markTop

85 楼podianliangshui(别问是劫是缘)回复于 2005-08-03 18:07:20 得分 0

彻底向白痴搂主投降,关于羊和车的问题,再有说2/3的,拉出去毙了!!!!!!!!Top

86 楼sun5000(★★★★★★)回复于 2005-08-03 20:09:20 得分 0

又吐血一个......Top

87 楼SainTown()回复于 2005-08-03 20:13:30 得分 0

 
  嗯,   又吐血一个......   楼主的丰功伟绩可以下面故事的主人公媲美......  
   
  ----   以下为转贴   ----  
   
  无题  
   
  我妈妈说我的智商只有76.我的智商到底有多高,我也不知道.我知道我是一个杀伤力很强的人,很多人因我而受到伤害,他们有的对生活失去希望,有的甚至自杀身亡.所以我一直怀疑我有潜在的超能力,而这种能力又不知为什麽对我的老师作用尤为强.    
   
  我至今仍然记得第一位因为我而牺牲的老师.那时我上小学一年级,老师带我们去野外作自然实践课.看到春风拂绿,杨柳抽枝,老师不禁想起一个问题,于是问到:"同学们,你们知道如何识别风向吗?''"我知道!''同班的一个小女孩一边回答一边从地上捡起一片书叶向空中抛去,"捡一片东西往空中一抛,看它往哪边飘,不就知道了吗?''"很好"老师表扬道,"那还有谁愿意再给大家示范一下,看看现在刮的是什麽风?''"我.''   我自告奋勇走了出来,从地上捡起半块砖头向空中抛去."报告老师,现在刮的是上下风!''    
   
  我记不清楚老师当时的表情是什麽样子的,我只记得他拼命的挣扎了几下就气绝身亡另外.后来据医院里的医生说他是由于突然受到强烈刺激导致气血逆行走火入魔而死.就这样,我害死了一名人民教师.    
   
  之后的一段日子里,相继又有几位老师惨遭不幸,好在没有出了人命,也就没有捅出太大的娄子来.不过我的名气却是不胫而走,一时间也成了城里的名人.然而,名人也有名人的痛苦,我就深深的体会到了这一点.    
   
  当我升初中的时候,我的名气给我到来很大的麻烦,城里所有的中学都出于为本校老师的安全考虑,拒绝接受我入学.没办法,带着对重点中学的无限憧憬,我去里乡下.乡下的中学虽然是苦了点,但是没有了舆论的压力,我也算活得逍遥自在.然而是金子始终是要发光的,乡下中学特有的沉默并没有抑制住我的爆发.    
   
  一次偶然的机会,我又横空出世,突然崛起,迅速占领了农村市场.那时一次智力竞赛,我们班和另外一个班经过最后的角逐仍然没有分出胜负.于是主持人宣布了最后的决出办法:每个班抽签派出一个代表.两个代表再进行猜硬币.猜对者向猜错者提问一个问题,如猜错者回答正确,则猜错者胜.反之,则猜对者胜.天灵灵,地灵灵,该我的差使躲也不行.我居然被抽为代表,并且顺利猜错了硬币,进入答问阶段.老师和同学们一下紧张了起来,每个人都用殷切的目光看着我.尤其是班主任李老师,面色沉重,一言不发.我也感到了一些压力.不过不是因为这个,而是因为我的对手---王小佛,王小佛是当时我们学校最具威力的"名师杀手",他手下也有几条人命案子.据说,上一任校长就是断送在他的手里.不过我还是有几分底气的,因为不管怎麽说我也是曾叱咤一时的人物,提问便开始了.    
   
  王小佛两手插在裤兜里,慢条斯理的说道:"我妈妈今天煮了几个鸡蛋放在我兜里,你知道有几个吗?''周围一片哗然,我不知道大家为什麽起哄,但我知道这个问题引起了我极大的兴趣,鸡蛋!我几乎没有听清楚他问的问题,我只听见清清楚楚的有"鸡蛋"二字.要知道在乡下的几年苦日子几乎没有什麽可吃的,有两个鸡蛋那可真是美味佳肴了   .    
   
  我似乎看到了那亮晶晶的蛋青和黄嫩嫩的蛋黄------    
  "   如果我答对了,你会给我一个吃吗?''    
   
  我早已忘记了什麽智力竞赛,什麽班级荣誉,我感兴趣的只是鸡蛋,鸡蛋!"如果你答对了,我把两个鸡蛋全给你.''"哄,''又是哗然.我看到对方同学脸上一片愕然,而我的同学一个个欢呼雀跃,相互拥抱着庆祝胜利,李老师也向我投来欣悦的目光,我不知道他们在高兴什麽,不过大家都在朝我笑,我也不好意思朝他们笑了笑,然后答道:"是五个吗?''    
     
  同学们的笑容刹那间凝滞了,渐渐的,退潮一般消失的无影无踪.对方的同学却突然大叫大笑起来.这世间的事情真是瞬息万变,一眨眼的工夫,大家哭的变成笑,笑的变成哭,哭哭笑笑的搞的我也不知道如何是好.我还没来得及仔细琢磨怎麽回事,会场里忽然乱了起来.只见一人仰面朝天,口中鲜血如柱喷出,然后慢慢地倒了下去.    
   
  "李老师!''    
  "李老师!''    
  是我们班主任老师!我也连忙赶了过去.只见老师面色惨白,双目紧闭,不醒人事.    
  "是他害死了李老师!''    
  "是他,!''    
  "是他!''    
  唰!   唰!唰!   --------    
  一束束愤怒的目光利箭一样向我射来.    
   
  我的眼前一片空白,耳边回响起一个声音:"多隆!关门!放狗!闲杂人等一律后退!''后来据说李老师并没有死,只是大病一场,病好出院以后,看破红尘,从此不再教书.    
     
  Top

88 楼sun5000(★★★★★★)回复于 2005-08-03 20:15:24 得分 0

SainTown()   (   )   信誉:96    
  ========================  
  也太老了吧?Top

89 楼SainTown()回复于 2005-08-03 20:31:19 得分 0

老是老了点,   不过放在这里很贴切嘛.Top

90 楼hawksoft(明月清风)回复于 2005-08-04 09:03:23 得分 0

呵呵,这个问题用得了这么复杂么,概率就是概率,概率大也可能不发生,概率小也可能发生。概率是科学推断,不要跟人的主观意愿混淆在一起。  
  这道题只是让你多了一些犹豫的机会,并不会使你选中的概率增加。Top

91 楼metaphy(六千尺外的查拉图斯特拉)回复于 2005-08-04 10:45:04 得分 0

to:   tangqiuzheng(恭喜发财万事如意)  
   
  跟一个整天逃概率课的学生争论这个问题真是寒,  
  不过还是给你补习一下吧,以后别到处丢人  
   
  有一点确定不疑:  
   
  客人第一次选择选中车的概率为1/3   ,当主持人打开一扇有羊的门后,此概率仍然为1/3   ,而并未上升到1/2  
   
  下面给你解释:  
   
  概率是个先验的东西,而非后验的东西,就是说它是根据事先的统计数据来揣测事后事件的发生情况;也就是说,你抽彩票的时候,理论上你是有几百万分之1的可能来中头奖的;当你揭开彩票发现什么都没中的时候,你并不能哭着骂人说:你骗人,分明是0!    
  同样,当你第一次选定主持人打开一扇羊门的时候,你选中车的概率依然是1/3,   而没有提高到1/2;  
  understand   ?  
  Top

92 楼brianwww(雨后初晴)回复于 2005-08-04 11:13:31 得分 0

一百万张彩票,其中一张有奖,你去买了一张,然后一共被搏开了999998张,都没中,如果你这个时候去问一个弱智说:“要不要换一张?”,他会回答你说“换不换都一样,反正一共剩两张,不是我手里那张就是另外一张,我手里那张中奖的概率已经上升到1/2了”Top

93 楼sun5000(★★★★★★)回复于 2005-08-04 12:34:29 得分 0

metaphy(六千尺外的查拉图斯特拉)   (   )   信誉:95    
  你只说对了一半啊!  
   
  十个门,分两组,每组五个.每组里面各有一个中奖的门.(注意,这个和本题无关,是每组都有一个中奖的门) &nbs