今天在《理性》这本书里读到了一个生日悖论。说一个60人的班级,存在同一天生日的同学概率超过 95%,感觉有点不真实。
曾在学校时,我发现如果两个同学同一天生日,我会认为这是一种缘分。若他们一男一女,更觉缘分深厚。他们结为伴侣就更不可思议了。
那么,这些概率如何计算?这种缘分有多不可思议?
我们假设一年有 365 天,一个班 60 人,男女各半。
存在至少两个同学同一天生日的概率
直接计算较难,故采用迂回策略。先算出所有同学生日各不相同的概率 P(A)
,再用 1-P(A)
计算至少两人同天生日的概率。计算过程如下:
- 每个同学的生日可以是 365 天中的任意一天,同学生日的总可能性为 36 5 60 365^{60} 36560。
- 所有同学生日不同的情况:第一个同学有 365 选项,第二个同学有 364 选项 (跟前面所有同学生日不同),依此类推至第 60 个同学,有 306 选项。
- 因此, P ( A ) = 365 × 364 × ⋯ × 306 36 5 60 P(A)=\frac{365 \times 364 \times \cdots \times 306}{365^{60}} P(A)=36560365×364×⋯×306。
写个程序计算,手算是不会手算了:
from math import prod
days_in_year = 365
students = 60
prob_no_shared_birthday = prod([(days_in_year - i) / days_in_year for i in range(students)])
prob_at_least_one_shared_birthday = 1 - prob_no_shared_birthday
print(prob_at_least_one_shared_birthday)
# 0.9941
结果是惊人的 99.41%!所谓缘分竟不过如此。
一个男生和一个女生同一天生日的概率
原问题还没想明白,简化一下问题,假设男生的生日不同,女生的生日也不同啊
- 所有事件的可能个数不变,还是 36 5 60 365^{60} 36560
- 一个男生和一个女生同一天生日的概率计算:女生和男生的生日各有 365种可能,组合可能有 36 5 2 365^2 3652 种可能,同一天生日有 365 365 365 种可能(一年中的任何一天),所以概率是 1 365 \frac{1}{365} 3651。
- 而男女的配对的总共有 30 × 30 30\times 30 30×30 方式,所有男女生配对方式的生日都不同的概率是 ( 1 − 1 365 ) 900 (1-\frac{1}{365})^{900} (1−3651)900
- 存在至少一对男女生同一天生日的概率是 1 − ( 1 − 1 365 ) 900 1-(1-\frac{1}{365})^{900} 1−(1−3651)900
from math import prod
pairs_num = 30 * 30
prob_no_shared_birthday_girl_boy = prod([1 - (1/365) for i in range(pairs_num)])
prob_at_least_one_shared_birthday_girl_boy = 1 - prob_no_shared_birthday_girl_boy
print(prob_at_least_one_shared_birthday_girl_boy)
# 0.9153
结果是 91.53%,在一个 60 人的班上,碰到同一天生日的异性概率还是很高的啊。
存在至少两个同学变成男女朋友的概率
我们假设没有三角恋这种超出认知范围的关系啊,并且一个男生跟一个女生成为男女朋友的概率为 1/4
- 大家都单身的概率:总共的男女朋友组合有 30 × 30 = 900 30\times 30=900 30×30=900 种可能,都不成为男女朋友意味着这 900 个组合都不成功,因此这个概率 P ( A ) = ( 1 − 1 / 4 ) 900 P(A)=(1-1/4)^{900} P(A)=(1−1/4)900,几乎为 0。
- 那么班上存在一对男女朋友的概率就是 1 − P ( A ) 1-P(A) 1−P(A) 几乎概率为 1。所以不可避免一个班上会出现男女朋友。
- 上面的计算不太贴合事实,因为一般是这 900 个组合里面,很多男女生成不了男女朋友的概率几乎是 1。因为人性嘛,只有双方都吸引彼此才能成。估计只有“班花班草”这样的组合不成功概率会低一点。假设班里班花 3 名,班草 3 名,那么 P ( A ) = 1 991 × ( 1 − 1 / 4 ) 9 = 0.075 P(A)=1^{991}\times (1-1/4)^9=0.075 P(A)=1991×(1−1/4)9=0.075。 1 − P ( A ) = 0.925 1-P(A)=0.925 1−P(A)=0.925。所以很大概率上一个班级还是会有男女朋友。
这样想想,家长们有必要去阻止谈恋爱吗?可能培养正确的爱情观才是家长们该做的,避免是不可能避免了。概率真好玩。
关注不走丢,欢迎反馈、点赞、加星
参考
- Steven Pinker《理性》