生日问题

title: 对此悖论的解释.
content: 可以把生日悖论理解成一个盲射打靶的问题。对于一个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"(注意:此算法并不正确)",则会意识到概率很大了。
title: 概率估计.
content: 假设有"n"个人在同一房间内,如果要计算有两个人在同一日出生的几率,在不考虑特殊因素的前提下,例如闰年、双胞胎,假设一年365日出生概率是平均分布的(现实生活中,出生几率不是平均分布的)。  计算概率的方法是,首先找出p"("n")"表示"n"个人中,每个人的生日日期都不同的概率。假如"n" > 365,根据鸽巢原理其概率为0,假设"n" ≤ 365,则概率为  因为第二个人不能跟第一个人有相同的生日(概率是364/365),第三个人不能跟前两个人生日相同(概率为363/365),依此类推。用阶乘可以写成如下形式  "p"("n")表示"n"个人中至少2人生日相同的概率  "n"≤365,根据鸽巢原理,"n"大于365时概率为1。  当"n"=23发生的概率大约是0.507。其他数字的概率用上面的算法可以近似的得出来:  注意所有人都是随机选出的:作为对比,"q"("n")表示房间中有"n+1"个人,当中与特定人(比如你)有相同生日的概率:  当"n" = 22时概率只有大约0.059,约高于十七分之一。如果"n"个人中有50%概率存在某人跟你有相同生日,"n"至少要达到253。注意这个数字大大高于365/2 = 182.5;究其原因是因为房间内可能有些人生日相同。
title: 数学论证(非数字方法).
content: 在保罗·哈尔莫斯的自传中,他认为生日悖论仅通过数值上的计算来解释是一种悲哀。为此,哈尔莫斯给出了一种概念数学方法的解释,下面就是这种方法(尽管这个方法包含一定的误差)。乘积  等于1-"p"("n"),因此关注第一个"n",欲使乘积小于1/2。由平均数不等式可以得知:  再利用已知的1到"n"-1所有整数和等于"n"("n"-1)/2,然后利用不等式1-"x" < "e",可以得到:  如果仅当  最后一个表达式的值会小于0.5。其中"log"表示自然对数。这个数略微小于506,如果取"n"-"n"=506,就得到"n"=23。  在推导中,哈尔莫斯写道:  然而哈尔莫斯的推导只显示至少超过23人就能保证平等机会下的生日匹配。因为不知道给出的不等式有多强(严格、清晰),因此从这个计算过程中无法确定当n=22时是否就能让几率超过0.5。相反的,当代任何人都可以运用个人计算机程序如Microsoft Excel,几分钟就可以把整个几率分布图形画出来,对问题答案很快就有个通盘的掌握,一目了然。
title: 泛化和逼近.
content: 生日悖论可以推广一下:假设有"n"个人,每一个人都随机地从"N"个特定的数中选择出来一个数(N可能是365或者其他的大于0的整数)。  "p"("n")表示有两个人选择了同样的数字,这个概率有多大?  下面的逼近公式可以回答这个问题
title: 泛化.
content: 下面泛化生日问题:给定从符合离散均匀分布的区间[1,"d"]随机取出"n"个整数,至少2个数字相同的概率"p"("n";"d")有多大?  类似的结果可以根据上面的推导得出。
title: 反算问题.
content: 反算问题可能是:  对这个问题有如下逼近公式:
title: 举例.
content: 注意:某些值被着色,说明逼近不总是正确。
title: 经验性测试.
content: 生日悖论可以用计算机代码经验性模拟  生日悖论也可以用Microsoft Excel Spreadsheet模拟, 其中A列表示人数,B列表示人数对应的生日相同的概率. 当你行数达到23(即人数)时,你可以看到概率结果开始大于50%.
title: 应用.
content: 生日悖论普遍的应用于检测哈希函数:"N"-位长度的哈希表可能发生碰撞测试次数不是2次而是只有2次。这一结论被应用到破解密码学散列函数的生日攻击中。  生日问题所隐含的理论已经在[Schnabel 1938]名字叫做捉放法(capture-recapture)的统计试验得到应用,来估计湖里鱼的数量。
title: 不平衡概率.
content: 就像上面提到的,真实世界的人口出生日期并不是平均分布的。这种非均衡生日概率问题也已经被解决。
title: 近似匹配.
content: 此问题的另外一个泛化是求在个人中有两个人的生日同在日历天内的概率。假设有个同等可能的出生日。  能找到两个人生日相差天或更少的概率高于50%所需要的人数:  只需要随机抽取7个人,找到两个人生日相差一周以内的概率就会超过50%。

Summary: 生日问题是指,如果在一个房间要多少人,则两个人的生日相同的概率要大于50%? 答案是23人。 这就意味着在一个典型的标准小学班级(30人)中,存在两人生日相同的可能性更高。对于60或者更多的人,这种概率要大于99%。这个问题有时也被称做生日悖论,但从引起逻辑矛盾的角度来说生日悖论并不是一种悖论,它被称作悖论只是因为这个数学事实与一般直觉相抵触而已。大多数人会认为,23人中有2人生日相同的概率应该远远小于50%。计算与此相关的概率被称为生日问题,在这个问题之后的数学理论已被用于设计著名的密码攻击方法:生日攻击。

Birthday problem: In probability theory, the birthday problem or birthday paradox concerns the probability that, in a set of randomly chosen people, some pair of them will have the same birthday. By the pigeonhole principle, the probability reaches 100% when the number of people reaches 367 (since there are only 366 possible birthdays, including February 29). However, 99.9% probability is reached with just 70 people, and 50% probability with 23 people. These conclusions are based on the assumption that each day of the year (excluding February 29) is equally probable for a birthday.