上篇文章 洗牌算法詳解 講到了驗(yàn)證概率算法的蒙特卡羅方法,今天聊點(diǎn)輕松有趣的內(nèi)容:三個和概率相關(guān)的反直覺問題。首先,計(jì)算概率有下面兩個最簡單的原則: 原則一、計(jì)算概率一定要有一個參照系,即「樣本空間」,也就是隨機(jī)事件可能出現(xiàn)的所有結(jié)果。事件 A 發(fā)生的概率 = A 包含的樣本點(diǎn) / 樣本空間的樣本總數(shù)。 原則二、計(jì)算概率一定要明白,概率是一個連續(xù)的整體,也就是所謂的條件概率,不可以把連續(xù)的概率分割開。 上述兩個原則高中就學(xué)過,但是我們還是很容易犯錯,而且犯錯的流程也有異曲同工之妙: 先是忽略了原則二,錯誤地計(jì)算了樣本空間,然后通過原則一算出了錯誤的答案。 下面介紹幾個簡單卻具有迷惑性的問題,分別是男孩女孩問題、生日悖論、三門問題。當(dāng)然,三門問題可能是大家最耳熟的,所以就多聊一些有趣的思考。 一、男孩女孩問題假設(shè)有一個家庭,有兩個孩子,現(xiàn)在告訴你其中有一個男孩,請問另一個也是男孩的概率是多少? 很多人,包括我在內(nèi),不假思索地回答:1/2 啊,因?yàn)榱硪粋€孩子要么是男孩,要么是女孩,而且概率相等呀。但是實(shí)際上,答案是 1/3。 上述思想為什么錯誤呢?因?yàn)闆]有正確計(jì)算樣本空間,導(dǎo)致原則一計(jì)算錯誤。有兩個孩子,那么樣本空間為 4,即哥哥妹妹,哥哥弟弟,姐姐妹妹,姐姐弟弟這四種情況。已知有一個男孩,那么排除姐姐妹妹這種情況,所以樣本空間變成 3。另一個孩子也是男孩的話,只有哥哥弟弟這 1 種情況,所以概率為 1/3。 為什么計(jì)算樣本空間會出錯呢?因?yàn)槲覀兓煜讼旅鎯蓚€問題: 這個家庭只有一個孩子,這個孩子是男孩的概率是多少? 這個家庭有兩個孩子,其中一個是男孩,另一個孩子也是男孩的概率是多少? 我們?nèi)菀紫氘?dāng)然地用“生男生女概率相等”的生活常識來分析問題。為了不要被迷惑,最簡單的辦法還是把所有可能結(jié)果窮舉出來,老老實(shí)實(shí)地數(shù)。 最后,對于此問題我見過一個很奇葩的質(zhì)疑:如果這兩個孩子是雙胞胎,不存在年齡上的差異怎么辦? 我竟然覺得有那么一絲道理!但其實(shí),我們只是通過年齡差異來表示兩個孩子的獨(dú)立性,也就是說即便兩個孩子年齡相同,也要假設(shè)他們一大一小。所以不要用雙胞胎抬杠。 當(dāng)然,這個問題還有好幾種說法,不過區(qū)別僅僅在于對于細(xì)節(jié)的理解差異,所以這里就不再多討論。有興趣的讀者可以自行搜索。 二、生日悖論生日悖論是由這樣一個問題引出的:一個屋子里需要有多少人,才能使得存在至少兩個人生日是同一天的概率達(dá)到 50%? 答案是 23 個人,也就是說房子里如果有 23 個人,那么就有 50% 的概率會存在兩個人生日相同。 這個結(jié)論看起來不可思議,所以被稱為悖論。按照直覺,要得到 50% 的概率,起碼得有 183 個人吧,因?yàn)橐荒暧?365 天呀?其實(shí)不是的,覺得這個結(jié)論不可思議主要有兩個思維誤區(qū): 第一個誤區(qū)是誤解「存在」這個詞的含義。 讀者可能認(rèn)為,如果 23 個人中出現(xiàn)相同生日的概率就能達(dá)到 50%,是不是意味著: 假設(shè)現(xiàn)在屋子里坐著 22 個人,然后我走進(jìn)去,那么有 50% 的概率我可以找到一個人和我生日相同? 并不是的,你這種想法是以自我為中心,而題目的概率是在描述整體。也就是說「存在」的含義是指 23 人中的任意兩個人,涉及排列組合,大概率和你這個個體沒啥關(guān)系。 如果你非要計(jì)算存在和自己生日相同的人的概率是多少,可以這樣計(jì)算: 1 - P(22 個人都和我的生日不同) = 1 -(364/365)^22 = 0.06 這樣計(jì)算得到的結(jié)果是不是看起來合理多了?生日悖論計(jì)算的對象不是某一個人,而是一個整體,其中包含了所有人的排列組合,它們的概率之和當(dāng)然會大得多。 第二個誤區(qū)是認(rèn)為概率是線性變化的。 讀者可能認(rèn)為,如果 23 個人中出現(xiàn)相同生日的概率就能達(dá)到 50%,是不是意味著 46 個人的概率就能達(dá)到 100%? 不是的,就像中獎率 50% 的游戲,你玩兩次的中獎率就是 100% 嗎?顯然不是,你玩兩次的中獎率是 75%: P(兩次能中獎)=P(第一次就中了)+P(第一次沒中但第二次中了)=1/2+1/2?1/2=75% 那么換到生日悖論也是一個道理,概率不是簡單疊加,而要考慮一個連續(xù)的過程。所以 23 個人能達(dá)到 50% 的概率并沒有什么不合常理之處。 那為什么只要 23 個人出現(xiàn)相同生日的概率就能大于 50% 了呢?我們先計(jì)算 23 個人生日都唯一(不重復(fù))的概率。只有 1 個人的時候,生日唯一的概率是 365/365,2 個人時,生日唯一的概率是 365/365×364/365,以此類推,可知 23 人的生日都唯一的概率: 算出來大約是 0.493,所以存在相同生日的概率就是 0.507,差不多就是 50% 了。 實(shí)際上,按照這個算法,當(dāng)人數(shù)達(dá)到 70 時,存在兩個人生日相同的概率就上升到了 99.9%,基本可以認(rèn)為是 100% 了。所以從概率上說,一個幾十人的小團(tuán)體中存在生日相同的人真沒啥稀奇的。 三、三門問題這個游戲很經(jīng)典了:游戲參與者面對三扇門,其中兩扇門后面是山羊,一扇門后面是跑車。參與者只要隨便選一扇門,門后面的東西就歸他(跑車的價值當(dāng)然更大)。但是主持人決定幫一下參與者:在他選擇之后,先不急著打開這扇門,而是由主持人打開剩下兩扇門中的一扇,展示其中的山羊(主持人知道每扇門后面是什么),然后給參與者一次換門的機(jī)會,此時參與者應(yīng)該換門還是不換門呢? 為了防止第一次看到這個問題的讀者迷惑,再通過圖片具體描述一下這個問題: 你是游戲參與者,現(xiàn)在有門 1,2,3,假設(shè)你隨機(jī)選擇了門 1,然后主持人打開了門 3 告訴你那后面是山羊?,F(xiàn)在,你是堅(jiān)持你最初的選擇門 1,還是選擇換成門 2 呢? 答案是應(yīng)該換門,換門之后抽到跑車的概率是 2/3,不換的話是 1/3。又一次反直覺,按道理換不換的中獎概率應(yīng)該都一樣啊,因?yàn)樽詈缶褪蓚€門,必然一個是羊,一個是跑車,這是事實(shí),所以不管選哪個的概率不都是 1/2 嗎? 類似前面說的男孩女孩問題,最簡單穩(wěn)妥的方法就是把所有可能結(jié)果窮舉出來: 很容易看到選擇換門中跑車的概率是 2/3,不換的話是 1/3。 關(guān)于這個問題還有更簡單的思路:主持人開門實(shí)際上在「濃縮」概率。一開始你選擇到跑車的概率當(dāng)然是 1/3,剩下兩個門中包含跑車的概率當(dāng)然是 2/3,這沒啥可說的。但是主持人幫你排除了一個含有山羊的門,相當(dāng)于把那 2/3 的概率濃縮到了剩下的這一扇門上。那么,你說你是抱著原來那扇 1/3 的門,還是換成那扇經(jīng)過「濃縮」的 2/3 概率的門呢? 再直觀一點(diǎn),假設(shè)你三選一,剩下 2 扇門,再給你加入 98 扇裝山羊的門,把這 100 扇門隨機(jī)打亂,問你換不換一扇?肯定不換對吧,這明擺著把概率稀釋了,肯定抱著原來的那扇門是最可能中跑車的。 再假設(shè),初始有 100 扇門,你選了一扇,然后主持人在剩下 99 扇門中幫你排除 98 個山羊,問你換不換一扇門?肯定換對吧,你手上那扇門是 1%,另一扇門是 99%,或者也可以這樣理解,不換只是選擇了 1 扇門,換門相當(dāng)于選擇了 99 扇門,這樣結(jié)果很明顯了吧? 以上思想,也許有的讀者都思考過,下面我們思考這樣一個問題:假設(shè)你在決定是否換門的時候,小明破門而入,要求幫你做出選擇。他完全不知道之前發(fā)生的事,他只知道面前有兩扇門,一扇是跑車一扇是山羊,那么他抽中跑車的概率是多大? 當(dāng)然是 1/2,這也是很多人做錯三門問題的根本原因:類似生日悖論,人們總是容易以自我為中心,通過這個小明的視角來計(jì)算是否換門,這顯然會進(jìn)入誤區(qū)。 就好比有兩個箱子,一號箱子有 4 個黑球 2 個紅球,二號箱子有 2 個黑球 4 個紅球,隨便選一個箱子,隨便摸一個球,問你摸出紅球的概率。 對于不知情的小明,他會隨機(jī)選擇一個箱子,隨機(jī)摸球,摸到紅球的概率是:1/2 × 2/6 + 1/2 × 4/6 = 1/2 對于知情的你,你知道在二號箱子摸球概率大,所以只在二號箱摸,摸到紅球的概率是:0 × 2/6 + 1 × 4/6 = 2/3 三門問題是有指導(dǎo)意義的。比如你蒙選擇題,先蒙了 A,后來靈機(jī)一動排除了 B 和 C,請問你是否要把 A 換成 D?答案是,換! 也許讀者會問,如果只排除了一個答案,比如說 B,那么我是否應(yīng)該把 A 換成 C 或者 D 呢?答案是,換! 因?yàn)榘凑談偛拧笣饪s」概率這個思想,只要進(jìn)行了排除,都是在進(jìn)行「濃縮」,均攤下來肯定比你一開始蒙的那個答案概率 1/4 高。比如剛才的例子,C 和 D 的正確概率都是 3/8,而你開始蒙的 A 只有 1/4。 當(dāng)然,運(yùn)用此策略蒙題的前提是你真的抓瞎,真的隨機(jī)亂選答案,這樣概率才能作為最后的殺手锏。 |
|