我在网上看到了今年麻省理工学院积分竞赛的一个积分。
看到这个之后我的想法如下:
- 它看起来像一个测试函数。
- 答案是很少的。
- 您可以使用替换u = 1 − x 2025来计算积分。
我想大多数学生的反应应该大致相反。他们首先看到的是代换。有些人可能会认为这个值很小,而没有人会想到β函数。
尺寸估算
积分值很小,是因为积分中包含了 0 到 1 之间的数的幂次方。在实际应用中,能够估算积分的大小可能比能够计算积分更有价值。
但在像积分竞赛这样的测验中,知道结果很小是没有意义的,除非是为了核对结果。从题目是在限时测验的背景下,你就知道这里面肯定有陷阱[1]。
顺便说一句,如果你稍微改变一下问题,比如用 2025.03 替换 2025 的一个实例,那么积分问题就会变得更加困难,但你仍然可以估计出这个值很小。
Beta 函数
我第一次看到有人通过识别β函数来求积分,感觉就像变魔术一样。我完全没想到他会认为我从未见过的东西是常识。
多年后,我进入MDACC从事生物统计学工作,一直与β函数和β随机变量打交道。如果你浏览我的出版物,你会发现“β”这个词出现了好几次。
β函数定义如下。你可以将第一个等式视为定义,将第二个等式视为定理。
贝塔函数定义中的被积函数是贝塔( x , y )随机变量的概率密度函数,因此B ( x , y )是贝塔( x , y )概率分布的归一化常数。
积分蜜蜂问题中的积分不是β函数。我以为可以把它变成β函数,但用u代换更简单。
如果将上面的被积函数改为
那么你确实有一个 beta 函数。这个积分的值为B (2025, 2026),等于 2024! 2025! / 4050!,这是一个非常小的数。
数值估计
上一节中的积分与x 2024 (1 − x ) 2024的积分大致相同。该函数的最大值位于½,因此被积函数小于 2 −4048 ≈ 10 −1219 。
如果我们想用数值方法计算 2024! 2025! / 4050! 的值,就需要采用间接计算,因为 2024! 会溢出,最终结果会下溢。我们可以使用 Python 计算该值以 10 为底的对数,如下所示。
>>> 从 scipy.special 导入 gammaln >>> 从数学导入日志 >>> (gammaln(2025) + gammaln(2026) - gammaln(4051))/log(10) -1220.576093208249
因此,我们的上限使我们的结果处于一个或两个数量级之内。
[1] 当你在数学题中看到当前年份时,出题人是在向你眨眼。年份通常意味着一个数字很大,但有点随意。在这里,你会怀疑,如果把 2024 年和 2025 年换成 1997 年和 1998 年,问题的答案可能是一样的。此外,年份通常暗示你不想使用暴力破解。在这种情况下,它是一个警告,不要用二项式定理来展开被积函数。
关于积分蜜蜂积分的即兴演奏最初出现在John D. Cook上。
原文: https://www.johndcook.com/blog/2025/05/16/riff-on-an-integration-bee-integral/