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