盒子里面另一个是红球的概率问题
问题如下: 有三个盒子,其中一个里面是两个红球,一个里面是两个蓝球,一个里面一红球一蓝球。小明从一个盒子取出一个球,发现是个红球,请问,这个盒子里另外一个球也是红球的概率是多少?
这个问题是在抖音上看到的,下面的comments评论为了答案吵翻了天。一种观点认为,剩下另一个球要么是红球要么是蓝球,两个概率一样,所以结果是50%;另一种观点认为比50%大。先不说答案。作为程序员,最简单暴力的方式就是用数据模拟一下,看看是多少。下面是模拟程序:
import java.util.Random;
public class P {
final static int[][] BOX = {
{0, 0},
{0, 1},
{1, 1}
};
public static void main(String[] args) {
Random r = new Random();
int touchBox; // which box to fetch
int touchBall; // which ball to fetch
int touchTimes = 10000000;
int firstTouchRed = 0;
int anotherIsAlsoRed = 0;
for(int i=0; i< touchTimes; i++) {
touchBox = r.nextInt(3); //index: 0, 1, 2
touchBall = r.nextInt(2); //index: 0, 1
// Xiaoming picked up a ball and it is Red(0)
if (BOX[touchBox][touchBall] == 0) {
firstTouchRed ++;
int another = touchBall == 0? 1:0;
if (BOX[touchBox][another] == 0) { // another ball is also Red
anotherIsAlsoRed ++;
}
}
}
System.out.println("第一次拿出的是红球的次数:" + firstTouchRed);
System.out.println("第二次拿出的刚好也是红球的次数:" + anotherIsAlsoRed);
System.out.println("P = " + (anotherIsAlsoRed * 1.0 / firstTouchRed));
}
}
运行结果:
第一次拿出的是红球的次数:4996935
第二次拿出的刚好也是红球的次数:3331421
P = 0.6666928827371178 = 2/3
这个概率为什么会比1/2大呢?就是因为小明在第一次选的时候,他从2个红球盒子里拿到红球概率明显高于从1红1蓝盒子里拿到红球概率。或者这样说,既然第一次拿到的是红球,那么可以先排除两个球都是蓝色的那个盒子,既然第一次拿到的是红球,那就是说从2个盒子中的3个红球里拿出了一个红球,排除拿出蓝球的那些次数。这个问题变成了:2个盒子,其中A里面是2个红球,B里面是1个红球,小明随机拿出一个红球,他拿的是哪个盒子?概率多大?很明显,从A里面拿的概率是2/3, 从B里拿的概率是1/3.