经典问题:三选一,系统排除一个未中奖选项,更换选择会增加中奖概率么?

经典问题:现有A,B,C三个盒子,其中一个内有奖品。某人选定一个后,系统从剩余的两个中排除掉一个未中奖的盒子。此时更换选择还是坚持原来的选择,哪个会增大获奖概率

解答:不换时中奖概率是1/3,换了之后中奖概率时2/3。初始时,ABC每个中奖的概率都是1/3,假如你选了A,那么B+C的中奖概率是2/3。假设此时系统排除了不中奖的C,则A中奖概率还是1/3,这时候用B替换B+C,则现在B中奖的概率变为2/3。所以改变选择提高中奖概率。

代码实现:

public class Main{
    public static void main(String[] args){ 
        int count=200;//实验次数
        System.out.println("不换测试:");
        test(count,false);
        System.out.println("更换测试:");
        test(count,true);
    }

    private static void test(int count, boolean index) {
        int counts=0;//中奖次数
        for(int i=1;i<=count;i++){
            int price=(int)(Math.random()*3)+1;//中奖号码为0/1/2中的一个
            int start=(int)(Math.random()*3)+1;//最初选定号码
            int end=0;//最终选定号码
            int delete=0;//选定删除的选项
            if(start==price){//开始时选中了
                boolean b=(int)Math.random()*2==1;//b为true或false
                switch(price){
                    case 1:{
                        delete=b?2:3;
                        break;
                    }
                    case 2:{
                        delete=b?1:3;
                        break;
                    }
                    case 3:{
                        delete=b?1:2;
                        break;
                    }
                }
            }
            else{//开始时未选中中奖号码
                delete=1+2+3-price-start;//排除的选项既不中奖,也不是最初的选择
            }
            
            if(index){//更换号码
                end=1+2+3-start-delete;
            }
            else//不更换号码
                end=start;
            
            System.out.format("第%d次选 中奖号为%d 初始选了%d 排除了%d 最终选了%d  ",i,price,start,delete,end);
            if(end==price){
                counts++;
                System.out.println("中奖了");
            }
            else{
                System.out.println("未中奖");
            }
            }
        System.out.format("进行%d次测试,中奖%d次", count, counts);
        System.out.println();
    }
}

 

结果展示:

各实验100次,最终更换选择的中奖概率接近2/3(65/100),不更换的中奖概率约为1/3(32/100)

 

posted @ 2017-05-04 15:56  锦鲤骑士  阅读(6638)  评论(1编辑  收藏  举报