生日悖论与概率的奥秘

作者: 科学大院

来源: 科学大院

发布日期: 2018-10-21

本文探讨了生日悖论的概念,揭示了在特定人数下,生日相同的概率远高于人们的直觉预期。通过数学计算,分析了在不同样本人数下,生日相同的概率变化,并讨论了这一现象在生物识别技术和DNA鉴定中的潜在影响,强调了在概率计算中理性思考的重要性。

你有“同年同月同日生”的朋友吗?有时,我们会惊讶地发现:“这两个人的生日是同一天啊!”好像因为这个巧合两个人的命运就有了必然的联系一样。我猜想在统计学领域,或者说就概率论而言,这也应当具有某种很重要的意义吧,毕竟这种情况在日常生活中并不常见。

每个人都有生日,我们偶尔会遇到与自己同一天过生日的人,这时,你应该会自然而然地产生一种亲近感吧。但是,果真是天意如此,让你们有缘出生在同一天吗?抛开这些浪漫的幻想,我在这里还是要大煞风景地说,让我们科学地计算一下概率再来回答吧。

那么,问题来了:在某个班级里一共有23名学生。不考虑双胞胎、闰年等特殊情况,在这些男孩女孩中间,有2个人生日相同的概率是多多少?如果在班级里发现某个同学和自己生日是同一天,一般人还是会感到些许惊讶吧。毕竟除了闰年以外,一年中有365天,而偏偏两个人都出生在了同一天,就算是偶然,但要说没有一丝缘分的话似乎也说不过去。也就是说,在我们的直觉中,两人生日相同的概率应该是非常小的,这种缘分似乎并不常见。

但是,数学与生活又开了个玩笑,你认为不太可能的缘分,实际发生的概率要高达50.7%。我们错了吗?这真不是一种特殊的缘分吗?如果样本的人数增加,还会有更惊人的结果。比如30人的话概率是70.6%,40人的话概率是89.1%,而人数达到50时,这个概率更是上升到了97%。反之,如果减少统计的人数,比如,减少到20人时,生日相同的比例有所下降,但也有41.1%,10人的情况下也有11.7%。

这个数据就意味着,走在东京这样的大城市街道上,和你有着同一天生日缘分的

人,应该满大街都是了。

为了让大家获得更直观的感受,我用图32把这些抽象的数字图表化。可以看到,在图中,代表生日相同的概率的曲线,是随着统计人数的增多而急剧上升的。上述这种现象被称为“生日悖论”(Birthday Paradox)。我们直觉上认为同一天生日是很少见的事情,但实际上发生的概率却是非常高的。正是因为理性计算的结果与日常经验产生了如此明显的矛盾,该问题才被称为“生日悖论”。

那么,是我们的直觉出错了吗?像“生日悖论”这样实际情况与直觉差异如此之大的现象,又为什么会发生呢?要解答这个问题,我们需要先去计算一下另外一种特殊情形,那就是在包括自己在内的23人之中,存在与自己生日相同的人的概率。计算结果显示,这个数字不超过6.1%。只有当样本人数扩大到253人时,这个概率才有可能会上升到50%。这个结果应该不会令你讶异吧,是不是和你自己心里估算的也差不多呢?

其实,当我们看到“有人生日相同”时,下意识地会用“与我生日相同”去推测,而实际上“与我生日相同”的概率确实非常小。于是,直觉告诉我们,“有人生日相同”的概率也很小。但是,“生日悖论”中真正的问题其实是23人中至少有2人以上生日相同的概率,而不论究竟是谁的生日。这与我们的直觉中预设的前提条件有着根本的不同。可以说,直觉没有错,错的是我们没有正确地去理解问题。

因此,当我们剥开直觉的谎言,看清事实的那一刻,才会觉得如此不可思议。

生日悖论中概率的计算,看起来似乎很复杂,但过程其实很简单。首先,让我们来考虑最简单的情况。假设只有2个人,如果这2人的生日是同一天,也就是说,都是365天中的某一天,那么这时生日相同的概率可以计为:

那么,当人数增加到3个人时呢?

第一步要先计算一下这3个人的生日各不相同的情形有多少对组合,然后用所有可能的组合减去这个数字,就能够得出3人中至少有2人生日相同的组合有多少。3人生日各不相同时,可以计算得出,一共有如下这么多对组合形式:365×364×363 = 48 228 180。而3人生日中所有可能产生的组合数量是:365×365×365 = 365^3 = 48 627 125。

那么,我们就可以得出,3人中至少2人生日相同的组合数量是:365^3 − 365×364×363 = 398 945。用这个数字除以所有可能的组合数量,即:365^3 = 48 627 125,可得:也就是说,3人中至少2人生日相同的概率大约是0.82%。

采用相同的计算方式,我们也可以得出人数为4人、5人时,至少有2人生日相同的概率。而且,计算结果会如图32中的曲线一样,当人数较少时概率也比较低,当人数稍微有所增加,概率就会像坐了直升机一样迅猛蹿升。一个人的生日一共有365种可能。我们可以把这个问题写成一般形式,即在有n种可能的情形下,要使至少有2人生日相同的概率达到50%,需要有如下的样本人数:

这个算式中,重点是采用了开方的计算方式。

采用开方形式的原因比较复杂,在正文中就不再赘述,有兴趣的读者可以阅读本书最后尾注中的补充内容。一个重要的理由是,当n越来越大时,开方形式的值变化的幅度要远远小于n值的变化。把365代入这个公式中,可得:当然,现实中不可能存在22.5人的情形,但是,这意味着只要样本人数超过这个值,存在相同生日的概率就将超过50%。这个公式证明了,如果样本人数是23人,那么概率必定超过了50%。

这个公式的应用范围非常广,非常方便我们进行类似的计算。比如,我们把“生日”的概念替换为“出生月份”,就同样可以使用这个公式计算出生月份相同的概率。这种情况下,取n = 12(月份数),则也就是说,当样本人数大于等于5时,存在相同出生月份的概率就将超过50%(人数为5时套用公式计算,实际得到的概率数字超过了60%)。而在现实生活中,我们的第一感觉应该绝不会认为有这么高的概率吧。

这个公式还可以用来计算“月份不同,仅出生日期相同”的概率。每个月的实际天数有所不同,为方便计算,在这里我们都大致计为30天,则计算可得:也就是说,只要样本人数达到7个人,存在仅出生日期相同的概率就将超过50%。除此之外,只要将这个公式稍加变形,其应用范围就将得到延伸。比如计算出生日期虽不一致,但非常接近的情形,如“至少有2个人出生日期仅间隔1天的概率”。

如果样本人数同样设为23人,可计算得出这个概率是88.8%。比较一下就会发现,这个数字比起出生日期完全一致的概率要高很多。这就意味着,如果身边某个人和你的生日非常接近,那这件事一点都不稀奇,也并不是什么有缘无缘的问题。

一旦大家理解了生日悖论背后的原理,可能就会觉得这个理论也不过如此,只是用在一些趣味性问题的计算上罢了,没什么太大用处。

这样想的话你就大错特错了,时至今日,生日悖论中揭示的事实已经发展成为非常深刻的问题了。例如,现在的智能手机、笔记本电脑、银行的ATM等高科技设备中,广泛引入了指纹识别、指静脉识别等生物识别技术。这些技术都是企业或者银行为了提高用户账户的安全性而采用的。这种方式等同于把用户自身作为解开账户的“一把钥匙”,这种钥匙不用担心遗忘或丢失,也不能在物理意义上交给他人使用。

生物识别的精确度也相当之高。

衡量该精度的指标是错误接受率(False Acceptance Rate,简称FAR,也叫认假率),也就是把他人的、不应该匹配的生物特征信息当成与用户本人匹配的信息。目前市面上的产品,FAR在十万分之一到百万分之一之间。

实际上该类产品已经能够实现更高的精确度,但是如果FAR精度过高,也就是匹配成功的筛选条件过于严苛,也会出现另外一种极端的情况,即“错误拒绝率”(False Rejection Rate,简称FRR,也叫拒真率)将会上升,可以通俗地理解为“把应该匹配成功的用户本人特征当成不能匹配的他人特征”。

从实用性的角度出发,FAR应该是非常低的,也就是通过提高匹配成功的筛选门槛,从而实现产品的高精确度。这种生物识别技术精确度非常高,但是随着其数据库规模的不断扩大,也逐渐浮现出了另外一个非常棘手的问题。这个问题的元凶就是我们本节内容的主角——生日悖论现象。

这两者怎么就联系起来了呢?要理解这其中的关联,我们需要先从另外一个角度去分析生日悖论现象的本质。

假定还是在一个有23名学生的班级,当我们把这些学生两两分为一组时,一般的做法是先随意找出一名学生,然后计算他和剩余的其他学生能组成多少个组合,这个例子中是22组。考虑到部分组合中2名学生只是换了一下先后顺序,这样可能产生的总的组合数量应当是:在253对的组合中,和自己生日相同的人出现的概率也许比较小,但是这么多组合之中,其中一人和另一人生日相同的概率应该是非常高的。

这也就是为何在“生日悖论”理论中,存在生日相同的组合的概率较高。

理解了这个分析过程之后,让我们再来考虑生物特征识别的情形。假设现在有一个数据库中记录了10 000人的生物特征信息,那么这个数据库中有信息记录的人,两两可以组成的组合数量,大约为5000万对(10 000×9999 / 2)。当组合数量达到这个量级的时候,还有可能在某次匹配中出现错误,把不同特征判定为同一人吗?

答案是这种错误匹配几乎肯定会发生。概率计算的结果显示,即使错误接受率仅有百万分之一,只要其数据库的样本数量达到1180人,那么发生错误匹配的概率就将超过50%。这个结论的推理过程,可以参照公式及说明来理解。

在这里,我们假设每个组合中,发生错误接受的概率是p,上面的例子中,这个概率等于百万分之一。那么,每个组合中,不发生错误接受的概率即为:1− p = 0.999 999。

这个数字已经可以视作几乎等同于1,只比1小那么一点点。假设数据库内记录有n个数据,则可能的组合数量即为。当n = 10 000时,1− p = 0.999 999相乘(指数)次,即约5000万次。经过这5000万次乘法运算,即使原来的1− p这个数字多么近似于1,最终的乘积也会接近于0。那么,返回到公式的完整公式中,当约等于0时,公式的结果,也就是数据库整体上发生错误接受的概率也就约等于1。

而且,进一步来说,我们谈论的并不是仅有1组错误匹配的这种程度的问题。通过计算可以得出,10 000人的数据中,预计会有近50组发生匹配错误。也就是说,在数据库中,存在将近50对组合,会把本该不匹配的他人特征识别为与用户匹配的特征。

随着未来技术不断进步,生物识别技术的精确度有可能提高到错误接受率仅为亿分之一的程度。但是,即使在这种情况下一旦数据库记录的人数达到了11 800人的水平,将不同特征判断为同一人物的组合出现的概率也就将超过50%。由此可见,即使生物特征识别技术使得企业、银行的用户身份认证的精确度大大提高,但因为这个无法避免的缺陷,这种技术还是无法适用于存在大量样本的情况。

除了上述的手机、ATM用户识别之外,“生日悖论”现象还引发了更加严峻的问题。美国FBI等机构已经建立了庞大的犯罪嫌疑人电子数据库。数据库记录了嫌疑人在犯罪现场遗留的指纹、血液以及监控摄像头拍下的照片等数据。这其中也包括采集的DNA数据,这些信息都是以电子档案的方式保存的。数据的检索对比简便快捷,而且准确度也非常高。

不过,数据库技术、规模的发展也带来了一些问题,一些研究者也针对这些问题发出了警告。

法医学DNA指纹鉴定的发明者、英国遗传学家亚历克•杰弗里斯爵士就是其中一员。这些研究者所担忧的,正是“生日悖论”现象。DNA是一种将人类的遗传信息以碱基的形式排序的双螺旋结构。DNA中包括了人的全部遗传信息,因此,除了同卵双胞胎以外,不存在两个人完全一致的情况。

DNA存在于人体细胞之中,血液、骨骼、牙齿、带毛囊的毛发、指甲的残片、烟头、指纹、嚼过的口香糖等,所有这些带有人体细胞的东西,都可以提取DNA样本。

说到这里,大家可能觉得排除掉同卵双胞胎的特殊情形,根据DNA鉴定的结果,应该可以精确分辨每一个人。“和犯罪现场遗留的头发DNA鉴定结果一致,你就是凶手!”这种情况下,会让人觉得嫌疑人已经在劫难逃,在铁证面前只能束手就擒。

不过,由于犯罪现场遗留的毛发等证据并不一定属于犯罪嫌疑人,所以鉴定结果为一致时,也有可能弄错人。但是,假设这样的错误根本不会发生,在一个凶杀案现场,只留下了犯罪嫌疑人和受害者的DNA信息,那么这种情况下,是不是DNA鉴定就万无一失呢?答案是否定的,即使这种情况下也有可能会发生错误。原因就在于,DNA鉴定过程中,实际上并没有调查所有的碱基序列。

这主要是因为在目前技术条件下,调查所有的碱基序列需要耗费巨大的时间和资金成本。

2010年日本发行的《警察白皮书》公布了当时日本警察采用的15种STR基因座的检测方法中,同一DNA出现的概率为4.7万亿分之一。

但是日本学者和田俊宪在其论文“遗传信息、DNA鉴定与刑法”中指出:“如果以这个概率为基础进行计算的话,那么地球上的全体人类,或者说日本全部国民中DNA一致的组合不存在的概率非常低,几乎可以认为这个数字是0。”也就是说,在DNA鉴定结果中,将两个人错误地判断为同一人的情况,几乎可以肯定是存在的。

我计算了一下当这种情况出现的概率超过50%时,样本人数大概是256万人,相当于大阪市的人口数量。从2004年起,日本政府就启动了DNA数据库的建设项目,到2013年1月,数据库中的样本数量仅有34万多份。不少人可能会觉得这个规模远远低于256万,应该不太会产生多大的问题。但是,我们还是不能掉以轻心,因为在规模更小的数据库中,也曾经发生过DNA“偶然一致”的大问题。

在美国的马里兰州,截至2007年1月,该州的DNA数据库共收录了大约3万人的信息。这个数字比256万整整少了2位数。但即使这样,实际上该地区也出现了不同人的DNA被判定为一致的事件。上文提到的《警察白皮书》中公布的概率是4.7万亿分之一,但这不过是理论上的数字,现实中的概率可能要远远大于这个数字。

在信息安全的教科书中,必定会有一部分是关于“生日悖论”理论的。我想这应该包含了两重用意。首先,对于将要从事信息安全工作的人来说,“生日悖论”是他们必须要理解的一种现实现象。其次,是要告诫学习者,即使是日常工作中经常接触数学的研究者,在准确把握概率上,也很难做到万无一失。“生日悖论”现象告诉我们,仅凭自己的直觉估算概率是不可取的,运用数学知识认真计算非常重要。

UUID: a0b6639d-4a56-41d8-87d8-633a22ee08bb

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/科学大院公众号-pdf2txt/2018年/2018-10-21_你有“同年同月同日生”的朋友吗?今日有书.txt

是否为广告: 否

处理费用: 0.0250 元