有三扇关闭的门,一扇门后面停着汽车,其余的门后面是羊,只有主持人知道每扇门的后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择。请问:参赛者更换选择后能否增加猜中汽车的机会?
虽然学过概率论,但是已经很久没有使用过了,我这里就仅凭着自己残存的一点知试来尝试解答一下吧。
首先参赛者可以做两次选择,每次选择产生一个结果,最后组合起来是四种情况
但是在第二次选择进行前,我们是可以操控的,也就是说,我们是否更换选择,这里又引出了两种不同的情况,换,还是不换。实际上这和我们前面的四种结果是对应的,更换选择就会出现 2,3两种情况,不更换就会出现 1,4两种情况。
为了方便讨论,我们将更换和不更换分开讨论。
首先确定我们的事件:
事件A:第一次选中了汽车
事件B:第二次选中了汽车
P(A) = 1/3 P(~A) = 2/3
P(B) = P(B|A)P(A) + P(B|~A)P(~A)
如果我们一开始选中了汽车,当主持人打开一扇门后,剩下的一扇门里一定是羊,因此如果我们此时选择更换,那么最终结果就是选中羊
即 P(B|A) = 0
如果我们一开始选中了羊,主持人打开一扇门之后,我们更换选择,最后选到的一定是汽车
即 P(B|~A) = 1
此时我们最终选择汽车的概率为
P(B) = P(B|A)P(A) + P(B|~A)P(~A) = 2/3
最终猜中汽车的概率为三分之二
同理
如果我们一开始选中了汽车,当主持人打开一扇门后,剩下的一扇门里一定是羊,因此如果我们此时选择不更换,那么最终结果就是选中汽车
即 P(B|A) = 1
如果我们一开始选中了羊,主持人打开一扇门之后,我们更换选择,最后选到的一定是羊
即 P(B|~A) = 0
此时我们最终选择汽车的概率为
P(B) = P(B|A)P(A) + P(B|~A)P(~A) = 1/3
最终的结果是更改选择,猜中的概率是2/3,而不更改猜中的概率是1/3
假设我们选择更换选择
import random
car = random.randint(0,2) #车的位置
getCar = 0 #记录猜中车的次数
getSheep = 0 #记录猜中羊的次数
times = 10000 #尝试一万次
for i in range(times):
firstChoice = random.randint(0,2) #第一次做出选择
if firstChoice == car: #当第一次选中汽车时
getSheep += 1
else: #第一次选中羊时
getCar += 1
print("中奖的概率{:.4f}".format(getCar/times))
最终结果为
中奖的概率0.6603