生日悖论

生日悖论BIrthdayparadox)

目录

1.什么是生日悖论 2.生日悖论的理解 3.概率估计 4.数学论证(非数字方法) 5.泛化和逼近 5.1.N=365的结果 5.2.泛化 6.反算问题 6.1.举例 7.经验性测试 8.应用 9.近似匹配 10.参考文献

什么是生日悖论

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

生日悖论的理解

理解生日悖论的关键在于领会相同生日的搭配可以是相当多的。如在前面所提到的例子,23个人可以产生种不同的搭配,而这每一种搭配都有成功相等的可能。从这样的角度看,在253种搭配中产生一对成功的配对也并不是那样的不可思议。

换一个角度,如果你进入了一个有着22个人的房间,房间里的人中会和你有相同生日的概率便不是50:50了,而是变得非常低。原因是这时候只能产生22种不同的搭配。生日问题实际上是在问任何23个人中会有两人生日相同的概率是多少。

概率估计

假设有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。其他数字的概率用上面的算法可以近似的得出来:

np(n) 1012% 2041% 3070% 5097% 10099.99996% 20099.9999999999999999999999999998% 3001?(7×10

n=22时概率只有大约0.059,约高于十七分之一。如果n个人中有50%概率存在某人跟有相同生日,n至少要达到253。注意这个数字大大高于.究其原因是因为房间内可能有些人生日相同。==数学论证(非数字方法)==

数学论证(非数字方法)

在PaulHalmos的自传中,他认为生日悖论仅通过数值上的计算来解释是一种悲哀。为此,PaulHalmos给出了一种概念数学方法的解释,下面就是这种方法(尽管这个方法包含一定的误差)。

乘积:

等于1-p(n),因此我们关注第一个n,使得乘积小于1/2,这样我们得到:

N=365的结果

泛化

下面我们泛化生日问题:给定从符合离散均匀分布的区间[1,d]随机取出n个整数,至少2个数字相同的概率p(n;d)有多大?

类似的结果可以根据上面的推导得出。

反算问题

反算问题可能是:

对于确定的概率p...
...找出最大的n(p)满足所有的概率p(n)都小于给出的p,或者
...找出最小的n(p)满足所有的概率p(n)都大于给定的p

对这个问题有如下逼近公式:

举例

逼近估计N :=365 pn推广n<N :=365np(n↓)np(n↑) 0.010.14178√N2.7086420.0027430.00820 0.050.32029√N6.1191660.0404670.05624 0.10.45904√N8.7700280.0743490.09462 0.20.66805√N12.76302120.16702130.19441 0.30.84460√N16.13607160.28360170.31501 0.51.17741√N22.49439220.47570230.50730 0.71.55176√N29.64625290.68097300.70632 0.81.79412√N34.27666340.79532350.81438 0.92.14597√N40.99862400.89123410.90315 0.952.44775√N46.76414460.94825470.95477 0.993.03485√N57.98081570.99012580.99166

注意:某些值被着色,说明逼近不总是正确。

经验性测试

生日悖论可以用计算机代码经验性模拟

days :=365;
numPEOPLe :=1;
PRob :=0.0;
whileprob<0.5begin
numPeOPLe :=numPeople+1;
prob :=1-((1-prob)*(days-(numPeople-1))/days);
print"NuMBerofpeople:"+numPeople;
print"Prob.ofsamebirthday:"+prob;
end;

应用

生日悖论普遍的应用于检测哈希函数:N-位长度的哈希表可能发生碰撞测试次数不是2 2人生日相差k天#需要的人数 0 23 1  14 2  11 3   9 4  8 5   7 7   6

只需要随机抽取6个人,找到两个人生日相差一周以内的概率就会超过50%。

2.ZoeEmilySchnabel:"TheestIMationofthetotalfishpopulationofalake"(某湖中鱼类总量估计),美国数学月刊45(1938年),348-352页

3.M.Klamkin,D.Newman:"Extensionsofthebirthdaysurprise"(生日惊喜的扩充),JournaloFCOmbinatorialTheory3(1967年),279-282页。

4.D.Blom:"abirthdayproblem"生日问题,美国数学月刊80(1973年),1141-1142页。{这一论文证明了当生日按照平均分布,两个生日相同的概率最小。)

联系管理员
15775053793

作者头像
经济百科创始人

经济百科

上一篇:肄业证书
下一篇:第一性原理

发表评论