什麼是生日悖論?
生日悖論(又稱生日問題)提出了一個看似簡單的問題:在一群 \(n\) 個人之中,至少有兩個人同一天生日的機率是多少?令人意外的答案是——只要 23 個人,這個機率就會超過 50%;而只要 70 個人,機率更會飆破 99.9%。之所以讓人覺得不可思議,是因為大家直覺上都拿「自己的生日」去和別人比,但事實上,群體裡的每一對組合都是一次配對成功的機會。
如何使用這個計算器
輸入群體人數 n(總共幾個人),就能讀取至少有一對人同一天生日的機率 \(p(n)\),以百分比顯示。結果表格也會列出互補機率,也就是所有人生日都不同的機率。本計算器假設一年為 365 天、每一天的機率都相等,並且不計入閏年 2 月 29 日出生的情況。
公式解析
最簡單的算法,是先計算「沒有任何人同一天生日」的機率,再用 1 去減。第一個人的生日可以是任何一天(365/365);第二個人必須避開第一個人(364/365);第三個人要避開前兩個人(363/365),以此類推:
$$\bar{p}(n) = \frac{365}{365} \times \frac{364}{365} \times \cdots \times \frac{365 - n + 1}{365}$$接著,至少有一對人同一天生日的機率就是
$$p(n) = 1 - \bar{p}(n)$$我們以逐步連乘的方式計算這個乘積,以避免階乘運算造成數值溢位。
實例演算
以 \(n = 23\) 為例,將這 23 個分數相乘可得 \(\bar{p}(23) \approx 0.492703\),因此 \(p(23) = 1 - 0.492703 \approx 0.5073\),約為 50.73%——剛好比擲硬幣的機率高一點。若以預設的 \(n = 30\) 來算,\(\bar{p}(30) \approx 0.293684\),得出 \(p(30) \approx\) 70.63%。
常見問題
為什麼這麼少人就能成立?因為 23 個人總共可以組成 253 種不同的配對,而每一種配對都是一次全新的「撞生日」機會。
當人數達到 366 人會怎樣?根據鴿籠原理(抽屜原理),一年只有 365 天,所以一定會有兩個人同一天生日,機率剛好就是 100%。
有把閏年算進去嗎?沒有。本模型採用 365 天、每天機率相等,並排除 2 月 29 日,這樣才能維持經典結果的簡潔與準確。