HeadlinesBriefing favicon HeadlinesBriefing.com

更快的C-HD最短路径算法

Hacker News •
×

最短路径是一个简单的问题。给定一个边权为非负实数的有向图,Dijkstra算法使用斐波那契堆可在O(m + n log n)时间内运行。对于m ≥ n,其他确定性算法可达到O(m log^{2/3} n)(2025年突破性进展)和O(m √log n + √(mn log n log log n))(2026年后续工作)。

在经过大约15小时733条消息后,我的智能体提出了一种新算法C-HD,并在Lean中进行了验证。它很好地处理了局部搜索,使用优先比较并将新遇到的顶点计为未探索的叶子。它通过谨慎的边删除和有界局部搜索来维护局部不变量,在认证范围m ≤ n⌊⌊log₂ n⌋^{3/4}⌋内达到O(n + m + m log(2 + m/(n+1)) + m^{1/3} (n log(n+2))^{2/3})。

C-HD通过从源点和前沿运行有界局部搜索,计算新遇到的顶点,并使用搜索树和枢轴来组织递归工作,从而减少了重复搜索和数据结构工作。它依赖于排序的出边列表。对于小型或超出范围的输入,在开始时选择具有O((n+1)(m+1))运行时间的单独Bellman–Ford算法。

FAQ:是什么让C-HD算法在某些情况下比Dijkstra更快?

C-HD通过使用有界局部搜索、计算新遇到的顶点,并使用搜索树和枢轴组织递归工作,减少了重复搜索和数据结构工作,从而在认证密度范围内实现了更好的界。

FAQ Q:是什么让C-HD算法在某些情况下比Dijkstra更快?

FAQ A:C-HD通过使用有界局部搜索、计算新遇到的顶点,并使用搜索树和枢轴组织递归工作,减少了重复搜索和数据结构工作,从而在认证密度范围内实现了更好的界。