當前位置:
首頁 > 科技 > 如何用 Python 解讀著名的「三門問題」?

如何用 Python 解讀著名的「三門問題」?

作者 | 小詹

責編 | 郭芮

本文我們用Python分析著名的「三門問題」。

不過在這之前 ,可以先來說點類似的。假如三個盒子里各有一個球,一次選擇機會摸獎。你摸到了球,就獎勵你一個脫髮再續膏,解決程序員禿頭煩惱。如果沒摸到?那你就禿頭吧......

Python實現之基本操作:

foriinrange(time):

box = [,,]

my_choice = random.randint(1,3)

box[random.randint(1,3) -1] =1

if(i)%30==:

print("
")

ifbox[my_choice -1]:

count = count +1

print("",end=" ")

else:

print("",end=" ")

print("
",count*100/time,"%")

概率是三分之一,這個沒得跑,繼續往下看。

三門摸獎之死門

三個盒子里有一個球,一次選擇機會摸獎。這次可以加點料,當你第一次選擇之後,上帝準確告訴你剩餘兩個選擇中有一個是錯的,空盒子,現在你剩下了自己原來的選擇,和上帝沒告訴你的那個選擇。

現在給你一個選擇,換不換:

堅持第一眼確認過眼神的盒子;

換成兩個盒子里上帝沒告訴你的盒子。

上帝真好,為了給程序員發福利排除一個錯誤選項,二分之一概率很 OK,就那個確認過眼神的盒子吧。

Python實現之堅持我的選擇:

defGod_hand(box,my_choice):

all =6

god_choice = random.randint(1,3)-1

whilegod_choice == my_choice:

god_choice = random.randint(1,3)-1

if(box[god_choice]):

returnall - god_choice - my_choice

returngod_choice

God_choice = God_hand(box,my_choice)

my_choice = my_choice

嗯???不還是三分之一嘛,這有啥?等等,好像有點不對的地方。

三門摸獎之生門

這次我想選上帝沒告訴我的那個盒子,我覺得我好像發現了什麼。

Python實現之選擇那個上帝沒告訴我的盒子:

God_choice = God_hand(box,my_choice)

my_choice =6- my_choice - God_choice

沒錯三分之二,概率變了,變了,變了!這裡面的原因有很多,可以喊 6。不過還是繼續往下看,我慢慢解釋。

三門摸獎之無門

三個盒子里有一個球,一次選擇機會摸獎,現在我已經不想生髮了,我就想知道怎麼操縱概率,頭髮只是小事。

這次來加點猛料,當你第一次選擇之後,上帝隨便開一個盒子,如果上帝開出了球,遊戲結束,沒有開出來,就到你的回合了。

還是給你一個選擇,換不換?——換啊,肯定換,繼續有上帝之手幫我操作概率,這天下我唾手可得。

Python實現之上帝之手:

defGod_hand(box,my_choice):

all =6

god_choice = random.randint(1,3)

whilegod_choice == my_choice:

god_choice = random.randint(1,3)

returngod_choice

選上帝剩下的不行是嗎 ,那我回來堅持我自己的......

Python實現之我的回合:

my_choice = my_choice

——你在逗我?這個上帝偷概率的。

好了,上面只是舉個例子,下面我們來正經分析下三門問題的原型。

三門問題(Monty Hall problem)亦稱為蒙提霍爾問題 、蒙特霍問題或蒙提霍爾悖論 ,大致出自美國的電視遊戲節目 Let"s Make a Deal 。

問題名字來自該節目的主持人蒙提·霍爾(Monty Hall)。參賽者會看見三扇關閉了的門,其中一扇的後面有一輛汽車,選中後面有車的那扇門可贏得該汽車,另外兩扇門後面則各藏有一隻山羊。當參賽者選定了一扇門、但未去開啟它的時候,節目主持人開啟剩下兩扇門的其中一扇,露出其中一隻山羊。主持人其後會問參賽者要不要換另一扇仍然關上的門。

問題是:換另一扇門會否增加參賽者贏得汽車的機率?如果嚴格按照上述的條件,即主持人清楚地知道自己打開的那扇門後是羊,那麼答案是會。不換門的話,贏得汽車的幾率是1/3。換門的話,贏得汽車的幾率是 2/3。

這個問題亦被叫做蒙提霍爾悖論:雖然該問題的答案在邏輯上並不自相矛盾,但十分違反直覺。這問題曾引起一陣熱烈的討論。

一般會用到的思路包括:橫向的類比理解、純數理計算、排列可能性。我的想法是,問題原型是三門問題,確實反直覺、反簡單邏輯。於是我前後各自補充了兩個實例,共三個漸進的問題:

摸獎;

摸獎+上帝之手排除+可選;

摸獎+偽上帝之手開獎+偽可選 。

1、2 對比

1 三個裡面總有兩個是空的,上帝告訴我我沒選的東西有什麼用呢,我的選擇不變,我的概率不變,依舊是三分之一。

1+1 先來兩次 1,第一次我能選三個中的一個,過了幾秒鐘什麼事情沒發生,我可以換成別的,但我什麼都不知道,怎麼換還是三分之一。

2 第一次什麼都不知道,但第二次選的時候我已經知道有一個排除項了,選那個非排除項、非首選項,選中幾率擴大,而具體擴大的概率則需要定量數據分析,不是兩個選擇各自百分之五十,而是基於前兩種情況下再做選擇的概率分布。

更加重要的是,上帝是一個非隨機的選擇,上帝視角就決定了他對於隨機概率的破壞。

對比結果

果然那個排除項不像想像中那麼簡單,拿到一個未知問題環境,應該堅持單一變數的原則,謹慎推導,增量修補,才能尋找到細微差異。

1、2、3 對比

探索從來不止於問題本身,為了更加深刻的探討內涵,我增加第三項實驗,如果這是個假上帝呢?他就和你一樣,是一個選擇者,他可能不是人,只是一個會產生結果,而它又從不會是你的選擇。

於是,你回到了 1,相同的概率,你可能中途就知道自己選錯了,也可能走到盡頭才發現。你看似擁有選擇,但你沒有選擇,你苦苦思索,希望做出更優的抉擇,但是和一開始並無兩樣,你茫然依舊。

總結

這是一個簡單複雜淺顯深奧的概率問題,更不僅僅局限於數學。我可以在第二次讓上帝之手放下無數空盒子打亂概率又發生變換,而概率在其中不同情況下的輾轉變換,無一不彰顯著一個永恆的真理:擁有選擇權,才擁有概率。延伸一下,在更優的情況下,擁有選擇權,才擁有更高的概率。

你知道勤奮佔百分之九十九,但你不選這個盒子,任由上帝打開 。你知道興趣多麼助於你學習成長 ,但你不選這個盒子,任由其腐朽。你知道人工智慧區塊鏈量化交易的風口,但你不選這個盒子,任由別人打開。

我不願你讀過很多名人傳記,發現過很多自己身上的影子,卻懶惰愚昧的仰望著他們,把自己置於劣勢的條件下做隨機選擇。

——謹以此文,與君共勉,走一條高概率成功的人生之路。

聲明:本文為作者投稿,版權歸其個人所有。

熱 文推 薦

喜歡就點擊「好看」吧!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

雲計算、人工智慧、大數據等當前火熱的技術,都離不開它!
ofo 回應假裝老外秒退押金;董明珠雷軍十億賭約到期;高通蘋果摩擦再升級

TAG:CSDN |