三门问题
参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。
所以问题在于,究竟要不要换门?换门和不换门有区别吗?
这是一个颠覆常人认知的问题,接下来分别通过概率的理论分析和蒙特卡洛模拟法来进行计算验证。
1.概率论知识进行分析
第一次选择,显然是三种结果——选中有车的门,选中没车的门1,选中没车的门2,概率各自为1/3
第二次选择时,出现了六种子局面:每种情况都存在换门和不换门两种可能。
如下图所示:
换门的获奖率 = (1/3 X 0%)+(1/3 X 100%)+(1/3 X 100%)=2/3
不换门的获奖率 = (1/3 X 100%)+(1/3 X 0%)+(1/3 X 0%)=1/3
显然在一般情况下,换门得到奖品的概率高于不换门得到奖品的概率。
或者,我们也可以这样理解:
若参赛者开始选中的是后面有汽车的门C(概率为1/3),主持人打开后面有山羊的门B。这时参赛者如果换门,选中汽车的概率为1/3*0=0;如果不换门,选中汽车的概率为1/3*1=1/3。
若参赛者开始选中的是后面有山羊的门A(概率为1/3),主持人打开后面有山羊的门B。这时参赛者如果换门,选中汽车的概率为1/3*1=1/3;如果不换门,选中汽车的概率为1/3*0=0。
若参赛者开始选中的是后面有山羊的门B(概率为1/3),主持人打开后面有山羊的门A,这时参赛者如果换门,选中汽车的概率为1*1/3=1/3;如果不换门,选中汽车的概率为1/3*0=0。
综合上述三种情况,参赛者如果选择换门,选中汽车的概率为1/3+1/3=2/3;如果选择不换门,选中汽车的概率为1/3。
2.蒙特卡洛模拟(MATLAB实现)
代码如下:
clc,clear;
n = 100000; % n代表蒙特卡罗模拟重复次数
a = 0; % a表示不改变主意时能赢得汽车的次数
b = 0; % b表示改变主意时能赢得汽车的次数
for i= 1 : n % 开始模拟n次
x = randi([1,3]); % 随机生成一个1-3之间的整数x表示汽车出现在第x扇门后
y = randi([1,3]); % 随机生成一个1-3之间的整数y表示自己选的门
% 下面分为两种情况讨论:x=y和x~=y
if x == y % x和y相同时,不改变选择才能赢
a = a + 1; b = b + 0;
else % x ~= y ,x和y不同时,改变选择才能赢
a = a + 0; b = b +1;
end
end
disp(['蒙特卡罗方法得到的不改变主意时的获奖概率为:', num2str(a/n)]);%disp输出,num to str得到概率
disp(['蒙特卡罗方法得到的改变主意时的获奖概率为:', num2str(b/n)]);
其中某一次运行结果:
总结
在现实中,我们应该充分利用新信息来评估事件的概率,进而做出更优的决策。
“概率存在于被给予的条件下,概率不能寄托在实际的物体上。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)