三門問題,將所有情況排列開來,得出的概率和正確答案不符,求解釋?
我選了門1,主持人打開門2,門2裡面的是山羊,那麼,現在所有可能的情況如下,一共是4種,見下圖
可以看出,我如果不換門,那麼門1後面是跑車的幾率是四分之二,即50%,換門3的話,得到跑車的幾率仍是四分之二,即50%。換不換門都無所謂。
但是網上搜的正確答案是應該換門,而且給出了相關的解釋。其中的一些解釋我都能看明白,但是並不很直觀,現在我把所有可能的情況都列出來,更直觀一些,但是得出的結果卻不一樣,求解釋。
顯然這不是「所有的情況」,你連基本的p3/3都沒列齊不是嗎?
好吧,你既然展開了門和羊車的排列,那理所當然也一定能想到有這樣6種情況
但是主持人沒有開門3,所以S5 S6被排除了,對不對?
排除法,不是不能用,是需要正確地用——你也應該將S3 S4的隨機概率除2才對嘛,對不對?
它們要被」排除一半「才是真正意義上的隨機概率。
所以換到車的概率是 2 / (2+2/2)=2/3
不換拿到車的概率是(2/2)/(2+2/2)=1/3
我們不試圖給門編號,這麼考慮試試看:決定主持人開哪個門的,是你的初始選擇
當你選了羊,這個概率是2/3,那麼主持人只能替你排除掉一個羊,換來的必然是車
當你選了車,這個概率是1/3,那麼主持人隨便開一個門,你換就拿不到車
(其中開羊1門和羊2的概率是1/3下的兩種對稱情況,各自概率為1/3再除以2,是1/6,合計仍然為1/3)
諾,換了就有車的情況是不是2/3?
或者說你這麼告訴自己:
我選了羊,那換門就一定是車;我選了車,換門一定是羊
喲,你看,是不是換了拿車的概率還是2/3?
所以問題很簡單,所有試圖用編號解決問題的,都很容易會犯相同的錯誤——輕率排除而不是全部展開。把主持人的人擇當成了隨機概率分布
或者你這麼想,主持人也是隨機開門,衍生一個特殊三門問題,那麼是個什麼情況:
認真算算,如果是真正的概率事件,哪裡有不同?
不同就在於紅色部分是真的概率上的「未發生」,而不是人擇
即:三個門之後有兩羊一車,你隨機選擇一個門A之後,主持人從剩下的門B,門C裡面隨機開了一個,是羊,那麼現在應該換還是不應該換呢?
如果是這個題面,那麼顯然換和不換各自是4/8但是毫無疑問一般的三門問題,是以」主持人知道那扇門後面有車「為前提的
【把題主可能最困惑的地方放在前面:問題在於出現情況1、2和出現情況3、4的概率不一樣。】
按照你的思路把表格列出來,一共有以下6種可能,如果車和羊被完全隨機地放在某扇門後面,它們概率均等。
首先,你在完全不知道每扇門後面是什麼的情況下,選擇門1.
接著,知道每扇門後面是什麼,並且必須開啟一扇有山羊的門的主持人,開啟門2.這個條件很重要,因為他的選擇是基於你的選擇做出的。此時主持人可以做出的選擇如下:
從上圖可以看出,在主持人隨機選擇的情況下,如果是情況1、2,主持人開啟門2的概率是50%;如果是情況3、4,主持人開啟門2的概率是0;如果是情況5、6,主持人開啟門3的概率是100%.
為了接下來更加清晰地說明,這裡將情況1、2下的「選擇開門2」寫作「開門2(A)」,將情況5、6下的「選擇開門2」寫作「開門2(B)」。
那麼,在主持人未開門時,開門2(A)情況出現的概率是1/6,開門2(B)出現的概率是1/3.
在主持人開門2後,開門2(A)情況出現的概率(同時也是情況1、2出現的概率,也就是選擇不換門能贏得車的概率)是1/3,開門2(B)情況出現的概率(同時也是情況5、6出現的概率,也就是選擇換門能贏得車的概率)是2/3.得出結論,應當換門。
也就是說,題主列出的四種情況是正確的,但四種情況發生的概率是不同的,前兩種情況出現的概率更大。類比一下的話,就像以下命題:「某理工大學有男女兩種性別的學生,那麼隨機挑選一個,是妹子的概率為1/2。」題主覺得對么?(也許這是很多工科男的夢想……)
拋磚引玉,希望能看到更專業/更易懂的回答。
此問題用不到貝葉斯,從博弈的角度看其實很簡單。不管你最開始選了哪一扇門,主持人打開一扇空門以後,剩下的那扇門一定和你原先選的門裡面的東西不同,你原先選了羊,則剩下的門後面是車,反之則反是。因為你原先選的門裡有2/3的概率為羊,所以剩下的那個也有2/3的概率是車。
我用Java程序模擬了100億次實驗,結果如下:
實驗證明,原選擇成功概率為1/3,新選擇成功概率為2/3.Java代碼如下。
package com.hjw.test.others;
public class ThreeGate {
// 總實驗次數,100億次
private static long experimentCount = 10000000000L;
// 嘉賓堅持不換贏的次數
private static long insistSuccCount = 0;
// 嘉賓堅持不換贏的比例
private static float insistSuccPro;
// 嘉賓換門贏的次數
private static long changeSuccCount = 0;
// 嘉賓換門贏的比例
private static float changeSuccPro;
/*
* 三扇門用1、2、3表示。在一次實驗中,先隨機產生放汽車的門(1、2、3其中一個),
* 再隨機產生嘉賓的選擇,再從另外兩扇門中剔除一個"錯誤答案"之後,得到的另一扇門,最後比對"答案",贏者計數一次。
* 最後分別計算堅持原來選擇和選擇換門贏得比例
*/
private static void test() {
for (long i = 0; i &< experimentCount; i++) {
int carGate = ((int) (Math.random() * 100)) % 3 + 1;//carGate只能是1,2,3中的一個數
int gentlemenChoose=((int) (Math.random() * 100)) % 3 + 1;
int otherChoose=getOtherChoose(gentlemenChoose,carGate);
if(carGate==gentlemenChoose){
insistSuccCount++;
}else if(otherChoose==carGate){
changeSuccCount++;
}
}
insistSuccPro=(float) (insistSuccCount/ (double)experimentCount);
changeSuccPro=(float) (changeSuccCount/ (double)experimentCount);
StringBuilder sb=new StringBuilder();
sb.append("總實驗次數:").append(experimentCount).append(".
");
sb.append("堅持原來選擇成功的次數為:").append(insistSuccCount).append(",比例為:").append(insistSuccPro).append("
");
sb.append("改變選擇成功的次數為:").append(changeSuccCount).append(",比例為:").append(changeSuccPro);
System.out.println(sb.toString());
}
//得到去除一個錯誤答案之後的那扇門。
private static int getOtherChoose(int gentlemenChoose,int carGate){
//假設gentlemenChoose=1,
//假設嘉賓沒有選中,則gentlemenChoose代表一頭羊,主持人去掉一個錯誤答案之後,另一扇門就是汽車。
if(gentlemenChoose!=carGate){
return carGate;
}
//假設嘉賓選中了,嘉賓選了汽車,另外兩扇門都是山羊,隨意返回一個不是carGate的數字即可
else{
if(carGate==1||carGate==2){
return 3;
}else{//carGate==3
return 1;
}
}
}
public static void main(String[] args) {
test();
}
}
問題出在這四種情況的概率並不相等。除非題目改成主持人自己也不知道哪扇門後面是跑車,他打開山羊的門完全是碰巧,這種情況下你列舉的四種情況才是等概率的。
按照原題,主持人知道每扇門後面分別是什麼,且遊戲規則規定他必須打開山羊的門,無論玩家選了哪扇門。在這樣的條件下,你列舉的前兩種情況各是1/3概率(因為主持人只能去開門2,沒得選),後兩種情況各是1/6概率(因為主持人要在門2和門3中間隨機選一個)。我比較喜歡用一個簡單的解釋逆推,如果你在不換門的情況下拿到車,前提是什麼?前提是你必須在第一次就選對!
我覺得可以這麼想!
首先,3個門,每個門有跑車的概率都是1/3
然後你選擇了其中一個門,這時候你自動將這次的event分成了兩個結果。也就是說,你得到跑車的概率是1/3(你選擇的門),得不到跑車的概率是2/3(你沒有選擇的那兩扇門)。
第三步,主持人在你得不到跑車的那兩個門中去掉了一個錯誤答案!
這時候還有兩個門沒開,一個是你選擇的1/3概率的門,另一個是2/3!(注意不管主持人幫不幫你去掉一個錯誤答案,你的兩個結果的概率始終沒有變,即1/3和2/3)
從排斥事件的概率來看比較容易理解,沒必要糾結每種情況.選擇不換門的話,得到跑車的概率是你一開始選擇時候就選中跑車的概率,1/3,那麼你換門得到跑車的概率即為2/3.
簡化一下問題,
假設門編號是將自己的選擇記為門1,
主持人選擇記為門2,
剩餘的門記為門3。
-------------
重點在於主持人知道車的位置。
一種直觀的解釋是假設遊戲被重複300次。
平均100次你會選到山羊A,100次山羊B,100次跑車。
由於主持人一定會選山羊,所以題主列出的幾種請況中:
情況1平均發生100次(需換門),
情況2平均發生100次(需換門),
情況3平均發生 50次(不換門),
情況4平均發生 50次(不換門)。
這個問題的原因在於我們語言的暗示所造成的歧義上面,主持人說選一個門,他是隨機選的還是只選空門直接影響了最後的結果,比較有意思的是,大家討論的焦點並不在產生歧義的地方,而是在基於這個歧義所建立的推論上。這裡用貝葉斯公式針對不同的理解給出了計算方法,供參考:三門問題與貝葉斯公式
如圖所示~
在第一隨機選擇的情況下。
如果第二次不進行選擇,概率為0.33。
如果第二次選擇是隨機,概率為0.5。
如果全部選換,概率0.67。
我一直覺得,三門問題不是個數學問題,而是個心理學問題
我覺得實際的問題就是在主持人開門之後讓選手決策是否換門。假設這時候來了一個選手2,從選手2的觀點來看就是概率就是1/2了。
我覺得這一個題目不適用條件概率的計算方法。因為條件概率求的是」事件A在另外一個事件B已經發生條件下的發生概率「。這個遊戲當中,事件A是抽中車,事件B是主持人開羊的門。由於羊有兩隻,故主持人開門的概率是100%,且沒有提供出選手抽中車的任何信息。故事件A和事件B是獨立事件,故P(A|B)=P(AB)/P(B)=P(A)=1/2。
有人會說P(A)應該是1/3,但是實際上以上假設中事件A是抽中車,而不是」第一次選擇即抽中車「。在以上遊戲中,選手第一次選選門和主持人開門雖然時間上具有先後順序,但是因為主持人開門沒有提供出選手第一次選門結果的任何信息,故在概率上兩者等價於同時發生。
就像在3個球(2個白球,1個紅球)裡面不放回,也不觀看結果的連續抽取2個球,抽中紅球的概率等價於一次性抽取兩個球。如果在抽球的時候允許選手觀看結果,則第一次即抽中的概率是1/3,需要進行第二次抽球的概率是2/3,第二次抽中的概率是1/2,,故總的概率=1/3+2/3*1/2=2/3。但是是否發生第二次抽球是不確定的。
而在羊車門的遊戲當中,已經確定主持人開門的概率是100%,故該遊戲從結果上就是讓選手2選1。
PS:其實題主的本意和我的一樣,應該是第一次選車和主持人開門是一起發生的事件,所以只能產生4種結果。就像是投擲一次4面的骰子出現的結果一樣。如果不用條件概率的觀點拆分成兩個事件的話,4種結果的確是等概率的。
「羊車門」經典概率題中不換門選中車的概率是多少? - 數學
我之前沒有搜索到題主的這個問題,就又另外開了一個相同的問題啦。也歡迎大家到我的問題底下答覆。
推薦閱讀:
※在北大數院讀本科是怎樣的體驗?
※讀數學專業讀到博士是一種怎樣的體驗?
※有哪些數學定理或者數學知識驚呆了你?
※為什麼國內一流高校的理工科專業的學生大多對民科充滿反感和鄙夷?
※數學家一般是怎麼判斷一個定理的證明過程是否正確的?