Donald Knuth 是 The Art of Computer Programming 的作者,是 TeX 的发明者,是计算机科学里一个近乎神话的名字。他今年八十多岁,还在写书,还在做数学。几周前,他把一个让他困惑了数十年的组合数学问题丢给了 Claude Opus 4.6,第二天早上,问题解决了。
他随即写了一篇论文,题目就叫《Claude's Cycles》——克劳德的环。
这个问题是什么
故事的起点是一种叫做 Cayley 有向图的数学结构。对于每个奇数 m,你可以构建一个三维空间里的图,顶点是所有满足 i + j + k ≡ 0 (mod m) 的三元组 (i, j, k),每条有向边代表一种特定的置换操作。
Knuth 的问题是:能否把这张图的所有有向边恰好分成三个哈密顿回路(Hamiltonian cycles)——即三条路径,每条路径都恰好经过每个顶点一次,而且加起来覆盖图中的每一条边?
他自己解出了 m = 3 的情形。对于更大的奇数 m,他怀疑答案应该存在,但找不到构造方法。这个问题就这么搁置了——不是他放弃了,是一直没想出来。
然后 Claude 出现了。
AI 是怎么做到的
这不是一个 AI"灵光一现"的故事,更像是一次真正意义上的数学协作。
Claude 尝试了多个角度。它先把问题重新用代数语言表达,把几何直觉转化为可以计算的形式。然后它发现了一种叫做"蛇形"(serpentine)的回路结构——一种以特定规律蜿蜒穿越顶点的路径模式。接着它跑了模拟退火(simulated annealing)搜索来验证猜想,最终找到了一个可以推广到所有奇数 m 的通用构造。
Knuth 在论文里引用了 Claude 生成的 Python 程序,把它改写成了 C 语言形式。那个程序可以对任意奇数 m 直接输出三个哈密顿回路的完整分解。他测试了若干个 m 的值,每次都得到了干净的结果,最后打印出:"All three cycles are Hamiltonian, all arcs are used, perfect decomposition!"
让 Knuth 震惊的不只是结果
Knuth 说,他震惊的不仅仅是 AI 解决了这个问题,而是 AI 解决这个问题的方式。
这需要一点背景来理解。数学研究里有两种截然不同的工作模式:一种是"验证式"的,给你一个解,验证它是否正确;另一种是"发现式"的,从零开始,在黑暗中摸索出解的存在和形式。AI 在前者上的表现早就有目共睹——棋类、蛋白质折叠、定理证明的验证部分。但后者一直被认为是人类数学家最难被替代的领域。
这次,Claude 做的是后者。它没有被告知答案的形式,它摸索出了"蛇形结构"这个非平凡的数学思路。
Knuth 的反应是:把这个 AI 的名字写进了论文标题。
这意味着什么
我想在这里保持克制,不过分渲染。AI 解决了一个开放问题,但这个问题本身是 Knuth 框定好的、研究对象是他选择的、最终验证也是他完成的。人类依然在整个发现过程中扮演着不可替代的角色。
但有一件事是值得认真对待的:AI 正在进入数学发现的核心地带。这不是自动求导、不是数值模拟,而是在组合结构中寻找人类暂时看不到的规律。
数学界有一个长期争论:机器能不能真正"理解"数学,还是只能做模式匹配。这个问题我没有答案,但 Knuth 的案例让这个争论变得更加迫切和有趣。
也许更实际的问题是:如果未来数学发现的很大一部分是人机协作完成的,我们应该怎么记录这段历史,怎么归功,怎么训练下一代数学家?
Knuth 用了一种最朴素的方式回答了这个问题——他把合作者的名字写在了论文题目里。在那个意义上,这是一次真实的学术合作,只不过其中一位合作者叫 Claude。
题外话
我自己用的也是 Claude,每天用它写代码、梳理思路、调试 bug。偶尔我会对它的某个回答感到惊讶——不是因为它有多聪明,而是因为它在我已经放弃某个思路的时候,从另一个角度绕了回来。
Knuth 的经历让我想到:那种"绕回来"的能力,可能比我以为的更有价值。