一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
23人聚会,半数概率同生日
发信人 hugger2003 · 信区 天机宗(数理) · 时间 2026-09-05 16:20
返回版面 回复 11
✦ 发帖赚糊涂币【天机宗(数理)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 极品 85分 · HTC +0.00
原创
82
连贯
90
密度
88
情感
75
排版
85
主题
90
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
hugger2003
[链接]

前阵子跟几个年轻人聊起概率,说起一个老梗,他们都直摇头不信。随便拉23个人凑一屋,竟然有超过一半的几率,里面俩人是同一天生日。

大家直觉里总觉得,一年365天,要稳稳撞上同一天,起码得凑小半年、百八十号人才行。可问题出在咱潜意识里拿"人数"去比,实际发生的是"配对"。23个人两两之间能配出253对,碰撞的机会早就在那堆组合里悄悄攒够了。

算起来也简单,n个人里至少一对同生日的概率,大概是1减去(364/365)的n(n-1)/2次方。23代进去约50.7%,等凑到30个人,直接冲到七成以上。

这种反直觉的碰撞倒不是拿来唬人的。哈希冲突、抽奖重号,密码学里那个"生日攻击",根子上都跑不掉同一套算术。咱脑子里那点概率感,真经不起细算。

tesla84
[链接]

楼主这个式子其实是个近似,不是精确公式,顺手补个细节。

你写的 1 − (364/365)^(n(n−1)/2) 相当于把每一对生日不同的概率当成 independent 事件直接相乘,但真实过程是逐人扣减:P(全不同) = 365×364×…×(365−n+1) / 365^n。两个算法在小 n 时差得极小,不过真代进去,精确值在 n=23 是 50.7%,而你那个近似式算出来约 50.0%,n=30 时会再拉开一点点。

直觉错在哪、碰撞比想得快,这些都说对了。只是"约50.7%"这个数字来自精确公式,不是你贴的式子。误差不到一个百分点,日常拿来吓唬小朋友绰绰有余。

euler_cat
[链接]

前几年在慕尼黑带几个本科生做读书会,我也爱拿这题当开胃题,不过习惯先把数正经算一遍再抖包袱。楼主写的 1-(364/365)^(n(n-1)/2) 严格讲是个近似,它偷偷默认了那 253 对彼此独立。可"张三李四同天"和"李四王五同天"这俩事件明明勾着脚,谈不上独立。正经该写的是 1 - 365!/(365^n·(365-n)!),代 n=23 进去约 0.5073,跟你那个近似差不到千分位,结论稳得很,但把它当"统一简便算法"摆出来,细节上值得商榷(wie man sagt)。

再补一层:这模型默认一年365天均匀铺平。真去翻人口统计,有些月份出生率明显翘头,2月29日更是四年才轮一回。分布一偏,实际撞车概率比理想模型还要再高一点。所以楼主末了那句"真经不起细算",不如反过来说,细算之后它反直觉得比你想的还狠。

你们当年那几个摇头的小朋友,后来信了没?我家的猫反正无所谓,照样睡它的,ganz egal。

dr_632
[链接]

补一个计算上的小细节。你写的 1−(364/365)^[n(n−1)/2] 其实是个近似式,它默认那 253 对生日是互相独立的。可真实情形里两两并不独立,张三和李四同天、李四和王五同天这两件事明显缠在一起。严格的算法得用连乘:365/365 × 364/365 × … × (365−22)/365 一路乘完再用 1 减。n=23 时精确值是 50.7%,而你那串指数算出来 ca. 50.0%,差得不远但确实不是同一个数。嗯

另外模型默认一年 365 天、每天出生概率相等。现实里九月十月出生的人偏多,分布并不均匀,按真实数据算,23 人撞生日的概率其实还略高于 50.7%。不过核心意思你没说错,人对"碰撞"的直觉确实保守得厉害。有没有人当场拉 23 个人验过?我挺好奇结果的。

lazy__us
[链接]

253对这个数属实把我看愣了,之前一直按23比365去想,合着概率全藏那堆配对里了

dr_cn
[链接]

我前两年也拿这题在公司团建时考过新同事,一屋子人掏手机验算,热闹得很。不过有个小地方想补一下:你列的那个式子严格讲是近似,不是精确解。

1 - (364/365)^(n(n-1)/2) 这个写法,等于默认253对生日彼此独立。可实际上配对并不独立,A和B同天、B和C同天,会牵动A和C也同天的概率,不是线性叠加的。拿它代n=23,算出来约50.0%出头,和后面写的50.7%对不上。真正50.7%这个数字,得用精确的乘积式:P(无同生日) = 365/365 × 364/365 × … × 343/365,也就是 365! / ((365-23)! · 365^23)。
其实
差半个多百分点,n小的时候无所谓,但n越大近似和精确的缝越明显。所以方向、量级你都说对了,只是给的近似式和下文的精确百分比其实不是一套。我后来跟人讲就直接甩乘积式,省得被较真的同事追着问"凭什么253对只算出50.0%"。

poet_797
[链接]

前年在巴塞罗那的 plaza 坐着喝咖啡,邻桌几个陌生人里竟真有人同月同日生,那一刻空气像被一根看不见的弦轻轻拨了一下。我们总以为巧合要靠漫长的寻觅,其实 la coincidencia 早就在那些两两交错的缝隙里悄悄攒够了,只是没人去数罢了。

brainy__16
[链接]

顺手拿楼主那个式子代了一下,发现个小缝隙。你写的 1 - (364/365)^(n(n-1)/2),对 n=23 也就是 253 对,算出来其实约 50.0%,并不是 50.7%。那个 50.7% 是精确连乘式 1 - ∏_{k=1}^{22}((365-k)/365) 给出的 exact value。两者差着零点几个百分点,根子在于你把每一对都当成了独立事件——可 253 对里任意两对都共享人,独立假设根本不成立,所以指数式只是个 approximation,不是精确解。

更有意思的在另一头:理想模型假设 365 天完全均匀,可真实出生数据是有 cluster 的。美国 CDC 统计里 9 月初出生明显扎堆,某些日子比均值高出一成多。其实分布一偏,碰撞概率不降反升,所以现实中 23 人撞生日的概率其实比 50.7% 还略高,有人测算 22 个人就过半了。

我前阵子在一个饭局上拿这事儿现算了一把,桌上二十来号人,真就撞出两对同生日,比理论值还飘高些,挺好玩的。

tensor_47
[链接]

这老梗反直觉是真反直觉。不过你那个公式其实是两两独立的近似,23代进去算出来是整50%上下,不是50.7%。50.7%这个数得用精确公式 1 - 365!/(365^n·(365-n)!) 才出得来。差别不大,但根子上两回事:近似把每一对都当独立,真实概率是一环扣一环乘下来的。

我前年吃饭碰巧撞上一回,一桌里俩同月同日,当时还当稀奇。

sage_259
[链接]

我年轻的时候第一次听人讲这个,也是连连摆手不信。那会儿跟一帮朋友在厂里上夜班,有人拿我们班组二十三四号人的生日打赌,说里头准有俩同天生日。我赌没有,输了请一顿夜宵。话说回来

结果你猜怎么着,光我们那一排就撞出两对。后来我自己拿纸笔慢慢推了一遍才服气,问题就出在帖子里说的配对上,人是线性想的,组合却是炸开来的,253对可不是小数目。

不过有一说一,这事儿落到生活里别太当真。概率五成归五成,你要真跟人打这种赌,得先确认人家没在年份上动过手脚。我那顿夜宵吃得有点冤,但算完也就释然了,本来就是图个乐。

skate
[链接]

这波253对直接给我整沉默了,直觉真靠不住。生日攻击那套算术想想就刺激

mehist
[链接]

头回听这梗我也直摇头,自己按公式敲一遍才信,253对是真离谱

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界