生日問題

生日問題是一個機率論中的問題，它的敘述是：「需要多少人聚在一起，才能讓其中至少有兩人同一天生日的機率超過一半？」
答案令人意外，只需要23人。這個問題有時被稱為「生日悖論」，不過這其實並不是真正的悖論，只是因為結果違反了一般人的直覺。大多數人會認為23人中兩人同生日的機率應該遠小於50%。它衍生出的數學理論被用於設計一種名為「生日攻擊」的密碼破解方法。

**解釋**
生日問題可理解成盲射打靶問題。首先計算：23人皆不同生日的概率是多少？可想像一間有23人進入的房間，這23人依次進入，每個進入的人的生日都與房裡其他人的生日不同的概率依次是1、、、、等。先入房的人的生日皆不同的概率很高，前五個是1××××=97.3%；而最後入房的幾人就完全不同，他們入房且找不到同生日者的概率是、、。這種概率可看成對靶的盲射：靶有365格，其中17個左右黑格，其餘白格。假設每槍必中靶並且分佈符合幾何概型的話，連射12槍左右任何一發都沒有擊中黑格的概率（投射於房間裡的人生日皆不同）十分微小。
理解生日問題的關鍵在於考慮上述“依次入房”模型中最後幾個入房的人“全都沒碰到同生日的人”概率多少。
簡言之，大多數人之所以會認為23人中兩人同生日的概率應該遠遠小於50%，是因為將問題理解為“其他22人與你同生日的概率”，而非問題真諦“23人中兩兩之間存在生日相同”。如果有考慮這點，直覺上會將原來的概率乘以23（注意：此算法並不正確），則會意識到概率很大。

**概率估計**
假設有n個人在房內，如果要計算兩人同生日的機率，在不考慮特殊因素如閏年、雙胞胎的前提下，假設一年365日出生概率平均分佈（現實的出生機率不是平均分佈）。
計算概率的方法是，首先找出p（n）表示n人中，每人生日都不同的概率。假如n > 365，根據鴿巢原理其概率為0，假設n ≤ 365，則概率為

該圖片顯示特定人數對應的2個人生日一樣的概率
因為第二人不能跟第一人同生日（概率是364/365），第三人不能跟前兩人同生日（概率是363/365），依此類推。用階乘可寫成如下形式

p(n）表示n個人中至少兩人同生日的概率

n≤365，根據鴿巢原理，n大於365時概率為1。
n是23時概率約0.507。其他人數的概率用上面算法可得出：
比較p (n) = 任意兩人同生日的概率；q (n) =和某人同生日的概率
注意所有人都是隨機選出：作為對比，q(n)表示房間中有n+1人，當中與特定人（比如你）同生日的概率：
 
當n = 22時概率只有大約0.059，約高於十七分之一。如果n人中有50％概率存在某人跟你同生日，n至少要達到253。注意這數字大大高於365/2 = 182.5；究其原因是因為房間內可能有些人同生日。

**數學論證（非數字方法）**
保羅·哈莫斯在自傳中認為生日問題只用計算數值來解釋是種悲哀，所以給出了一種概念數學方法的解釋（儘管這方法有一定的誤差）：乘積
等於1－p（n），因此關注第一個n，欲使乘積小於1/2。由平均數不等式可知：

再用已知的1到n－1所有整數和等於n（n－1）/2，然後用不等式1－x −x，可得到：


如果僅當

最後一條表達式的值會小於0.5。其中loge表示自然對數，略小於506，如果取n2－n=506就得到n＝23。
在推導中，哈莫斯寫道：
然而哈莫斯的推論只顯示至少超過23人就能保證平等機會下的生日匹配。因為不知道給出的不等式有多強（嚴格、清晰），因此無法藉此計算過程確定n＝22是否能讓機率過半；相反，現在任何人都可用Microsoft Excel等個人電腦程式在幾分鐘內把整幅機率分佈圖畫出來，對問題答案很快就有通盤掌握，一目瞭然。

**泛化和逼近**
用公式（紅綫）與真實概率（黑綫）的比較
生日問題可以推廣一下：假設有n人，每人都隨機從N個特定的數中選一個數出來（N可能是365或其他正整數）。
p（n）表示有兩個人選擇了同樣的數字，這概率多大?
下面的逼近公式可以回答這個問題
。

**泛化**
下面泛化生日問題：給定從符合離散均勻分佈的區間1,d隨機取出n個整數，至少2個數字相同的概率p（n;d）有多大?
類似的結果可以根據上面的推導得出。

　　　　　　　　　　　　　
　　　　　　　　　　


**反算問題**
反算問題可能是：
對於確定的概率p…
…找出最大的n（p）滿足所有的概率p（n）都小於給出的p，或者
…找出最小的n（p）滿足所有的概率p（n）都大於指定的p。
這問題有如下逼近公式：
。

**舉例**
注意：某些值有色，說明逼近不總是正確。

**經驗性測試**
生日問題可以用計算機代碼經驗性模擬
days := 365;
numPeople := 1;
prob := 0.0;
while prob 
生日問題也可以用Microsoft Excel Spreadsheet模擬
人數
人數對應的生日相同的概率
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（即人數），可看到概率結果開始過半。

**應用**
生日問題普遍的應用於檢測哈希函數：N-位長度的哈希表可能發生碰撞測試次數不是2N次而是隻有2N/2次，這結論用在破解密碼學散列函數的生日攻擊中。
生日問題隱含的理論已經在Schnabel 1938名字叫做捉放法（capture-recapture）的統計試驗得到應用，來估計湖的魚數。

**不平衡概率**
就像上面提到的，現實世界人口的生日並非平均分佈，這種非均衡生日概率問題也已解決。date=2016年9月

**近似匹配**
此問題的另外一個泛化是求在n人中有兩人的生日同在k日曆天內的概率。假設有m個同等可能的生日。

能找到兩個人生日相差k天或更少的概率高於50%所需要的人數：
只須隨機抽取7人，找到兩人生日相差一週內的概率就會過半。

**其它相關生日錯覺機率問題**
星期二男孩問題：一個兩孩家庭有一個男孩，他是星期二出生的，那麼另一個孩子也是男孩的機率是多少？答：13/27

**參考**
 Zoe Emily Schnabel: "The estimation of the total fish population of a lake"（某湖中魚類總量估計），美國數學月刊45（1938年）, 348-352頁- M. Klamkin，D. Newman: "Extensions of the birthday surprise"（生日驚喜的擴充）, Journal of Combinatorial Theory 3（1967年）,279-282頁。- D. Blom: "a birthday problem"生日問題，美國數學月刊80（1973年）,1141-1142頁。這一論文證明了當生日按照平均分佈，兩個生日相同的概率最小。

**相關條目**
 概率論- 生日- 生日攻擊- 哈希函數

**參考文獻**

**外部鏈接**
 http://www.efgh.com/math/birthday.htm date=20210309210135 - http://www.teamten.com/lawrence/puzzles/birthday_paradox.html date=20210125055411 - http://science.howstuffworks.com/question261.htm date=20080522125530 - http://mathworld.wolfram.com/BirthdayProblem.html date=20210308175928 - http://www.atriumtech.com/pongskorn/birthdayparadox/birthdayparadox.htm date=20160304123412