「羊車門」經典機率題中不換門選中車的機率是多少?
選好以後,未選到的兩扇門中有車的機率是2/3,主持人開啟有羊的以後,剩下的一扇門中有車的機率是2/3,所以換的話機率會更大。
最後所說的四個事件不是等可能的,用條件機率可以計算第一個機率是1/2,第二個1/2,第三個是1,第四個也是1。
1、這個問題在知乎有,我不知道你為什麼搜不到:
車 羊 三個門 - 搜尋結果
2、你的思路錯的如此的明顯:
一是一開始選中車
,主持人開羊1;
二是一開始選中車
,主持人開羊2;
三是一開始選中羊1,主持人開羊2;
四是一開始選中羊2,主持人開羊1。
這四個情況哪裡等機率了:
一是一開始選中車
,主持人開羊1;
二是一開始選中車
,主持人開羊2;
這是一種情況
所以正確的演算法是:
一是一開始選中車
,主持人開羊1或羊2;
二是一開始選中羊1,主持人開羊2;
三是一開始選中羊2,主持人開羊1。
隨便舉個栗子你就知道這種演算法的荒謬了。
桌上有一片西瓜,你丟個硬幣決定自己吃不吃這片西瓜。
請問你吃西瓜的機率是多少?
1/2對吧?很顯然的。
慢著,如果你選擇不吃西瓜,我再丟個硬幣決定吃不吃西瓜,
按照你的演算法,你吃西瓜的機率突然就變成1/3了
。
因為有三種情況:
一是你吃西瓜,我沒得吃
二是你不吃西瓜,我吃西瓜
三是你不吃西瓜,我也不吃西瓜
自己琢磨吧。
其實如果按照這種演算法,我加上無窮多的人,你吃西瓜的機率直接就到0了。
一是你吃西瓜,A1沒得吃
二是你不吃西瓜,A1吃西瓜
三是你不吃西瓜,A1也不吃西瓜,A2吃西瓜
……
n是你不吃西瓜,A1到An-2不吃西瓜,An-1吃西瓜。
=================================================================
補充一下好了,事實上蒙提霍爾問題成立的條件是很苛刻的,所以下面很多舉的栗子其實是錯的。
蒙提霍爾問題成立的關鍵在於,
主持人開啟一個門必須是必然發生的事情
,也就是說主持人沒有選擇開啟,或者不開啟門的權利。也就是在節目流程中,
主持人是必須要開啟一個門的,在這個條件下,蒙提霍爾問題的機率才是換2/3中獎,不換1/3中獎。
其實簡單思考一下就能知道,如果主持人可以選擇推開或不推開一扇門,並且主持人一定知道每扇門後面是山羊還是跑車。那麼,主持人可以選擇在你選中了車的時候推開門,而在你沒有選中車的時候,不推開門。
在這種情況下,如果你的策略是主持人若是推開一扇門你就換,不推開你就不換,你的中獎機率將直接到0。
如果你的策略是不論主持人推開門或不推開門都換,你的中獎機率是1/3。
如果你的策略是絕對不換,那麼中獎機率是1/3。
當然,主持人還可以採取其他更復雜的策略,這時候你的策略也會獲得不同的中獎機率,無論如何,堅守不換的情況,你的機率將恆定在1/3。
這是一個有趣的問題,記住他的結論當然很重要,
但更重要的是記住這個結論的約束條件
。
這裡提供一個簡明的思路,忽略不重要的細節,並直接得出解答公式。
設總共有N扇門,其中某一扇門後面有車。
策略一
:我選擇某扇門,在主持人提示之後,
不變更
選擇。
實質:決定我中獎的,是
“我一次選中了有車的門”
這一事件A,與後續事件無關。
事件機率/中獎機率:
策略二
:我選擇某扇門,在主持人提示之後,
變更
選擇。
實質:決定我中獎的,是兩個事件的發生:
事件B。 我第一次選擇了無車的門;
事件C。 在事件B發生的
條件
下,我在
剩餘可選的門中
選擇了有車的門。(注意:此時除去第一次選擇的門和主持人開啟的門,剩餘的可選的門只有
N-2
扇。)
事件機率:
;
;
中獎機率:
比較上述情況可知:
;
即
變更選擇是更優策略
。
舉例:
設N=3,依據上述公式,策略一中獎的機率是0。333,策略二是0。667;
設N=5,依據上述公式,策略一中獎的機率是0。200,策略二是0。267;
作為練習,我用Python進行了簡單的模擬,如下。
import
random
def
monty_hall
(
N
=
3
,
rechoose
=
False
):
# 設定場景
doors
=
list
(
range
(
N
))
reward
=
random
。
choice
(
doors
)
# 我的選擇
my_choice
=
random
。
choice
(
doors
)
# 主持人作出隨機選擇。注意主持人可選擇開啟的門不包括
# - 我選擇的門
# - 中獎的門
# 而兩者可能重合。因此接下來分兩種情況:
# - 若重合,則主持人可選的門有N-1扇
# - 否則主持人可選的門只有N-2扇
# 這裡即是條件機率的切入點
doors_for_hosts_choice
=
doors
[:]
doors_for_hosts_choice
。
remove
(
my_choice
)
if
reward
!=
my_choice
:
doors_for_hosts_choice
。
remove
(
reward
)
hosts_choice
=
random
。
choice
(
doors_for_hosts_choice
)
del
doors_for_hosts_choice
# 是否作出第二次選擇
if
rechoose
:
# 第二次選擇不能包含
# - 第一次選擇的門
# - 主持人開啟的門
doors
。
remove
(
my_choice
)
doors
。
remove
(
hosts_choice
)
my_choice
=
random
。
choice
(
doors
)
return
reward
==
my_choice
測試執行結果。
T
=
1000000
# 例一
In
[
1
]:
sum
(
monty_hall
(
N
=
3
)
for
_
in
range
(
T
))
/
T
Out
[
1
]:
0。333731
In
[
2
]:
sum
(
monty_hall
(
N
=
3
,
rechoose
=
True
)
for
_
in
range
(
T
))
/
T
Out
[
2
]:
0。666615
# 例二
In
[
3
]:
sum
(
monty_hall
(
N
=
5
)
for
_
in
range
(
T
))
/
T
Out
[
3
]:
0。200675
In
[
4
]:
sum
(
monty_hall
(
N
=
5
,
rechoose
=
True
)
for
_
in
range
(
T
))
/
T
Out
[
4
]:
0。266317
繼續嘗試不同的N,可以驗證推導結果和模擬結果是一致的。
曾經跟各種人解釋,能明白的很快就明白了,不明白的就一直在自己的思路里面怎麼也出不來,還要來找我辯論。。。。後來,我做了一個excel檔案來模擬,基本就沒有人找上門辯論了。這個檔案在這裡:
http://blog。genglinxiao。com/monty-hall-problem-simulation-in-excel/
對標準答案有疑問的同學們,自己下載下來試試就明白了。
假設你在進行一個遊戲節目。現給三扇門供你選擇:一扇門後面是一輛轎車,另兩扇門後面分別都是一頭山羊。你的目的當然是要想得到比較值錢的轎車,但你卻並不能看到門後面的真實情況。主持人先讓你作第一次選擇。在你選擇了一扇門後, 知道其餘兩扇門後面是什麼的主持人,打開了另一扇門給你看,而且,當然,那裡 有一頭山羊。現在主持人告訴你,你還有一次選擇的機會。那麼,請你考慮一下,你是堅持第一次的選擇不變,還是改變第一次的選擇,更有可能得到轎車?
關於車羊門問題的一個新解。
1/2和1/3都是對的,但前提不同。
首先,什麼是機率呢?
古典機率的定義是這樣的
如果一個試驗滿足兩條:
(1)試驗只有有限個基本結果;
(2)試驗的每個基本結果出現的可能性是一樣的。
這樣的試驗便是古典試驗。
對於古典試驗中的事件A,它的機率定義為:P(A)=m/n,其中n表示該試驗中所有可能出現的基本結果的總數目。m表示事件A
包含
的試驗基本結果數。 這種定義機率的方法稱為機率的古典定義。
車羊門問題只有有限個結果。但每個結果出現的可能性是否一樣,就需要我們動動腦筋了。首先是你的選擇與主持人的選擇是有關的。而且主持人的行動還會參考你所未知的條件。最最重要的是,你自己站在大獎面前,心中忐忑不安,還會想著,要是我一開始沒選對,主持人是不是就不玩這個換門的把戲了?
貝葉斯機率是由
貝葉斯
理論所提供的一種對機率的解釋,它採用將機率定義為某人對一個命題信任的程度的概念。
看起來,這個問題由貝葉斯機率來解釋才更為靠譜。或者說,對於期待單次結果的實驗,機率其實並沒有意義,有意義的是你的信賴度,而古典機率只是構成你信賴度的一部分條件而已。
就本題而言,如果你不信任主持人和電視臺,認為他們根本發不起汽車,但也不至於給你放3頭羊,那麼不換就好,不換的機率肯定是大於等於1/2;如果你覺得自己近來運氣爆棚,不可能選錯,那也滿可以把不換得到車的機率設定成99。99%,留個0。01%是怕你後悔;
如果選擇無視掉自己的第一次選擇和主持人的建議板塊,只看最後一步,二選一,不用說答案就是1/2;
如果電視臺客觀公正,而且每次都是這樣流程,問題也很簡單,第一次選中車的機率也就是不換得到車的機率1/3。剩下就是換得到車的機率。
重複一遍,對於期待單次結果的實驗,機率其實並沒有意義,有意義的是你的信賴度。