蒙提霍爾悖論(三門問題)終極分析(補充)附完整原始碼

2022-02-06 20:28:00 字數 1339 閱讀 6045

在蒙提霍爾問題中,主持人事先知道汽車在哪個門後面,並且他一定會選擇沒有汽車的那扇門。如果我們稍稍改變一下前提,主持人事先也不知道汽車在哪個門後面,他只是隨便開啟2扇門中的一扇,並且恰好這扇門後面是山羊,那麼此時的情況又是怎樣的呢?

沒錯,在某一次特定的選擇中,這兩種情況並沒有不同,但實際上兩種前提隱含的樣本數卻是不同的。

現在我們假設這個節目在播出前錄製了一萬次。

第一種情況,主持人事先知道山羊在哪扇門中,那麼如果不出意外的話,這一萬次錄製都能夠順利完成,作為導演,我們只需從中選擇某一次即可。因此樣本數為1萬。

但如果主持人事先並不知道山羊在哪個門中的話,那麼一萬次錄製中將大約有3300次是失敗的,因為主持人有1/3的可能會選中汽車,而這與節目的要求是不符的。因此最終只有大約6700次錄製是有效的。也就是說,這種情況下的樣本數變了,變為了原來的2/3。

1/3 ÷ 2/3 = 1/2

(1) 參賽者選擇山羊a,主持人選擇山羊b

(2) 參賽者選擇山羊a,主持人選擇汽車

(3) 參賽者選擇山羊b,主持人選擇山羊a

(4) 參賽者選擇山羊b,主持人選擇汽車

(5) 參賽者選擇汽車,主持人選擇山羊a

(6) 參賽者選擇汽車,主持人選擇山羊b

6種情況的機率都是1/6,但是2和4兩種情況是無效的,因此無論是否變更選擇,都各有一半的機率會中獎。

這實際上是另一種人為干預的結果,我們從結果中剔除那些不符合條件的部分從而讓事物的發展符合我們的預期。這就像人類對物種的人工選擇行為,遺傳的變異機率在人工的選擇過程中被放大了,從而讓繁殖出的後代更加符合我們的預期。

上**:

int totaltimes = 1000000;

int bingo = 0;

boolean

boxes;

int actuallytotaltimes = 0;

for (int i = 0; i < totaltimes; i++) ;

boxes[random(3)] = true

;

int mychoice = random(3);

int hostchoice = random(3, mychoice);

if(boxes[hostchoice])

actuallytotaltimes++;

if (!boxes[mychoice])

}return (double ) bingo * 100 / actuallytotaltimes;

主持人不再是只選擇山羊,而是在剩下的2扇門中隨機選擇。actuallytotaltimes是有效的樣本數量,僅在主持人沒有選中汽車時才會增加,因此有效的樣本數量僅為總樣本數的2/3。

三門問題(蒙提霍爾悖論)

蒙提霍爾問題,又稱三門悖論,出自美國的一檔電視節目,問題的描述是這樣的 選手甲面前有三扇門,其中一扇門之後是汽車,其餘兩扇後面是山羊。選手可以選擇三扇門中的任意乙個並且開啟後獲得該扇門後面的東西。當選手選擇了一扇門,但尚未去開啟它的時候,主持人 事先知道每個門之後藏的東西 會在剩下的兩扇門中開啟一扇...

python 三門問題 蒙提霍爾問題

三門問題 monty hall problem 亦稱為蒙提霍爾問題 蒙特霍問題或蒙提霍爾悖論,大致出自美國的電視遊戲節目let s make a deal。問題名字來自該節目的主持人蒙提 霍爾 monty hall 參賽者會看見三扇關閉了的門,其中一扇的後面有一輛汽車,選中後面有車的那扇門可贏得該汽...

蒙提霍爾問題(三門問題)的思考與貝葉斯分析

三門問題 monty hall problem 亦稱為蒙提霍爾問題或蒙提霍爾悖論,大致出自美國的電視遊戲節目let s make a deal。問題名字來自該節目的主持人蒙提 霍爾 monty hall 參賽者會看見三扇關閉了的門,其中一扇的後面有一輛汽車,選中後面有車的那扇門可贏得該汽車,另外兩扇...