生日悖论的泛化问题的讨论

article/2025/8/28 0:02:01

著名的生日悖论,不多言。

见维基百科:

http://zh.wikipedia.org/wiki/%E7%94%9F%E6%97%A5%E6%82%96%E8%AE%BA

见百度百科:

http://baike.baidu.com/view/859474.htm

摆渡、喂鸡,排名不分先后。


      维基里面提到了泛化推广。生日问题的经典思路就是先计算“互不干扰”的概率,然后用 1 去减即得存在重合的结果。给定方法 BirthdayDiff ( k, n ),k 是人数,n 是天数。这里隐含了另一个参数 r,表示“干扰范围半径”,r = 0 时就是经典的生日问题,也就是当我选定了某天后,别人只要不再选择这天就不算干扰我;而 r = 1 则表示我选定了某天后,这天前后 1 天都不许再有人选——这也就解释了 r 的“范围半径”的含义。

 

 

      设计方法 BirthdayDiffRange ( k, n, r ),r = 0 时,退化为经典生日问题, r != 0 时,即为生日问题的泛化推广。该问题将如是描述:k 个人从 n 天里选择日期,出现两个人所选日期在 r 天以内的概率是 1 - BirthdayDiffRange ( k, n, r )。

 

      使用“计算机模拟”方法进行暴力枚举可以得出结果。模拟的过程是每个人挨个选择日期的过程。k = 4, n = 28, r = 4 的概率为 95.49%。这个问题可以描述为,4 个人,按每月 28 天计算,生日只管几号,不管几月,则生日只有 28 种可选,出现两个人生日在 4 天以内的概率。

 

      仍希望可以得出数学解释。数学模型上使用经典概率模型就可以完美解决。只不过,需要明确的是概型的参考系——这里不是线,而是一个。线与圆的一大区别就是,线中,点是有先后顺序的;圆中,所有点被消除了相异性,完全等价。

 

      仍以 4 个人,月 28 天,日期相差 4 天以内的概率的问题为例:
      需要把一个月头尾相接成为一个圆,先求 4 个人从 28 天中选四天有几种可能:
      第一个人只有一种选择,因为圆中,28 个点都是等价的。但从第二个人起,每个人就均有 28 种选择了。所以是 1 * 28 * 28 * 28 种选择法,实际上是 28 ^ 4 / 28。这里所除的,就是初始时所有点数。这一除,相当于由直线围成圆时,所有的本来在线中存在先后关系的点在圆内失去了相异性的结果。
      再求 4 个人“互不干扰”的选择。每个人占去 5 天。故 4 个人要占用 20 天,还剩 8 天自由天。问题就相当于 4 个人和 8 天在圆内的排列组合。若向这 8 天插空,则第一个人有一种选择(注意这里还是看成圆),第二个人有 9 个空可插,第三个人有 10 个,第四个人有 11 个,则为 1 * 9 * 10 * 11。若换一种思路,将这 4 + 8 = 12 个结点让 4 个人去选占的话,第一个人有 1 种,第二人有 11 种,三、四人分别是 10、9 种,结果仍为 1 * 11 * 10 * 9。
      二者相除,即为 4 个人“互不干扰”的概率,则原问题的解为:1 - ( 9 * 10 * 11 ) / ( 28 ^ 3 ) = 95.49%

 

 

      问题源于上周末一个小丫头的问题。被她象棋虐了 10 盘,五子棋虐了 21 盘,完败。这两天有兴趣想了想这个小问题。感谢双儿姐的支持,更感谢娟儿昨夜款款绵绵地提出了概型思路,只不过,深夜迷离,精神不能集中,一开始设想错了罢了,二人没讨论出什么结果就立即转移正题了……今已更正。

 

      小丫头的原问题是这样的:经期一般符合月时历,故以农历计一月 28 天,同宿舍女生 4 人,经期以 5 天计。问在由于互相影响而趋同经期之前,出现两人经期重合的概率是多少。解为 1 - BirthdayDiffRange ( 4, 28, 4 ) = 95.49%

 


 

有志于学,虽草庐中应可知天下事!

 


http://chatgpt.dhexx.cn/article/pja1AAGg.shtml

相关文章

关于生日悖论问题的验证

昨天在网上看到一个非常有意思的问题: 数学老师和体育老师打赌,数据老师认为在他们有50个人的班级里有两个生日是同一天的同学的概率远超没有的概率,反之是体育老师的观点。 第一次看到的时候我觉得这特数学老师才是教体育的吧, 我…

python生日悖论分析_生日悖论

python生日悖论分析 If you have a group of people in a room, how many do you need to for it to be more likely than not, that two or more will have the same birthday? 如果您在一个房间里有一群人,那么您需要多少个才能使两个或两个以上的人有相同的生日…

Birthday Paradox(生日悖论)(概率)

Birthday Paradox(生日悖论)(概率) judge:LightOJ - 1104 vjudge:vjudge Time limit:2000 ms Memory limit:32768 kB OS:Linux Source:Problem Setter: Jane…

用python整个活(3)——生日悖论:birthday paradox

🏆一、前言 别问我为啥题目是英文,因为…高大上(bushi。 刷视频的时候偶然刷到了一个关于生日悖论的,当场就觉得不可思议,直到上网查了查…… 诶,怎么是真的? 这玩意儿居然还被设置到了密码…

【算法导论】生日悖论

生日悖论问题: 不考虑出生年份,问:一个房间中至少多少人,才能使其中两个人生日相同的概率达到50%? 解: 假设一年有 n 天,屋子中有 k 人,用整数 1, 2, …, k 对这些人进行编号。假定每个人的生日…

反直觉的「生日悖论」问题

点击蓝色“五分钟学算法”关注我哟 加个“星标”,一起学算法 作者 | labuladong 来源 | labuladong 生日悖论是由这样一个问题引出的:一个屋子里需要有多少人,才能使得存在至少两个人生日是同一天的概率达到 50%? 给你 5 秒钟随便…

浏览器不能展开全部内容/界面(展开更多点击无效果)

win10浏览器不能展开全部界面 1、按下“WinR”组合键,在框中输入“inetcpl.cpl”,点击确定打开“internet 选项”; 2、点击“高级”选卡,点击底部的“重置”按钮; 3、在“重置 Internet Explorer 设置”界面将“删除个人设置”选项勾选&…

CSDN文章自动展开全文无需登录插件(仅限Chrome)!

为什么80%的码农都做不了架构师?>>> 众所周知csdn里所有blog都记录了程序员们多年的技术积累,他们不吝啬技术,免费分享经验,随着资料的丰富,那些踩过的坑,报过的错,全被前人当成树种…

VSCode 代码块/全文 折叠/展开 快捷键

需求 && 操作 常用的两类场景(注意要操作的范围): 要操作光标所在文件中的所有代码块: 折叠所有 CtrlK0展开所有 CtrlKJ 仅仅操作光标所处代码块内的代码: 折叠 CtrlShift[展开 CtrlShift] 更多操作 如果你有更多需求的话&#…

列表页面的展开以及收起

列表页面的展开以及收起 需求想法关键代码结尾 需求 由于公司新需求 ,写一个列表页 ,不上拉加载 ,点击加载更多去加载 还会有收起按钮 。大概效果如下图所示: 想法 1,一开始想的是直接对数组进行切割 。然后每次点…

CSDN自动展开全文的插件

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 1 分钟。 这个插件的名字叫:CsdnAutomaticallyOpen,今天刚撸的,下午有点时间再逛CSDN,每篇都要点击阅读全文,尤其是有的还要关注,受…

iOS使用YYLabel 点击展开和收起全文

看图说话比较清晰,点击红色标记的区域,会展开全文。 相关知识点 YYLabel,truncationTokenNSAttributedString,YYText,YYTextHighlight 我们来看一下YYLabel的属性truncationToken,是一个富文本&#xff0…

java爬取新浪微博带有“展开全文”的完整微博文本

获取新浪微博“展开全文”的完整文本 在个人主页的响应中&#xff0c;这篇微博的表示形式是这样的&#xff1a; <div class\"WB_text W_f14\" node-type\"feed_list_content\" nick-name\"Vista看天下\">\n 【一堂课…

uni-app,一段文字实现展开、收起全文点点点

效果&#xff1a; 思路&#xff1a; 1.根据文本显示的布局中&#xff0c;每行大致能显示的文字个数。&#xff08;实例是大致每行26个文字&#xff09; 2.首先加载页面时&#xff0c;根据文字总长度判断是否超出自定义行数&#xff0c;来处理相应的数据&#xff0c;多余自定义…

CSDN阅读全文自动展开插件,安排上!

TJ平时经常利用一些碎片时间逛逛CSDN&#xff0c;由于是碎片时间&#xff0c;往往都是看到哪是哪&#xff0c;所以也没有登录&#xff0c;于是会碰到一个情况&#xff0c;就是看到一篇文章觉得不错&#xff0c;刚看了两句就让点击展开全文&#xff0c;点击之后还要求登录才行&a…

uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文)

一、uni-app中&#xff0c;固定宽高&#xff0c;文字超出部分&#xff0c;隐藏并显示省略号。 .topic_cont_text{padding: 30upx;colof: #999;background: #E1FFFF;max-height: 130upx;overflow: hidden;word-break: break-all; /* break-all(允许在单词内换行。) */text-ov…

iOS文本展开收起,使用YYKit展开全文和收起全文,支持图文混排

使用YYKit展开全文和收起全文&#xff0c;支持图文混排 使用简单 1.依赖库&#xff1a; 该工具是基于YYKit封装的工具类&#xff0c; 使用前先用cocoapods导入依赖库&#xff1a;pod ‘YYKit’ 2.使用方法 导入头文件 #import “YYLabel_gcz.h” 初始化和赋值内容 YYLabel…

前端页面 div+css内容太长,实现点击展开余下全文(修改版)

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>文章高度展开</title> <style> .content{padding:10px 12px 48px;font-size:18px;color:#2b2b2b;line-height:1.7em;height:300px; /*初…

[javascript] 实现展开全文和收起全文效果

在展示大量文本的时候,很多网站会在页面上出现一个展开全文的文字按钮 , 点击这个按钮才会展开全部内容 . 使用jquery比较容易实现 , 最开始我想直接根据vuejs的语法来实现效果 , 结果失败 , 还是jq做起来简单 思路是 , 获取当前文本的div高度 ,超过一定高度就增加一个class值 …

uni-app,文本实现展开、收起全文

效果: 思路&#xff1a; 1.根据文本显示的布局中&#xff0c;每行大致能显示的文字个数。&#xff08;实例是大致每行26个文字&#xff09; 2.首先加载页面时&#xff0c;根据文字总长度判断是否超出自定义行数&#xff0c;来处理相应的数据&#xff0c;多余自定义行数&#…