关于ZAKER 合作
量子位 前天

陶哲轩用 GPT-5 解决数学难题:仅 29 行 Python 代码

AI 又又又帮陶哲轩解决了一个难题!

消息来自陶本人最新发帖,他直言不讳地表示:

如果没有 AI 帮忙,完成同样任务就需要花费数小时(主要是手动编写代码和调试)。

甚至,如果没有 AI,他也不会决定采用目前已经取得成功的关键策略。

事实上,如果没有 AI 帮忙,我几乎不可能尝试进行这种数值搜索(可能会寻求理论渐近分析)。

由于用的是GPT-5,OpenAI 研究员 Sebastien Bubeck(微软前 AI 副总裁 & 杰出科学家)也火速转发了一波,由此在社区引发热烈讨论。

除了纷纷回忆和陶神本人类似的经历,网友们无不感慨:

这标志着我们正在进入一个人类与机器共同探索的新时代。

所以,陶哲轩这次用 AI 解决了什么问题?AI 又在其中起了多大作用?

咱接着康康——

仅用 29 行 Python 代码帮助验证结果

陶哲轩这次要解决的是 MathOverflow(专业数学问答社区)上的一个问题:

序列 lcm ( 1,2, … ,n ) 是否是高度丰数的一个子集?

简单来说,这个问题其实就是在比对两个特殊的数列。

一个是最小公倍数数列,如:

n=2,lcm ( 1,2)=2

n=3,lcm ( 1,2,3)=6

n=4,lcm ( 1,2,3,4)=12

n=5,lcm ( 1,2,3,4,5)=60

……

另一个是高度丰数数列 Highly Abundant Numbers ( HA ) 。这类数有个特殊性质:其 " 所有约数加起来的和 ",比任何比它小的数都大。

例如 1 的约数和是 1,2 的约数和是 3(大于 1),4 的约数和是 7(比 3、1 都大),所以它们是高度丰数。

由于发现前面算出来的最小公倍数们,居然刚好也是高度丰数,所以问题来了——会不会所有的最小公倍数,永远都在高度丰数的行列里?(即子集)

对于这个问题,陶哲轩之前已经通过理论分析,得出答案是否定的。

不过要想完全证明这一点,还需要找到具体的数值参数,以便确凿地构建一个反例。

虽然方向很明确,但陶哲轩清楚,由于过程中需要繁琐的计算和参数搜索,所以这也算是一项 " 大工程 ",人工就得吭哧吭哧干几小时。

而交给 GPT-5 后,一切都变得轻松了……仅通过自然语言对话,几轮沟通下来 AI 就帮忙解决了问题。

具体过程如下:

起初,陶哲轩尝试让 GPT-5 直接生成 Python 程序,来搜索这些反例的参数。

这样陶就可以自己跑代码、调整参数。

GPT-5 在思考了大约 1 分钟 19 秒后,也确实给出了一段很长的代码。

但实际运行后发现,生成的代码运行时间过长,且初始参数选择不当,最终会导致搜索的失败。

于是他选择转变策略,通过与 GPT-5 展开分步对话,来让它通过启发式计算来寻找可行的参数选项。

换句话说,他选择将一个大问题拆成多个小问题,然后在其本人的指导下,让 GPT-5 来逐个攻破。

几轮沟通下来,GPT-5 终于成功生成了符合要求的参数。

并且,为了确保结果可靠,陶还使用了由 GPT-5 生成的拥有 29 行代码的 Python 脚本进行独立验证。

在陶看来,这个脚本简洁明了,易于人工检查,且验证的数值结果与之前的启发式预测完全吻合。

from math import log

n = 200000;

_j are the first 25 consecutive primes starting at 1.05*sqrt ( n )

p = [

479, 487, 491, 499, 503, 509, 521, 523, 541, 547,

557, 563, 569, 571, 577, 587, 593, 599, 601, 607,

613, 617, 619, 631, 641

]

_m found by the search ( 13 primes )

q = [

187963, 187973, 187987, 188011, 188017, 188021, 188029,

188299, 199931, 199933, 199961, 199967, 199999

]

sum_log_p = sum ( log ( x ) for x in p )

sum_log_q = sum ( log ( x ) for x in q )

terms

sum_corr_p = sum ( log ( 1.0 + 1.0/ ( x* ( x+1 ) ) ) for x in p )

sum_corr_q = sum ( log ( 1.0 + 1.0/x ) for x in q )

gap_q_minus_p = sum_log_q - sum_log_p

rhs_budget = sum_corr_p - sum_corr_q

print ( f"sum_log_q - sum_log_p = {gap_q_minus_p:.12g}" )

print ( f"RHS budget = {rhs_budget:.12g}" )

print ( "Inequality ( correct sign ) holds?:",

( gap_q_minus_p > 0 ) and ( gap_q_minus_p < rhs_budget ) )

you wanted the opposite sign, this is what you'd be checking:

gap_p_minus_q = -gap_q_minus_p

print ( f"nsum_log_p - sum_log_q = {gap_p_minus_q:.12g}" )

print ( "Inequality ( opposite sign ) holds?:",

( gap_p_minus_q > 0 ) and ( gap_p_minus_q < rhs_budget ) )

综上,通过使用 GPT-5,陶哲轩最终完成了上述问题的否定证明。

而且他还特意提到,面对数学这类严肃课题,AI 这次竟然也没有犯幻觉这个 " 老毛病 "。

我没有遇到幻觉或其他 AI 生成的胡言乱语的问题。

这不是陶神第一次用 AI 解决数学问题

事实上,作为顶尖数学大佬,这不是陶哲轩第一次用 AI 解决数学问题。

光是今年,量子位此前就有多篇介绍:

9 月初,他将 GPT-5 用于半自动化文献检索,使 Erdos 问题 /OEIS 关联项目首次得到概念验证;

5 月下旬,新人博主陶哲轩在油管手把手演示如何只用 GitHub Copilot 证明函数极限问题;

5 月中旬,油管首秀用 AI 33 分钟 " 盲证 "Magma 方程 E1689 蕴含 E2;

3 月中旬,o3-mini 一眼识破并纠正了他的一个错误,然后在它的帮助下快速完成了一道数学题的解答;

……

在陶哲轩看来," 人工智能或许短期内不会获得菲尔兹奖(数学界的诺贝尔奖),但它或许可以充当数学家进行证明的中介 "。

当然,跳出数学领域,陶哲轩的打样无疑也在告诉我们:如何用 AI 相当关键。

One More Thing

关于 GPT-5,OpenAI CEO 奥特曼的最新表态正在引起热议。

GPT-5 被误解了!

一改往日高调姿态,他这次直接告诉大家,GPT-5 代表的是迭代改进,而非突然的范式转变。

也就是说,人们对 GPT-5 的预期过高了(也借此回应 GPT-5 直播出故障以及人们关于模型能力未达预期的抱怨)。

而且面对 " 何时实现 AGI" 这一问题,其态度同样来了个大转弯——

相比以前直接说 AGI 2030 年前会实现,他这次变得更加谨慎,开始强调自己更关注安全和渐进式进步。

好好好,你小汁主打一个随机应变是吧(doge)。

参考链接:

[ 1 ] https://mathstodon.xyz/@tao/115306424727150237

[ 2 ] https://x.com/SebastienBubeck/status/1973977315572154383

[ 3 ] https://mathoverflow.net/questions/501066/is-the-least-common-multiple-sequence-textlcm1-2-dots-n-a-subset-of-t/501125

一键三连「点赞」「转发」「小心心」

欢迎在评论区留下你的想法!

年度科技风向标「2025 人工智能年度榜单」评选报名开启啦!我们正在寻找 AI+ 时代领航者 点击了解详情

企业、产品、人物 3 大维度,共设立了 5 类奖项,欢迎企业报名参与

一键关注 点亮星标

科技前沿进展每日见

相关标签