掘金 人工智能 5小时前
突破 40 年 Dijkstra 算法瓶颈,清华教授等颠覆教科书!斩获 STOC 最佳论文
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

计算机科学领域迎来重大突破,清华大学教授段然及其团队提出了一种全新的最短路径算法,打破了经典 Dijkstra 算法长期存在的“排序瓶颈”。该新算法不依赖排序,在处理任意权重和有向图问题上均展现出超越现有理论极限的效率,有望改写计算机算法教科书。研究成果已获得 STOC 最佳论文奖,标志着最短路径研究迈入新纪元。

🎯 **突破排序瓶颈,刷新算法认知**:传统 Dijkstra 算法在寻找最短路径时受限于排序速度,而清华大学教授段然团队的新算法巧妙地避开了这一限制。通过将边界节点分组形成集群,并优先考虑关键节点,算法在不依赖排序的情况下实现了更快的运行速度,解决了困扰计算机科学界四十年的难题。

🌐 **适用于任意权重和有向图**:此前,突破排序瓶颈的算法往往需要对权重做出特定假设,且难以应用于包含单向路径的“有向图”。段然教授团队的新算法成功克服了这些挑战,能够处理任意权重和复杂有向图,极大地扩展了最短路径算法的应用范围。

💡 **借鉴与创新融合,层进式革新**:该算法融合了 Dijkstra 算法的层进式探索思想和贝尔曼-福特算法的节点定位策略。通过预先侦察和优先探索关键节点,再回溯处理其他节点,实现了效率的显著提升。这种结合多种算法优势的创新方法,显示了研究的深度与广度。

🚀 **效率远超理论极限,未来潜力巨大**:这项研究不仅解决了理论难题,更在实践中展现出惊人的运行效率,已超越现有理论极限。目前,段然团队正致力于进一步优化算法,预示着最短路径计算的未来将更加高效和便捷,可能在交通、物流、网络路由等众多领域带来革命性变革。

「【新智元导读】清华大学教授段然提出了一种最短路径新方法,击败了教科书中经典的 Dijkstra 算法。」

计算机科学的重大成果!

清华大学教授刷新最短路径算法认知,或将改写计算机算法教科书。

在计算机科学中,一个经典问题是寻找网络中每个点的最短路径,而 Dijkstra 算法是此问题的最经典解决方法。

自 1956 年来,最短路径问题吸引了众多研究人员的关注。

哥本哈根大学计算机科学家 Mikkel Thorup 米克尔 · 索鲁普表示:

最短路径是个绝妙的好问题,全世界人都能感同身受。

直觉上,找到离起点最近的点的路径应该最简单。

因此,如果想设计一个解决最短路径问题的最快算法,合理的做法是先找到最近的点,然后是次近的点,依此类推。但这意味着你需要反复确定哪个点是最近的,也就是说,你得按距离给这些点排序。

然而,这种方法有一个根本的限制:这种**「算法****的速度无法快过排序所需的时间」**。

四十年前,研究最短路径算法的科学家们遇到了这个「排序瓶颈」。

现在,来自清华大学等机构的研究团队设计了一种新算法,突破了这一瓶颈。这种算法不依赖排序,而且比任何需要排序的算法运行得更快。

论文链接:arxiv.org/abs/2504.17…

普林斯顿大学的计算机科学家 Robert Tarjan 说:「这些研究者大胆地认为他们能打破这个瓶颈。这是一个惊艳的成果。」

值得一提的是,这项研究摘得 STOC 最佳论文,实至名归。

左:Mikkel Thorup;右:Robert Tarjan

「最短路径」

若想解决复杂难题,条理分明往往事半功倍。比如将问题拆解后优先处理最简单的部分——但这种分类需要代价,你可能耗费过多时间在排序上。

这一困境尤其体现在计算机科学中最经典的问题之一:如何在网络中从特定起点出发,找到通往其他所有点的最短路径。这就像日常搬家后必须解决的升级版问题:规划从新家到公司、健身房和超市的最佳路线。

为了从数学角度分析最短路径问题,研究者们使用图论的语言——图是由点(或称节点)组成的网络,这些点通过线连接起来。每条连接线都标有一个数字,叫作权重,它可以代表这段线的长度或穿越它所需的时间。

通常,任意两个节点之间都有很多路径,最短路径就是那些权重加起来最小的路径。给定一个图和一个特定的「起点」,算法的目标就是找到到其他每个节点的最短路径。

在 1956 年,计算机科学先驱埃兹赫 · 迪杰斯特拉(Edsger Dijkstra)设计了日后最著名的最短路径算法。

它从起点开始,一步步向外扩展。

「Dijkstra 算法如何找到最短路径」

Dijkstra 算法从网络中的一个特定点开始,找到到每个其他点的最短路径。它按距离从近到远的顺序找到这些路径。

Dijkstra 算法的基本步骤:

从 A 点开始:

你看到两条路径。B 点距离 1 单位,C 点距离 5 单位。你现在知道到 B 的最短路径,但可能有一条更短的间接路径到 C。 最短路径:A → B = 1

跟随最短路径:

前往 B,然后再观察一次,记录从 A 到每个点的总距离。D 点比 C 点离 A 更近。最短路径:A → B = 1;A → D = 2

继续探索:

前往 D 点并再次观察,现在你已经找到了到 C 的最短路径。最短路径  :A → B = 1;A → D = 2;A → C = 3。

从起点开始,逐步探索网络中到每个点的最短路径——这种方法很有效,因为知道到附近节点的最短路径,能帮助你找到到更远节点的最短路径。

但最终结果是一个按距离排序的最短路径列表,因此排序瓶颈设定了算法速度的根本限制。

1984 年,Tarjan 和另一位研究者改进了迪杰斯特拉的原始算法,使其达到了这个速度极限。任何进一步的改进都必须来自一个避免排序的算法。

论文链接:dl.acm.org/doi/10.1145…

在 20 世纪 90 年代末和 21 世纪初,Thorup 和其他研究者设计出了打破排序瓶颈的算法。

从左至右:Bernhard Haeupler、Václav Rozhoň(上方)、Jakub Tětek(下方)、Robert Tarjan 和 Richard Hladík 证明了 Dijkstra 算法的一个版本是对所有网络布局的最佳解决方案

他们需要对权重做出某些假设。没人知道如何将这些技术扩展到任意权重上。似乎他们已经走到了尽头。

研究停滞了很长一段时间,很多人相信没有更好的办法了。

但清华的段然不是其中之一。他长期梦想构建一个能在所有图上突破排序瓶颈的最短路径算法。去年秋天,他终于成功了。

「超越排序」

段然对排序瓶颈的关注可以追溯到近 20 年前。

那时,他在密歇根大学读研究生。他的导师是研究如何在特定情况下打破排序瓶颈的学者之一。

但直到 2021 年,段然才找到一个更有前景的方法。

关键在于关注算法每一步的下一步走向。

迪杰斯特拉的算法会利用之前已探索的区域,决定下一步通过扫描这个区域的「边界」——也就是所有与边界相连的节点。起初这不会花太多时间,但随着算法推进,速度会变慢。

段然则设想将边界上的相邻节点分组,形成多个集群。每一步只考虑每个集群中的一个节点。由于需要筛选的节点减少了,每一步的搜索都能更快。算法可能不会总是选择最近的节点,因此排序瓶颈不再适用。但要确保这种基于集群的方法确实能加速算法,而不是让它更慢,是一个挑战。

在接下来的一年里,段然完善了这个基本想法。

到 2022 年秋天,他乐观地认为自己能克服技术难题。

他拉来三位研究生帮忙细化细节,几个月后,他们取得了部分成功——开发出了一种算法,打破了任意权重下的排序瓶颈,但仅适用于所谓无向图。

论文链接:arxiv.org/abs/2307.04…

在无向图中,每条连接线都可以双向通行。计算机科学家通常更关注包含单向路径的更广义的图类,但这些「有向图」往往更难处理。

这次新论文的合著者、斯坦福大学计算机科学博士生毛啸说:「(在有向图中)可能存在一种情况,A 到 B 很容易,但 B 到 A 却很困难。这会给你带来很多麻烦。」

「希望之路」

2023 年夏天,在加州的一场学术会议上,毛啸聆听了段然关于无向图算法的演讲。他主动与这位仰慕已久的学者攀谈起来。

那是他第一次在现实中见到段然,当时非常激动。

「随机性如何优化算法」

「会议结束后,毛啸开始利用业余时间思考这个问题。与此同时,段和他的团队正在探索适用于有向图的新方法。他们从最短路径问题的另一经典算法——贝尔曼 - 福特算法中汲取灵感。」

贝尔曼 - 福特算法不生成排序列表,但初看却像是个糟糕的选择:它的速度远逊于迪杰斯特拉算法。

计算机科学家米克尔 · 索鲁普补充道:「科研就是不断尝试有潜力的路径。但借鉴贝尔曼 - 福特算法简直像在反其道而行——这看起来蠢透了。」

段然的团队通过分阶段运行贝尔曼 - 福特算法避开了其低速缺陷。这种选择性使用让他们能预先侦察后续步骤中最有价值的节点,这些节点如同交通网络中的核心枢纽。

计算机科学家米克尔 · 索鲁普解释道:「要获取多数目的地的最短路径,你必须经过这些关键点」。

2024 年 3 月,毛啸提出另一创新思路。

原算法中某些关键步骤依赖随机性,虽然随机算法能高效解决许多问题,但学界仍更青睐确定性方案。

毛啸设计出无需随机化的最短路径求解方法,随后加入团队。

通过数月的群聊和视频会议,他们最终在秋季取得突破——段然教授意识到可借鉴其 2018 年解决另一类图问题时突破排序障碍的技术,这正是补齐最后一块拼图的关键。

「层进式革新」

最终算法将图分层处理,像迪杰斯特拉算法那样从源头向外推进。

但其精妙之处在于:通过贝尔曼 - 福特算法定位关键节点后优先探索,稍后回溯处理其他边界节点。由于不严格按距离顺序探索每层节点,排序障碍自然失效。若采用恰当的分层策略,其速度甚至略超优化版迪杰斯特拉算法。

这个由多个精密模块组成的算法虽复杂,却意外地未使用任何高深数学工具。

计算机科学家米克尔 · 索鲁普感慨万分:「这套方法本可能在五十年前就被发现,但直到现在才问世。这才更显其非凡。」

段然团队正着手优化算法以追求更快的速度。随着排序障碍的攻克,新算法的运行效率已远超现有理论极限。

参考资料:

www.quantamagazine.org/new-method-…

www.cnblogs.com/gaochundong…

iiis.tsinghua.edu.cn/en/People/F…

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

最短路径算法 Dijkstra算法 排序瓶颈 清华大学 计算机科学
相关文章