不可思議的數:生日悖論
《不可思議的數》第23章“生日悖論”:
在一場英式足球賽裡,通常會有23個人在賽場上:兩支參賽隊伍各有11名球員,外加1名裁判。…… 在這23人裡,2人或2人以上具有相同生日的概率是多少?
……
現在,規律很清楚了。當第 k 個人上場時,所有 k 個人生日不相同的概率是
當 k= 23 時,它的結果等於 0.492703,比 1/2 略小。因此,至少有兩個人生日相同的概率是 1 - 0.492703,它等於 0.507297,比 1/2 略大。
……
木星上的生日
我們算出 23,是因為一年裡有 365 天。在這裡 365 並沒有特殊的數學意義,它源自天文學上的規定。就數學而言,我們應該分析一個更一般化的問題,這在個問題裡,一年的天數應該是任意的。
讓我們先算算泡泡猴的生日問題。…… 所以,一個“木星年”大約包含了 10 477 個“木星日”。
類似計算表明,假設有 121 只泡泡猴(每隊 40 只,一共 3 個隊,再加上 1 名裁判)參與球賽時,至少有 2 只泡泡猴生日相同的概率會略大於 1/2。事實上,
而當有 120 只泡泡猴時,生日相同的概率是 0.495455。
注意,上面的公式中連乘積最後一項的分子 10356 應該是 10357,因為它應該等於 10477 - k + 1 = 10477 - 121 + 1 = 10357。
我們可以寫一個函式 f(n,k) 來計算當一年有 n 天,k 個人中至少有 2 個人的生日相同概率。在 PARI/GP 中可以這麼寫:
$ gp -q
? f(n,k)=1.0-prod(i=1,k-1,(n-i)/n)
? f(365,23)
0.50729723432398540722541722833703250024
? f(10477,121)
0.50123411013126407848664452412022799823
? f(10477,120)
0.49545522562955042486285359459376544728
計算結果和書上給出的相符。書上繼續說:
當一年的天數不同時,木星上的數學家們實在不想重複計算這一概率,於是,他們發展出一個通用公式。這個公式並不十分精確,卻是一個非常好的近似。它回答了一個一般化的問題:如果可以選取 n 個日期,必須要有多少實體,才能使其中至少兩個實體具有相同生日的概率超過 1/2?
但木星生物不知道,從尼波布拉科特(Neeblebruct)星球來的一支隱形外星入侵者艦隊已經繞著木星轉悠了半個木星世紀。為了解開一個祕密,他們經年累月地綁架了尼波布拉科特組(一組等於 42 個)木星數學家。外星入侵者碰到的問題是:一個尼波布拉科特年恰好有 424 = 3 111 696 尼波布拉科特天,但是沒人能算出 121 該被哪個數替代才是正確的。
接下來,書上給出了一個近似公式來解決這個問題。
……(欲知這個公式是什麼,請購買《不可思議的數》)
然而,當 n 很大時,這個公式就不那麼精確了。當把它應用到尼波布拉科特年,即 n = 3 111 696 時,根據公式可知
k = 2076.95
(向上)取整後得到 2077。但通過詳細計算,這時
P(k) = 0.4999
它比 1/2 略小。正確的結果應該是 2078,因為這樣才會有
P(k) = 0.5002
注意,這裡的 0.5002 應該是 0.5003,見後面的計算。還要注意,這裡(書上第314頁)的 P(k) 表示 k 個人中至少有兩個人具有相同生日的概率,而本文開頭(書上第311頁)的 P(k) 表示所有 k 個人生日都不相同的概率。如果把前者稱為 P2(k),後者稱為 P1(k),則:P2(k) = 1 - P1(k)。
利用 PARI/GP,寫出一個函式 g(n) 來準確計算需要多少個實體才能滿足要求是非常簡單的:
? g(n)=z=1;k=0;for(i=1,n,if(z<=1/2,k=i;break);z*=(n-i)/n);k
? g(365)
23
? g(10477)
121
? g(42^4)
2078
這個結果與書上給出的相符。繼續驗證書上的最後兩個 P(k):
? f(42^4,2077)
0.49992646809781378219275113896957663584
? f(42^4,2078)
0.50026025800716252344973307290025630034
可見書上最後一個 P(k) 有誤。
相關文章
- 不可思議的肉鴿遊戲遊戲
- 元宇宙辦公數字新世界締造更多的不可思議元宇宙
- 《Omno》幕後不可思議的勵志故事
- 【不可思議的前端】動如脫兔的小球前端
- React的併發悖論React
- Android高階效能調優;不可思議的OOM!AndroidOOM
- 企業數字化悖論與對策
- 對“芝諾悖論”的思考
- 不可思議的純 CSS 滾動進度條效果CSS
- 不可思議的純 CSS 實現滑鼠跟隨效果CSS
- 伯克森悖論的各種案例
- 深度學習:隨機值不可思議的有效性深度學習隨機
- 一個不可思議的MySQL慢查分析與解決MySql
- 為什麼說超人工智慧永遠是悖論,理論與現實不可逾越的鴻溝人工智慧
- 不可思議!7、8 年外包進了國企!!
- 25張不可思議的數學知識動圖,早點看到這數學動圖,我數學及格了
- 不可思議的DNF:竟然已經火了11年,到底好玩在哪裡?
- 流量將往哪裡走?2021,將建立不可思議的新秩序
- 不可思議的純 CSS 導航欄下劃線跟隨效果CSS
- 不可思議的純CSS導航欄下劃線跟隨效果CSS
- 認知謬論:什麼是弗雷德金悖論
- DDD悖論:DDD是不是銀彈?
- 製作人分享:《不可思議之夢蝶》的關卡是怎麼設計的?
- “不可思議迷宮”系列:10年沉寂後會是怎樣的未來
- 理解這些變革悖論,才能更好推動數字化轉型
- 非真,亦非假——20世紀數學悖論入侵機器學習機器學習
- 飛矢不動悖論——不存在的時間?
- “不可思議迷宮”系列:能玩1000次的RPG與日本遊戲婆羅門遊戲
- Spring Boot 專案瘦身指南,瘦到不可思議!129M->1.3MSpring Boot
- 實數是不可數的
- 傻子太多,騙子不夠用之理髮師悖論
- 介面自動化測試的覆蓋和 Diff 平臺的悖論
- 《不可思議之夢蝶》專案從PC版移植到Nintendo Switch經驗分享
- 不可思議的hexo,五分鐘教你免費搭一個高逼格技術部落格Hexo
- 10萬大獎派不完!百度EasyDL“不可思議大賽”等你來挑戰
- NBF虛擬藝人線上音樂節圓滿落幕,帶你開啟不可思議的夏天!
- 隱私悖論:客戶行為和態度的變化報告
- 鄧寧-克魯格效應:不知道自己無知的悖論