透過 MCP 連接 →

輸入計算

預設使用 365 天;若要納入閏日請改為 366。

數學公式

廣告

結果

Chance of at least one shared birthday (n = 57)
99.01%
probability = 0.9901

The probability first reaches or exceeds 50% at a group of 57 people (days in year = 365).

人數 n No match p̅(n) 無人撞生日 % 至少一對撞生日 p(n) 撞生日 %
57 0.009878 0.99% 0.990122 99.01%

什麼是生日悖論?

生日悖論指的是一個違反直覺的事實:只要一群人有 23 個,當中就有超過一半的機率會出現兩個人生日同一天。之所以讓人覺得不可思議,是因為大家通常會想成「有沒有人跟同一天生日」,但這個計算其實是在算任意一對有沒有撞生日,而隨著人數增加,可以配成的「兩兩組合」數量會迅速膨脹。這純粹是機率問題,放諸四海皆準。

一條上升的S形曲線,在約23人的群體處越過50%機率線
生日相同的機率快速上升,在約23人時超過50%。

如何使用這個計算器

輸入最小人數(「人數起點」)、最大人數(「人數終點」),如有需要也可以調整一年的天數(預設 365 天,若要納入 2 月 29 日則改為 366)。工具會依人數逐列建立表格,並針對每一種人數列出兩個機率:沒有任何兩人撞生日的機率,以及至少有一對撞生日的機率。它還會告訴你撞生日機率首次達到 50% 是在第幾個人。

計算公式

令 \(D\) 為一年的天數。\(n\) 個人生日全部不同的機率,等於可用天數逐步減少的連乘:

$$\bar{p}(n) = \frac{D}{D} \times \frac{D-1}{D} \times \cdots \times \frac{D-n+1}{D}$$

而至少有一對撞生日的機率,就是

$$p(n) = 1 - \bar{p}(n)$$

我們採用逐步相乘的方式,避免出現龐大的階乘數字;一旦 \(n\) 超過 \(D\),根據鴿籠原理,「無人撞生日」的機率就會強制歸零。

Advertisement
人們被分配到日曆的日期上,每個人可用的日期少一天
統計所有人生日都不同的情況:每多一人就少一個空閒日,得到乘積 \((D-k)/D\)。

實際範例

當 \(D = 365\)、\(n = 23\) 時,將 \(\frac{365}{365}\cdot\frac{364}{365}\cdots\frac{343}{365}\) 連乘起來可得 \(\bar{p}(23) \approx 0.492703\),因此 \(p(23) \approx 0.507297\),也就是大約 50.73% 的機率。若 \(n = 2\),機率只有 0.27%;而當 \(n = 50\) 時,機率則攀升至約 97.04%。

Advertisement

常見閾值:給定概率需要多少人?

經典的生日悖論讓人們感到驚訝,因為共同生日的概率增長速度遠超過直覺預期。下表顯示最小的群體規模 \(n\),在該規模下,至少一次共同生日的概率 \(P(n)\) 首次達到每個常見閾值,假設 \(D = 365\) 天且生日均勻分佈(忽略閏年和季節性出生模式)。

目標概率 群體規模 \(n\) 該規模下的實際 \(P(n)\)
10% 9 11.6%
50% 23 50.7%
90% 41 90.3%
95% 47 95.0%
99% 57 99.0%
99.9% 70 99.92%

最著名的里程碑是僅需 23 人,這足以使共同生日的可能性大於不可能性。請注意,概率在中間範圍陡峭上升——從 23 人時的 50% 機率上升到 57 人時接近確定的 99%——然後趨於平緩,因為每增加一個人相對於已有的配對機會而言會新增更少的配對機會。

常見問題

為什麼這麼早就超過 50%?因為 23 個人可以組成 253 種不同的兩兩配對,而其中任何一對都有可能撞生日。

有沒有把閏年或生日集中的情況算進去?沒有。本工具假設 365(或 366)天的生日機率均等;現實中生日若有集中現象,只會讓撞生日的機率更高。

人數超過 365 會怎樣?此時一定會有人撞生日,所以 \(p(n) = 1\)。

最後更新: