首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

反直觉生日悖论」问题

生日悖论是由这样一个问题引出:一个屋子里需要有多少人,才能使得存在至少两个人生日是同一天概率达到 50%? 给你 5 秒钟随便猜一个数字,再点击下方空白处查看答案!...点击下方空白区域查看答案 ▼ 答案是 23 个人,也就是说房子里如果有 23 个人,那么就有 50% 概率会存在两个人生日相同。 ? 这个结论看起来不可思议,所以被称为悖论。...生日悖论计算对象不是某一个人,而是一个整体,其中包含了所有人排列组合,它们概率之和当然会大得多。 第二个误区是认为概率是线性变化。...显然不是,你玩两次中奖率是 75%: P(两次能中奖)=P(第一次就中了)+P(第一次没中但第二次中了)=1/2+1/2∗1/2=75% 那么换到生日悖论也是一个道理,概率不是简单叠加,而要考虑一个连续过程...只有 1 个人时候,生日唯一概率是 365/365,2 个人时,生日唯一概率是 365/365×364/365,以此类推,可知 23 人生日都唯一概率: ?

89920
您找到你想要的搜索结果了吗?
是的
没有找到

生日悖论是啥?我用它省了上百G内存

4.1 布隆过滤器(BloomFilter) 5 结语 6 参考资料 生日悖论: 是指在不少于 23 个人中至少有两人生日相同概率大于 50%。...例如在一个 30 人小学班级中,存在两人生日相同概率为 70%。对于 60 人大班,这种概率要大于 99%。从引起逻辑矛盾角度来说,生日悖论并不是一种 “悖论”。...但这个数学事实十分反直觉,故称之为一个悖论生日悖论是有个有趣概念,但这和我省上百G内存有什么关系?...p(n) \approx 1-e^{-\frac{n^{2}}{2 x}} 这不就是生日悖论数据放大版吗?...参考资料 百度百科 生日悖论 百度百科 UUID 布隆过滤器(BloomFilter)原理 实现和性能测试 RedisBloom 基于redis布隆过滤器实现

1.2K10

python 实现 AIGC 大模型中概率论:生日问题基本推导

在上一节中,我们对生日问题进行了严谨阐述:假设屋子里面每个人生日相互独立,而且等可能出现在一年 365 天中任何一天,试问我们需要多少人才能让某两个人生日在同一天概率超过 50%。...如果屋子里只有 1 个人,那么有两个人同一天生日概率就是 0。...,此时他有 364 种选择,因此此时两人生日不同概率是 (365 / 365) (364 / 365),这里用到一个原则是,两个相互独立事件,他们同时发生概率等于两个事件概率乘机。...,那么就有: 如果我们能找到一个最小 n 值,使得上面公式计算结果小于 1/2,那么问题就能解决,因为当 n人中没有两个人生日相同概率小于 1/2,那么其相反事件概率也就是至少有两人生日相同概率就大于...n 值越大,对应两个人没有相同生日概率逐渐减小,在 20 过去一点对应概率就在 0.5 以下,同时我们也在代码中打印出 22 人和 23 人情况下没有人有相同生日概率,可以看到 22 人时候概率还在

14010

用随机数模拟生日悖论问题

生日悖论”其实并不是悖论,它是说在一个人数超过23人集体中,至少有两个人生日在同一天概率会大于0.5。因为这个理论上概率与人们直觉不符,才会被称为“悖论”。...计算生日概率: 假设班级有n个人,我们从反面计算至少有两个人生日相同概率,这个反面就是每个人生日都不同概率。...那么这个概率可以这么计算: 1.第一个同学生日有365种选择; 2.第二同学生日有364种选择,这里是因为要保证每个人生日都不同,所以已经选择过日期不能再选。...3.第三个同学生日有363种选择; 4.第四个同学生日有362种选择; 5.第i个同学生日有365 - i + 1种选择; ?...当n=23时,计算结果为0.52 随机数模拟: 用随机数设定每个人生日。这里采用10000组随机数模拟,结果取平均值。以下是python代码: ? 由于引入了随机数,所以每次运行结果稍有不同

1.1K10

文心一言 VS 讯飞星火 VS chatgpt (41)-- 算法导论5.4 5题

,而每个字符串被选中概率是相等,因此每个字符串构成一个排列概率是1/k!。 这个问题和生日悖论有一些相似之处。...生日悖论是指,在一个有n个人群体中,存在两个人生日相同概率大于50%最小群体大小。...这个概率也和集合中元素个数阶乘有关,因此在大小为n集合中,一个k字符串构成一个k排列概率生日悖论概率有一些相似之处。...生日悖论是指在N个人生日排成一排情况下,第一个人生日和他之后的人生日不同概率是多少。...因此,在大小为 n 集合中,一个 k 字符串构成一个 k 排列概率为 C(n, k)。 这个问题和生日悖论有什么关系? 生日悖论是一个概率问题,它表明在某些情况下,看似不可能事件实际上可能发生。

20240

不要相信模型输出概率打分......

这篇文章首先给大家介绍模型输出预测概率不可信原因,再为大家通过10篇顶会论文介绍经典校准方法,可以适用于非常广泛场景。...因为根据交叉熵损失公式可以看出,即使模型已经在正确类别上输出概率值最大(也就是分类已经正确了),继续增大对应概率值仍然能使交叉熵进一步减小。...因此模型会倾向于over-confident,即对于样本尽可能让模型预测为正确label对应概率接近1。模型过拟合交叉熵,带来了分类准确率提升,但是牺牲是模型输出概率可信度。...这里temperature起到了对logits缩放作用,让输出概率分布熵更大(温度系数越大越接近均匀分布)。...本文定义MMCE原理来自评估模型校准度指标,即模型输出类别概率值与模型正确预测该类别样本占比差异。

1K10

文心一言 VS 讯飞星火 VS chatgpt (39)-- 算法导论5.4 3题

这是因为,如果各人生日不是独立,而是存在一定相关性,那么就会影响到概率计算,从而影响到生日悖论分析结果。...具体来说,如果各人生日不是彼此独立,而是有一定相关性,那么在计算至少有两个人生日相同概率时,就需要考虑这些相关性。...因此,在第一个贝叶斯网络中,我们拒绝生日悖论。 另一方面,如果x和y是相关,那么我们可以通过计算它们之间联合概率来确定x是否在y中。...在这里插入图片描述 chatgpt: 生日悖论中,各人生日之间独立性强弱关系对于证明结果并不关键,因为分析生日悖论本质思想是:随着参与者数量增加,至少有两位参与者生日相同概率将迅速增加。...因为即使是一个小团体,如果其中几个人生日不独立,那么也可能导致生日重叠概率增加。因此,在实际中,即使人们生日之间不是完全独立,为了粗略估计概率,通常也会采用两两成对独立假设。

15530

python标准输出 标准错误 重定向

1、sys.stdin  为文件对象, 当对文件对象做循环时候,返回为行数 2、ls > log 2>&1  标准输出和标准错误输出到log,&> log也可以,但是会有版本限制 3、print...)+'\n') 4、标准输出不可以为int类型, sys.stdout.write(1)  不可以 5、shell中& 单独为后台执行, >& 为管道,重定向到管道 >log 1>&2  把标准输出输出到标准错误...  一同显示出来,而log中没有内容 >log  2>&1 把标准错误输出到标准输出, 则不会打印输出,而log中会有内容 python 中为: print >> sys.stderr,"%s is...not exists" % f sys.stdout.write("I am standard output\n") 5、python -u buffer.py | cat -   (-意思为从标准输入读数据...,不加也可以) (-u 禁止buffer输出) 6、locals()  以字典形式返回参数值   7、sys.argv 以列表形式收集参数

2.7K20

python 实现 AIGC 大语言模型中概率论:生日相同问题代码场景模拟

我想实施能否通过代码方式来探究掌握 AIGC 数学理论基础中概率和数理统计部分,如果真有效果,后面我们也可以通过同样方式来学习研究AIGC 数学分析和高等代数部分,通过具体实践方式来研究掌握抽象思维理论...我们首先着手概率论中经典生日问题:一个房间中需要多少人才能使得其中某两个人出生在同一天概率不少于 50%。...首先这个描述隐含假设是房间内人与人之间生日没有相互联系,但如果房间内的人都是双胞胎呢?双胞胎生日显然不是互不关联。...因此我们对问题描述就要增加一个前提,那就人与人生日之间要相互独立,于是问题修改成:假设房间中每个人生日都有可能在一年中某一天,那么需要房间中有多少人,才能使得其中某两个人在同一天出生概率不小于...由此我们还需要对问题陈述做进一步改进:假设进入屋子的人,他们生日日期相互独立,并且等可能落入一年 365 天中任何一天,那么我们需要屋子里有多少人,才能使得其中某两个人有相同生日概率大于 50%

16910

Python|送给朋友生日祝福

1前言 在上一周文章中,小编给大家带来了一个表白神奇,不知道大家有没有过一个愉快520。生活中除了给男神女神表白,还会遇到朋友过生日,所以小编今天就给大家带来了一个送给朋友生日祝福程序。...2准备 本次程序还是用python编写,第三方库用到了pygame。安装方式在命令行运行以下代码即可。...在编写程序之前,先缕一缕要达到目的。首先是要有两个界面,第一个界面模拟微信视频通话界面,第二个界面为主要界面,即生日祝福界面。...图3.3生日蛋糕 然后是生日祝福语文字对象。属性有文字内容、字体渲染。方法为display()。...图3.4生日祝福 最后再来一个烟花对象,让屏幕上充满烟花。烟花坐标是需要变化,而且烟花样子也要随机参数,所以属性有坐标、图片对象。方法有display()。

2.2K10

python 实现 AIGC 大模型中概率论:充满数学逼格生日问题公式推导

在前两节中,我们推导了生日问题求解算法,但在数学上最终目标就是希望能针对问题推导出一个简洁漂亮公式,就像爱因斯坦著名质能方程 E = MC^2 那样,毕竟数学是以符号逻辑来看待世界本质语言,所以絮絮叨叨不是数学...,一个掷地有声符号公式才是数学范儿。...这里我们需要一些微积分内容。首先在前面章节中我们推导出 n 个人没有两个人拥有相同生日概率是: 在数学上看到多个数相乘时,第一个处理方法就是把乘法变成加法,因为加法比乘法要容易处理得多。...根据微积分原理,一个函数在给定点处求导,本质上是函数对应曲线在该点处切线: 对于函数 f(x),它在点 a 处切线斜率就是它在 a 点处导数 f’(a),于是上图中虚线对应直线方程g(x)...,那么一年就不是 365 天,我们用变量 D 来表示当地一年天数,那么对应概率就是: 上面公式就是我们要推导目标,至此数学逼格才能真正显示出来。

22710

超硬核解析Apache Hudi 一致性模型(第二部分)

时间戳冲突概率 当写入端使用其本地操作系统时钟作为时间戳源(这违反了 v5 Hudi 规范)时,在多写入端场景中发生时间戳冲突可能性有多大?我们可以从生日悖论中寻找直觉。...在概率论中,生日问题要求在一组随机选择n个人中,至少有两个人会分享一个生日。...生日悖论指的是一个违反直觉事实,即只需要23个人就可以超过50%概率 生日悖论是一个真实悖论:乍一看似乎是错误,但实际上是真实。...虽然只需要 23 个人就可以达到 50% 共享生日概率,这似乎令人惊讶,但考虑到将在每对可能个体之间进行生日比较,这个结果变得更加直观。...为了理解概率,简单编写了一个简单 Python 脚本。对于每个写入端,它会根据请求写入间隔(具有少量抖动)在一段时间内生成一系列时间戳。接下来它对所有写入端序列进行集合并集,以计算碰撞次数。

10110

优雅输出错误-assert

在正常情况,我们会通过,if,else进行判断一个接口条件是否满足,不满足则输出错误,例如 在IM系统中,申请入群接口,需要以下判断: $param = $this->request()->getRequestParam...else,return,writeJson等重复代码.那么,有没有一个办法,进行if,else等封装,直接一行代码实现 判断+输出错误呢?...$userInfo,'你已经是本群成员'); 在此时,我们已经将我们判断代码,优化成了一行,在assert函数中,会将不符合预期数据,通过异常抛出,我们需要通过拦截异常,来实现输出前端需要数据格式...$userInfo,'你已经是本群成员'); }catch (\Throwable $throwable){     //拦截抛出异常,然后直接输出json 错误消息     $this->writeJson...,条件错误才抛出.

1.3K20

将make输出(标准输出标准错误输出)重定向到文件 _

方式 描述符 含义 stdin 0 标准输入 stdout 1 标准输出 stderr 2 标准错误输出 1.想要把make输出全部信息,输出到某个文件中 最常见办法就是:make xxx > build_output.txt...此时默认情况是没有改变2=stderr输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到。...2.只需要把make输出错误(及警告)信息输出到文件中ing,可以用: make xxx 2> build_output.txt 相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出正常信息...C++ 例如: make 2> my_make_err.log 3.只需要把make输出正常(非错误,非警告)信息输出到文件中,可以用: make xxx 1> build_output.txt...相应地,由于2=stderr没有变,还是屏幕,所以,那些命令执行时候输出错误信息,还是会输出到屏幕上,你还是可以在屏幕上看到

4.5K20

密码学系列之:生日攻击

简介 生日攻击其实是一个概率问题,也就是说一个看起来很难发生事情,事实上它发生概率却很大。这种主观上和事实上概率差距,让随机攻击成功几率变更高,这样攻击就叫做生日攻击。...生日问题由来 生日问题也叫做生日悖论,它是这样这样描述。 假如随机选择n个人,那么这个n个人中有两个人生日相同概率是多少。如果要想概率是100%,那么只需要选择367个人就够了。...一个人生日不同概率是365/365,两个人生日不同概率就是365/365 * 364/365 ,依次类推。 我们可以得到23个人生日不同概率大概就是 0.492703。...我们将这个问题扩展一下到一般情况,假设有一个函数f,它输出范围是H,那么我们攻击就是找到两个不同x,y,让f(x)=f(y)。 这时候,我们可以称x和y发生了碰撞。...根据我们生日攻击公式,当然是将签名方案使用哈希函数输出长度选择得足够大,以使生日攻击在计算上变得不可行。

70600

密码学系列之:生日攻击

简介 生日攻击其实是一个概率问题,也就是说一个看起来很难发生事情,事实上它发生概率却很大。这种主观上和事实上概率差距,让随机攻击成功几率变更高,这样攻击就叫做生日攻击。...生日问题由来 生日问题也叫做生日悖论,它是这样这样描述。 假如随机选择n个人,那么这个n个人中有两个人生日相同概率是多少。如果要想概率是100%,那么只需要选择367个人就够了。...一个人生日不同概率是365/365,两个人生日不同概率就是365/365 * 364/365 ,依次类推。 我们可以得到23个人生日不同概率大概就是 0.492703。...我们将这个问题扩展一下到一般情况,假设有一个函数f,它输出范围是H,那么我们攻击就是找到两个不同x,y,让f(x)=f(y)。 这时候,我们可以称x和y发生了碰撞。...根据我们生日攻击公式,当然是将签名方案使用哈希函数输出长度选择得足够大,以使生日攻击在计算上变得不可行。

47630

密码学系列之:生日攻击

简介 生日攻击其实是一个概率问题,也就是说一个看起来很难发生事情,事实上它发生概率却很大。这种主观上和事实上概率差距,让随机攻击成功几率变更高,这样攻击就叫做生日攻击。...生日问题由来 生日问题也叫做生日悖论,它是这样这样描述。 假如随机选择n个人,那么这个n个人中有两个人生日相同概率是多少。如果要想概率是100%,那么只需要选择367个人就够了。...一个人生日不同概率是365/365,两个人生日不同概率就是365/365 * 364/365 ,依次类推。 我们可以得到23个人生日不同概率大概就是 0.492703。...我们将这个问题扩展一下到一般情况,假设有一个函数f,它输出范围是H,那么我们攻击就是找到两个不同x,y,让f(x)=f(y)。 这时候,我们可以称x和y发生了碰撞。...根据我们生日攻击公式,当然是将签名方案使用哈希函数输出长度选择得足够大,以使生日攻击在计算上变得不可行。

1.9K30
领券