python 实现 AIGC 大模型中的概率论:生日问题的公式推导

在前两节中,我们推导了生日问题的求解算法,但在数学上的最终目标就是希望能针对问题推导出一个简洁漂亮的公式,就像爱因斯坦著名的质能方程 E = MC^2 那样,毕竟数学是以符号逻辑来看待世界本质的语言,所以絮絮叨叨不是数学,一个掷地有声的符号公式才是数学的范儿。

这里我们需要一些微积分的内容。首先在前面章节中我们推导出 n 个人没有两个人拥有相同生日的概率是:

在数学上看到多个数相乘时,第一个处理方法就是把乘法变成加法,因为加法比乘法要容易处理得多。由此我们只要吧上面公式两边同时取 log,那么就能将乘法变成加法:

下面我们需要使用微积分的一些技巧,针对 log(1-x)这个公式做一些变换。根据微积分的原理,一个函数在给定点处求导,本质上是函数对应曲线在该点处的切线:

对于函数 f(x),它在点 a 处的切线斜率就是它在 a 点处的导数 f'(a),于是上图中虚线对应的直线方程g(x)就是g(x) = f(a) + f'(a)(x-a)。我们看上面图形可以观察到,黑色虚线与蓝色曲线之间的"缝隙"在蓝色圆点a附近会变小, 也就是当 x 越靠近 a,那么 g(x)与 f(x)的值的差异就越小,当 x=a 时就有 g(a)=f(a),于是当 x 与 a 的距离非常接近时,我们就能用 g(x)的值来近似 f(x)。

对于 f(x)=log(1-x),它的导数为 f'(x)=-1/(1-x),如果我们取 a=0,那么 f'(a)=f'(0)=-1,于是在 0 点处 log(1-x)的切线方程就是 g(x)=f(0)+f'(0)*(x-0)=log(1-0)+(-1)*(x)=0 + (-1)*(x)=-x。回到 log(1-k/365),如果 k 的值距离 365 比较远,那么 k/365 的值就会比较接近 0,于是我们就能用 g(k)来近似 log(1-k/365),也就是:

于是就有:

又因为我们有求和公式:

所以有:

我们把 p(n)=1/2 代入上面公式就有:

从上面公式可以计算出 n 的值为22.49,由于天数要取整,因此n 的取值就是 23,注意公式中 365 对应的是一年的天数,如果我们不是在地球上而是在火星或者冥王星,那么一年就不是 365 天,我们用变量 D 来表示当地一年的天数,那么对应概率就是:

上面公式就是我们要推导的目标,至此数学的逼格才能真正显示出来。更多内容请在 b 站搜索 Coding 迪斯尼。

相关推荐
比高创意品牌策划设计29 分钟前
零售卖场设计软件用CAD还是SketchUp还是酷家乐
python
迷迭香yy2 小时前
行业板块轮动因子实战从板块资金到因子建模的本地化Python全流程
数据库·人工智能·python
W_326002 小时前
Python文件进阶:一维数据与 CSV 文件读写
开发语言·python
yaoxin5211233 小时前
497. Java 反射 - 使用反射读取注解
java·开发语言·python
2019一路前行3 小时前
Python 函数式编程
开发语言·python
网易云信3 小时前
政企共建!全国首个网易智企 AI OPC 社区落地衢州
aigc·agent
专注仿真3 小时前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法
豌豆学姐4 小时前
likeadmin-api 数字人任务查询实战:image_human/query 如何处理排队、完成和失败
人工智能·aigc·api·数字人·异步任务
从小就看凹凸曼^o^5 小时前
Python基础5 - 字典与集合:(1)字典
开发语言·python
一只叫煤球的猫5 小时前
开个新坑,从头开始完整拆解 Spring AI 2.0 的源码
后端·面试·aigc