通过MCP连接 →

输入计算

数学公式

广告

结果

存在生日相同的概率 p(n)
70.6316%
in a group of 30 people
Probability all birthdays differ p̄(n) 29.3684%
群体人数 n 30 people
假设条件 365 天,每天概率均等,不计闰年

什么是生日悖论?

生日悖论(也叫生日问题)提出了一个看似简单的问题:在一群 n 个人当中,至少有两人生日相同的概率是多少?答案出乎意料——只需 23 个人,这个概率就会超过 50%;而仅仅 70 个人,概率便高达 99.9% 以上。之所以让人觉得"反直觉",是因为大家本能地拿别人和自己的生日去比对,却忽略了:群体中每一人,都是一次"撞生日"的机会。

概率随人数上升的曲线,在约23人处越过50%
生日相同的概率急剧上升,仅23人就超过了50%。

如何使用本计算器

输入群体人数 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)\)。我们采用逐项相乘的方式进行计算,以避免阶乘运算造成数值溢出。

Advertisement
展示补集方法的示意图:用1减去所有人生日都不同的概率
该公式先算出所有人生日都不同的概率,再用1减去它。

实例演算

当 \(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 天,所以 366 个人必然有人生日相同,此时概率恰好为 100%。

它考虑闰年了吗?没有。本模型采用 365 个等可能的日期,排除 2 月 29 日,这样能让经典结论保持简洁明了。

最后更新: