level 8
xxqoZXY
楼主
help
@language:simplified_chinese
三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?如果严格按照上述的条件,即主持人清楚地知道,哪扇门后是羊,那么答案是会。换门的话,赢得汽车的机率是2/3。
这个问题亦被叫做蒙提霍尔悖论:虽然该问题的答案在逻辑上并不自相矛盾,但十分违反直觉。这问题曾引起一阵热烈的讨论。
此算法模拟三门问题。输入door3(f)
就会返回样本为f时一直换门所能得车的概率
输入door03(f)返回样本为f时。一直不换门所能得车的概率
@end
endh
function door3(f)
variable a,b,c,d,n=0,m=0,x=floor(f)
do
a=10000*rand()
a=floor(a)
b=mod(a,3)
c=floor(5000*rand())
d=mod(c,3)
n=n+1
if b==d//模拟选中车的门时
m=m+0//换门就一定不中的概率
else
m=m+1//选不中车换门就一定中
endif
until n==x
return(m/n)
endf
function door03(f)
variable a,b,c,d,n=0,m=0,x=floor(f)
do
a=10000*rand()
a=floor(a)
b=mod(a,3)
c=floor(5000*rand())
d=mod(c,3)
n=n+1
if b==d
m=m+1
else
m=m+0
endif
until n==x
return(m/n)
endf
2015年11月10日 08点11分
1
@language:simplified_chinese
三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?如果严格按照上述的条件,即主持人清楚地知道,哪扇门后是羊,那么答案是会。换门的话,赢得汽车的机率是2/3。
这个问题亦被叫做蒙提霍尔悖论:虽然该问题的答案在逻辑上并不自相矛盾,但十分违反直觉。这问题曾引起一阵热烈的讨论。
此算法模拟三门问题。输入door3(f)
就会返回样本为f时一直换门所能得车的概率
输入door03(f)返回样本为f时。一直不换门所能得车的概率
@end
endh
function door3(f)
variable a,b,c,d,n=0,m=0,x=floor(f)
do
a=10000*rand()
a=floor(a)
b=mod(a,3)
c=floor(5000*rand())
d=mod(c,3)
n=n+1
if b==d//模拟选中车的门时
m=m+0//换门就一定不中的概率
else
m=m+1//选不中车换门就一定中
endif
until n==x
return(m/n)
endf
function door03(f)
variable a,b,c,d,n=0,m=0,x=floor(f)
do
a=10000*rand()
a=floor(a)
b=mod(a,3)
c=floor(5000*rand())
d=mod(c,3)
n=n+1
if b==d
m=m+1
else
m=m+0
endif
until n==x
return(m/n)
endf