社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

量子位 • 10 月前 • 184 次点击  
一水 发自 凹非寺
量子位 | 公众号 QbitAI

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
#p_j are the first 25 consecutive primes starting at 1.05*sqrt(n)
p = [
    479487491499503509521523541547,
    557563569571577587593599601607,
    613617619631641
]

#q_m found by the search (13 primes)
q = [
    187963187973187987188011188017188021188029,
    188299199931199933199961199967199999
]

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

#Correction 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 > 0and (gap_q_minus_p < rhs_budget))

#If 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 > 0and (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类奖项,欢迎企业报名参与 👇 

一键关注 👇 点亮星标

科技前沿进展每日见

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/187490