關於生日悖論問題的驗證


昨天在網上看到一個非常有意思的問題:

數學老師和體育老師打賭,數據老師認為在他們有50個人的班級里有兩個生日是同一天的同學的概率遠超沒有的概率,反之是體育老師的觀點。

第一次看到的時候我覺得這特數學老師才是教體育的吧,

我萬萬沒想到在這個po主 經過一番奇奇怪怪 我沒有看懂的數學操作之后

 

 

 

他告訴我 50個人的班級里 有兩個生日相同的同學的概率是97%以上

而且 他還告訴我 他是科學的 嚴謹的 正確的 我特么.......

 

這里就引出了生日悖論

百度百科解釋如下

     生日悖論,指如果一個房間里有23個或23個以上的人,那么至少有兩個人的生日相同的概率要大於50%。這就意味着在一個典型的標准小學班級(30人)中,存在兩人生日相同的可能性更高。對於60或者更多的人,這種概率要大於99%。從引起邏輯矛盾的角度來說生日悖論並不是一種悖論,從這個數學事實與一般直覺相抵觸的意義上,它才稱得上是一個悖論。大多數人會認為,23人中有2人生日相同的概率應該遠遠小於50%。計算與此相關的概率被稱為生日問題,在這個問題之后的數學理論已被用於設計著名的密碼攻擊方法:生日攻擊

 

可我還是不信 怎么辦? 寫段代碼跑

第一次 測試100次一年內20個隨機日期 出現相同的概率 

 

 媽呀 第一次 概率居然達到了90%

 

 檢查代碼后發現沒問題 再來一遍 這次 還是20個人 測試10000次

這次沒有那么誇張 可也有41.8%

 

 於是我測試了一下50個人的概率 還是一萬次

97.7%!!!!!!!!!!!

 

隨后又進行了幾次測試 發現概率均在90%以上

 

 

 

而且測試次數越多結果越是趨近於97% - 98%

相信你和我一樣 很震驚 不過我眉頭一皺 就找到了問題的答案  嘿嘿嘿 下面是科普時間

 

先計算房間里所有人的生日都不相同的概率,那么
第一個人的生日是 365選365
第二個人的生日是 365選364
第三個人的生日是 365選363
:
:
:
第n個人的生日是 365選365-(n-1)
所以所有人生日都不相同的概率是:
那么,n個人中有至少兩個人生日相同的概率就是:
所以當n=23的時候,概率為0.507
當n=100的時候,概率為0.999999692751072
對於已經確定的個人,生日不同的概率會發生變化。下面用隨機變量計算:
令X[i,j]表示第i個人和第j個人生日不同的概率,則易知任意X[i,j]=364/365
令事件A表示n個人的生日都不相同
P(A)=
 
解P(A)<1/2,由對數可得:n>=23
相比之下,隨機變量也同樣的簡單易懂
,且計算起來要方便得多

 

嗯~ ~ 如果你還是不是明白   那我換種說法

理解生日 悖論的關鍵在於領會相同生日的搭配可以是相當多的。如在前面所提到的例子,23個人可以產生23 × 22/2 = 253種不同的搭配,而這每一種搭配都有成功相等的可能。從這樣的角度看,在253種搭配中產生一對成功的配對也並不是那樣的不可思議。
換一個角度,如果你進入了一個有着22個人的房間,房間里的人中會和你有相同生日的概率便不是50%了,而是變得非常低。原因是這時候只能產生22種不同的搭配。生日問題實際上是在問任何23個人中會有兩人生日相同的概率是多少。
 
后來啊,生日 悖論普遍的應用於檢測 哈希函數:N-位長度的哈希表可能發生碰撞測試次數不是2^N次而是只有2^(N/2)次。這一結論被應用到破解cryptographic hash function的 生日攻擊中。
生日問題所隱含的理論已經在[Schnabel 1938]名字叫做capture-recapture的統計試驗得到應用,來估計湖里魚的數量
 
 
ok  科普結束

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM