一夜之间,OpenAI扔出一个让数学界炸锅的消息。
一个困了数学界近90年的千禧年难题,OpenAI用大约88小时找到了答案。
这道题叫Navier–Stokes(纳维–斯托克斯)。
(资料图)
1934年以来,Leray、Nirenberg、Caffarelli、Tao等一代代*数学家不断逼近这个问题;2000年,它又被列入七道千禧年大奖难题之一,悬赏100万美元。
这是一道什么样的难题?OpenAI又是如何解决的?
01PART ONE
一道价值百万美元的千禧难题
很多人可能都没有听说过Navier–Stokes,但在现实生活中,我们每天都在和它打交道。
人类已经可以造出跨越大洋的飞机,可以预测台风怎样移动,也可以在一辆汽车真正造出来之前,就在电脑里模拟高速行驶时空气怎样从车身两侧掠过。
这些背后应用的,正是一套已经诞生两百年的方程——纳维–斯托克斯方程,Navier–Stokes equations(简称 N–S 方程),它是它是空气动力学、气象学、海洋学以及计算流体力学(CFD)的基础。
对于密度恒定、不可压缩的牛顿流体,常见形式是:
同时满足质量守恒:
但是,数学家总会对“无限”和“例外”追问到底、感到着迷。
对于所有可能的三维初始状态,Navier–Stokes方程的解是不是都能一直存在并保持光滑?还是至少存在一种极端情况,会在有限时间内形成奇点?
这么说可能还是有点难以理解,我们换个说法。想象一下,你往一杯咖啡里滴一滴牛奶,再用勺子轻轻搅一下。你会看到里面出现很多小漩涡。
这些漩涡无论怎么变化,是不是最终都能被方程正常描述;还是存在一种非常特殊的情况,某个局部的流动会变得越来越集中、越来越剧烈,最终出现一种数学上的异常——水流在一个极小区域里的变化大到趋向无穷。
这就是所谓的“奇点”。
这个问题困住了一代又一代数学家。
1934年,法国数学家Jean Leray先迈出了关键一步。他证明,即便不能保证三维流体始终*光滑,至少存在一种要求更宽松的“弱解”,可以一直延续下去。
到了1982年,Luis Caffarelli、Robert Kohn和Louis Nirenberg又证明,即使三维弱解真的出现奇点,这些异常也只能藏在时空中极小的集合里。菲尔兹奖得主Terence Tao也长期关注Navier–Stokes。2014年,他没有直接解决原方程,而是构造了一个保留许多Navier–Stokes关键结构的“平均版本”,并证明这个修改后的系统确实可以在有限时间形成奇点。
2000年,Clay数学研究所把它列入七道“千禧年大奖难题”,每道题悬赏100万美元。二十多年过去,七道题中正式解决的仍然只有庞加莱猜想。
近90年来,没有一个聪明大脑解决这个问题。
02PART TWO
OpenAI用88小时,给出90年未解难题的答案
而现在,OpenAI宣称,它找到了答案。
9月8日,OpenAI正式公布了一份Navier–Stokes证明。
它给出的答案是:三维Navier–Stokes方程确实可以在有限时间内形成奇点。
OpenAI构造的是这样一种情况:流体一开始处于平滑状态,甚至是静止的;之后给它施加一个平滑的外力,流体开始运动。随着时间推进,一个涡旋不断向内盘旋,同时被越拉越长。OpenAI把它形容得很直观——像一根不断被拉长的意大利面。中心区域越来越小,速度却越来越高,最终在有限时间内增长到没有上界。整个过程中,流体的总能量仍然保持有限。
▲橙色表示更快的角旋转;青绿色表示较慢的旋转。环流速度还取决于半径。轨迹显示出向内螺旋和轴向拉伸。来源:OpenAI官网
这里最难的地方,是这个奇点不能靠“作弊”制造出来。
如果直接给流体施加一个无限大的外力,当然可以让速度变得异常,但这并不能解决千禧年难题。OpenAI要做的是:外力始终平滑、正常,但流体自身的运动却一步步发展出奇点。
这要求Navier–Stokes方程里的几部分同时达到一种非常精细的平衡。加速度、压力梯度、动量传递、黏性,这些项都会变得很大,但又必须彼此准确抵消。最后留下来的外力仍然是平滑的,而流体速度却已经增长到无界。OpenAI把这称为证明里的核心技术挑战。
而找到这条证明的过程,也不是让一个模型从头算到尾。
从8月28日开始,OpenAI一直在训练一个新的内部模型。官方称,这个模型在包括数学在内的benchmark上出现了此前没有见过的表现,而且训练期间能力还在继续提升。它的整体能力被OpenAI描述为“显著强于GPT-6 Astra”。
▲GPT-6 Astra与OpenAI内部模型在一组精选开放数学问题上的表现
9月1日,OpenAI开始让这个模型驱动大量agent,去尝试几个尚未解决的千禧年难题。
这些agent被分成不同小组,可以查缓存互联网、运行代码,也可以在组内交流。对于Navier–Stokes,OpenAI没有只让所有人朝一个方向走,而是同时给不同组不同版本的问题:有的尝试证明解永远保持光滑,有的反过来寻找形成奇点的反例。最终找到Navier–Stokes解的那一组,规模大约达到1万个并发agent。
但真正的突破,先出现在一个更简单的问题上。
OpenAI还给agent安排了一些“较容易”的开放问题,其中一个就是Euler方程。它和Navier–Stokes非常接近,只是去掉了黏性这一项。
接近100个agent一起做了约50个小时,先找到了一个无外力Euler方程形成奇点的证明。
看到这条路线走通后,OpenAI判断Navier–Stokes变成了最有希望拿下的问题,于是把原本分配给其他千禧年难题的agent调了过来,并把刚得到的Euler证明交给它们继续研究。
随后,不同agent小组继续尝试不同路线。过一段时间,OpenAI会用Codex把各组最有价值的中间结果汇总起来,再重新交给agent继续往下做。最终找到Navier–Stokes证明的那组,就是在这种不断汇总、再推进的过程中被引导到正确路线上的。
9月5日,距离*批agent启动大约88小时,系统得到了解答。
整个Navier–Stokes项目中,agent一共交换了约270万条消息,输出约1300亿个token。
但OpenAI还没有停在“找到一篇看起来成立的证明”上。
之后,他们又把证明转成Lean形式化版本,让计算机逐步检查每一步逻辑。这一步用了GPT-6 Astra,又花了大约17个小时。最终,OpenAI同时公开了一份人可以阅读的分析证明,以及一份Lean形式化证明。
所以这次并不是“一个更强的模型突然灵光一闪”。
更准确地说,是:一个尚未公开的更强内部模型,驱动大量agent并行探索;先在Euler方程上找到突破,再把这条路线带回Navier–Stokes;不同小组不断交换和汇总中间结果,最后再用Lean完成机器验证。
OpenAI认为,这套证明已经建立了Clay官方问题表述里的C情形,同时也满足D情形,因此解决了Navier–Stokes千禧年难题。
03EPILOGUE
结语
就在Navier–Stokes结果公布前几周,Anthropic也公开了Claude在纯数学上的一次尝试。8月,一个未发布版本的Claude被用来挑战黎曼猜想。它没有解开这道同样价值100万美元的千禧年难题,却意外推进了一个相关结果:把已知的黎曼零点比例下界从41.6%提高到了67.2%。
也有人在尝试使用Claude推进Navier–Stokes相关研究。NYU数学家Tristan Buckmaster和Anthropic研究员Levent Alpöge此前就在推进相关问题,他们在这个过程中也使用了Claude和Codex。
所以,当OpenAI公布结果后,Buckmaster公开质疑OpenAI获知其研究进展后的处理方式;OpenAI则否认曾查看或使用他们未公开的研究内容。
从黎曼猜想到Navier–Stokes,一个变化已经越来越明显:大模型开始不满足于解已有答案的数学题,而是在往那些人类还不知道答案的问题里走。
所以,下一道被AI推开的数学难题,会是哪一道?