【生日問題】的機率計算詳解及列表
生日問題是指,如果在一個房間要多少人,則兩個人的生日相同的機率要大於50%? 答案是23人。 這就意味著在一個典型的標準小學班級(30人)中,存在兩人生日相同的可能性更高。對於60或者更多的人,這種機率會大於99%。這個問題有時也被稱做生日悖論,但從引起邏輯矛盾的角度來說生日悖論並不是一種悖論,它被稱作悖論只是因為這個數學事實與一般直覺相牴觸而已。大多數人會認為,23人中有2人生日相同的機率應該遠遠小於50%。計算與此相關的機率被稱為生日問題,在這個問題之後的數學理論已被用於設計著名的密碼攻擊方法:生日攻擊。
對此悖論的解釋
可以把生日悖論理解成一個盲射打靶的問題。對於一個23人的房間,先考慮問題的補集:23人生日兩兩不同的機率是多少?為此,可以讓23個人依次進入,那麼每個人生日都與其他人不同的機率依次是1,364/365,363/365,362/365,361/365,等等。先進入房間的這些人生日兩兩不同的機率是很大的,比如說前面5個是1×364/365×363/365×362/365×361/365=97.3%。而對於最後進入房間的幾個人情況就完全不同。最後幾個人進入房間並且找不到同生日者的機率是... 345/365,344/365,343/365。可以把這種機率看成對一張靶的盲射:靶上有365個小格,其中有17個左右是黑格,其餘是白格。假設每槍必中靶並且分布符合幾何概型的話,那麼連續射12槍左右任何一發都沒有擊中黑格的機率(投射於房間裡的人生日都兩兩不同)是多少呢?想必大家立即會感覺到這個機率十分微小。
理解生日悖論的關鍵,在於考慮上述「依次進入房間」模型中最後幾個進入房間的人「全部都沒碰到相同生日的人」機率有多大這件事情。
簡而言之,大多數人之所以會認為23人中有2人生日相同的機率應該遠遠小於50%,是因為將問題理解為「其他22人與你的生日相同的機率」,而非問題本意「23人之中兩兩之間存在生日相同」。如果考慮到這一點,直覺上會將原來的機率乘以23(注意:此算法並不正確),則會意識到機率很大了。
假設有n個人在同一房間內,如果要計算有兩個人在同一日出生的機率,在不考慮特殊因素的前提下,例如閏年、雙胞胎,假設一年365日出生機率是平均分布的(現實生活中,出生機率不是平均分布的)。
計算機率的方法是,首先找出p(n)表示n個人中,每個人的生日日期都不同的機率。假如n > 365,根據鴿巢原理其機率為0,假設n ≤ 365,則機率為
- {\displaystyle {\bar {p}}(n)=1\cdot \left(1-{\frac {1}{365}}\right)\cdot \left(1-{\frac {2}{365}}\right)\cdots \left(1-{\frac {n-1}{365}}\right)={\frac {365}{365}}\cdot {\frac {364}{365}}\cdot {\frac {363}{365}}\cdot {\frac {362}{365}}\cdots {\frac {365-n+1}{365}}}
因為第二個人不能跟第一個人有相同的生日(機率是364/365),第三個人不能跟前兩個人生日相同(機率為363/365),依此類推。用階乘可以寫成如下形式
- {\displaystyle {365! \over 365^{n}(365-n)!}}
p(n)表示n個人中至少2人生日相同的機率
- {\displaystyle p(n)=1-{\bar {p}}(n)=1-{365! \over 365^{n}(365-n)!}}
n≤365,根據鴿巢原理,n大於365時機率為1。
當n=23發生的機率大約是0.507。其他數字的機率用上面的算法可以近似的得出來:
n |
p(n) |
10 |
12% |
20 |
41% |
30 |
70% |
50 |
97% |
100 |
99.99996% |
200 |
99.9999999999999999999999999998% |
300 |
1 −(7×10−73) |
350 |
1 −(3×10−131) |
≥366 |
100% |
比較p (n) = 任意兩個人生日相同機率q (n) =和某人生日相同的機率
注意所有人都是隨機選出的:作為對比,q(n)表示房間中有n+1個人,當中與特定人(比如你)有相同生日的機率:
- {\displaystyle q(n+1)=1-\left({\frac {364}{365}}\right)^{n}}
當n = 22時機率只有大約0.059,約高於十七分之一。如果n個人中有50%機率存在某人跟你有相同生日,n至少要達到253。注意這個數字大大高於365/2 = 182.5;究其原因是因為房間內可能有些人生日相同。
生日悖論也可以用Microsoft Excel Spreadsheet類比, 其中A列表示人數,B列表示人數對應的生日相同的機率.
|
A |
B |
1 |
1 |
=1-PERMUT(365,A1)/POWER(365,A1) |
2 |
=A1+1 |
=1-PERMUT(365,A2)/POWER(365,A2) |
3 |
=A2+1 |
=1-PERMUT(365,A3)/POWER(365,A3) |
當你行數達到23(即人數)時,你可以看到機率結果開始大於50%.
取材自:生日問題- 維基百科網站
文章定位: