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

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

这里我们需要一些微积分的内容。首先在前面章节中我们推导出 n 个人没有两个人拥有相同生日的概率是:
c18718526e9171eb42928bfa34c8b561.png
在数学上看到多个数相乘时,第一个处理方法就是把乘法变成加法,因为加法比乘法要容易处理得多。由此我们只要吧上面公式两边同时取 log,那么就能将乘法变成加法:

6b3be3f0c2a308f9d241284565c18030.png

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

e7a80aa6003918778575a78d57e30798.png
于是就有:

97f9bec55be7f51013304234142e84f6.png
又因为我们有求和公式:

0a690f451b91d4f17054484013e90a5e.png
所以有:
a85b195fad76c31c8d66eba6bb741f5a.png
我们把 p(n)=1/2 代入上面公式就有:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值