10个Claude联手打破了Dijkstra的纪录
评测机构 Vals AI 最近做了一个挺轰动的实验。
他们把 10 个 Claude Opus 5.5 放进同一个沙盒环境,配了一个共享看板和 15 个小时,目标只有一个,看它们能不能联手推导出一个渐进复杂度优于经典 Dijkstra 的单源最短路径算法,并且给出形式化数学证明。
这 10 个模型在沙盒里发了 733 条长消息,互相推导定理、挑刺、构造反例,最后还真捣鼓出一个叫 C-HD 的新算法。
更绝的是,它们不仅写出了伪代码,还用数学证明语言 Lean 4 给出了完整的形式化机器证明,且被编译器严格跑通。在特定密度的稀疏图里,这套算法的理论渐进复杂度上界,确实压过了 Dijkstra 统治几十年的经典纪录。
消息一出来,在技术圈引起了不小的讨论,不少人以为经典理论要被改写了。
但 Vals AI 自己在报告里就写明了,他们没在大规模真实图上跑过测试,证明里的常数巨大,不代表实际能提速。
随后,日本开发者 mizchi 照着论文用 Rust 把 C-HD 完整实现了一遍,拉去和 Dijkstra 对比。从 1.6 万个节点一路测到 419 万个节点,C-HD 每一档都输给了 70 年前的经典 Dijkstra,算上预处理慢了 1.47 到 7.3 倍,扣掉预处理只比核心部分,也还慢 1.12 到 3.9 倍。
为什么理论上超越了经典的算法,在真实跑分里反而会慢上几倍?
要看清这场测试到底发现了什么,我们得先回到寻路问题的起点,在计算机眼里,到底是怎么在一张地图上找路的。
寻路算法的唯一母体,波前扩张
不管是《红色警戒》里一辆坦克的走位、高德地图里为你避开拥堵的实时导航,还是 Linux 内核里一个数据包的路由,计算机面对一张复杂的地图时,根本没有人类那种纵观全局的「天眼」。
它所能做的唯一一件事,就是在黑暗中以起点为中心,向外画一个不断膨胀的圈。
在路径规划与图形学中,这个从起点向外推进的过程通常被称为 「波前扩张(Wavefront Expansion)」 而在代码里,维护这道扩张边缘的数据结构,通常叫 「探索前沿(Frontier)」。
以最基础的无权图或网格地图为例,从起点开始寻找一条路径,代码可以写得很精简
这就是标准的广度优先搜索(BFS)。
从起点出发,将相邻的未访问邻居推入普通队列;随后按先进先出的顺序依次出队,继续扩展下一层邻居。探索波前像同心圆一样,均匀向外一圈圈推开。
但上面的代码只完成了「全图遍历」,并没有记录走过的具体路径。
要获取最终路径,只需要在遍历的同时记录每一个节点的前驱节点,也就是在代码里维护一个 came_from 字典,记录「我是从哪个邻居走过来的」
当探索前沿触及目标点(goal)时,循环立刻停止。
此时从终点出发,沿着 came_from 中记录的前驱指针一路倒推回到起点,再将序列反转,得到的就是起点到终点的最短路径。
当地图有了权重,Dijkstra 诞生了
广度优先搜索能找到最短路径的前提,是每一步的移动代价完全相同。此时「步数最少」就等于「总代价最低」。


