目录
一次一条路径
从组合到微积分
缩小、重用、回收
首页 科技周边 人工智能 计算机基础问题,最大流问题获突破性进展:新算法「快得离谱」

计算机基础问题,最大流问题获突破性进展:新算法「快得离谱」

Apr 09, 2023 am 11:31 AM
计算机 算法

计算机基础问题,最大流问题获突破性进展:新算法「快得离谱」

这个问题在网络流理论中非常基础。「新算法快的离谱。其实,我本来坚信这个问题不可能存在这么高效的算法,」来自耶鲁大学的 Daniel Spielman 说道。

自 20 世纪 50 年代以来,人们一直在研究最大流量,当时研究最大流是为了建模研究前苏联铁路系统。 「对它的研究甚至比计算机科学理论还古老,」来自谷歌加州山景城研究中心的 Edith Cohen 这样说。

这个问题通向很多应用:互联网数据流、航空公司日程安排,甚至包含将求职者与空缺职位进行匹配。这篇新论文既处理了最大流量问题,也处理了更一般的问题,即处理最大流同时还希望最小化成本。多年来,这两个问题激发了算法技术的许多重大进步。Spielman 说:“这几乎就是我们一直耕耘算法领域的原因。“

新算法在「近似线性」的时间内解决了这两个问题,就是说该算法的运行时间基本与记录网络细节所需的时间正比。对于所有可能的网络,解决这些问题的其他算法都无法达到如此快的速度。加州大学伯克利分校的 Satish Rao 表示,这个结果让他跳了起来:「简直太棒了。」

Spielman 则认为,我们已经找到如此快的算法,现在是时候着手思考解决之前没有想过的各种应用问题了。

目前,新方法主要是理论上的提升,因为算法速度的提升还只适用于比现实世界中遇到的大得多的网络,对于这些网络,最大流量问题已经可以很快地得到答案(至少在不考虑代价最小化的情况下)。加拿大滑铁卢大学的 Richard Peng 预计,新算法可能在一年内得到实际应用,他是该算法的六位创造者之一。

有研究人员认为,在未来几年里,计算机科学家可能会找到方法使其更实用,甚至可能更快。

麻省理工学院的 Aleksander Mądry 说,未来即使有所改进,但这篇新论文也是「扣篮大赛中最精彩的扣篮」。他说,这基本上是最好的」。

一次一条路径

Richard Peng 表示,很多计算机科学家在研究最大流问题,以至于在会议上讨论过去的工作就像过电影最后的鸣谢部分。但大多数人都同意第一个形式化算法是 1956 年由 Lester Ford 和 Delbert Fulkerson 应用贪心算法求解最大流,这种方法在每一步都使用最容易得到的对象。

你可以这样理解这种方法:首先,设想一个高速公路网络,你希望在给定的时间内将尽可能多的送货卡车从洛杉矶运送到纽约市。Ford 和 Fulkerson 的算法从选择从洛杉矶到纽约的一条路径开始,并沿着这条路径安排尽可能多的卡车。该方法通常不会利用该特定道路上所有道路的全部通行能力:如果道路的是五车道公路,但它通过一架两车道的桥梁,那么你在任何时候都只能启动两辆卡车。

接下来,该算法修改这些路段的通行能力,以反映现在使用了部分路段的通行能力:它从路段的通行能力中减去发送的卡车数量,因此五车道公路现在通行能力是 3,而双车道桥的通行能力为零。同时,该算法在反向方向上为这些公路的通行能力增加了 2,因此,如果我们愿意,我们可以稍后撤销部分流量。

然后,该算法找到一条从洛杉矶到纽约的新路径,该路径可以容纳一些卡车,沿着该路径发送尽可能多的卡车,并再次更新容量。经过有限数量的这些步骤后,从洛杉矶到纽约的道路将无法容纳更多的卡车,到这里算法就完成了:我们只要将构建的所有流量合并,就可以通过获得网络最大可能的流量。

图片

Ford 和 Fulkerson 的算法并不试图在这一过程中做出聪明的选择。如果它选择了一条切断其他有用路径的路径,那是算法之后要处理的问题。在该算法发表后的几十年里,研究人员试图通过让算法做出更明智的选择来加速运行时间,例如总是使用最短的可用路径或可用容量最大的路径。 1970 年,Yefim Dinitz 发现了一种在一步中使用网络中所有最短路径的有效方法。这一算法在低容量网络中的运行时间,由 Shimon Even 和 Robert Tarjan 证明为 m^1.5 (m: 网络中的链接数,相比之下,Ford-Fulkerson 算法在低容量网络中需要多个 m^2)。

近 30 年后,Rao 和 Andrew Goldberg 对高容量网络得出了类似的结果。但没有人能击败 m^1.5 指数。这篇新论文的作者之一、多伦多大学的苏珊特・萨赫德瓦(SushantSachdeva)说:「进入 21 世纪……m^1.5 的壁垒根深蒂固。」为了取得更大进展,计算机科学家必须寻找完全不同的方法。

从组合到微积分

到目前为止,所有这些算法都采用了组合方法,即在每个步骤中寻找某种类型的结构,并使用该结构来更新流。但在 2003 年,南加州大学的 Spielman 和 ShangHua Teng 开启了一扇完全不同的「优化」方法之门,在这种方法中,使用微积分技术为指导寻找最优解。

Spielman 和 Teng 开发了一种快速优化算法,该算法解决的不是最大流量问题,而是一个密切相关的问题,即通过每根具有给定电阻的导线网络找到能量最低的电流。Sachdeva 说,Spielman 和 Teng 的进步是「关键时刻」。

图片

创建确定网络最大流量和最小成本的超快速算法团队成员 (从左上角顺时针开始):Yang Liu、 Li Chen、Rasmus Kyng、Maximilian Probst Gutenberg、Richard Peng、Sushant Sachdeva。

研究人员很快开始探索如何将这一进展应用于最大流问题。可以把公路网想象成由电线组成的网络,在没有太多可用容量的公路上增加电阻,阻止电子穿过公路。由于 Spielman 和 Teng 的工作,我们可以快速计算通过这些电线的电流,这个模型具有通过高速公路的最大车辆流量的粗略属性。(它们不会完全相同,因为电流问题对导线的容量没有任何硬性限制。)

然后,在产生了这个初始流量之后,我们可以像 Ford 和 Fulkerson 的组合算法一样重新调整容量。接下来,可以重置每条导线的电阻,以反映这些变化的量,并解决新生成的电路问题。

与一次改变一个网络块的组合方法不同,Spielman 和 Teng 的优化方法每次完成整个网络的扫描。这使得每一步都更加有效,因此达到最大值需要的总步骤更少。2008 年,谷歌的 Samuel Daitch 和 Spielman 使用了这种方法,基本上与之前的最大流量 m^1.5 的界限相近。在 2013 年,Mądry 进一步推进了该方法,以突破低容量网络的 m^1.5,将运行时间提高到大约 m^1.43 的倍数。「这太令人震惊了,」Rao 表示。

接下来的几年里,研究人员进一步扩展了这种方法,但他们的结果仍停留在 m^1.33。他们开始怀疑这个指数是否是一个基本极限。

对于最大流算法来说,最快的可想象运行时间应该是 m 倍(即 m^1.0),因为写下一个网络需要 m 个步骤的倍数。这被称为线性时间。但对许多研究人员来说,这样一个极快的算法似乎是不可想象的。「没有任何充分的理由,能让我们相信能做到这一点,」Spielman 说到。

缩小、重用、回收

这篇新论文的作者认为,Daitch 和 Spielman 的方法有更多的优点。Mądry 曾用它来减少解决最大流问题所需的步骤数,但这种减少是有代价的:在每一步中,整个网络都必须重写,并且必须从头开始解决电力流问题。

这种方法将 Spielman 和 Teng 的算法视为黑盒 —— 不管算法内部在做什么。六位研究人员决定深入研究该算法的核心,并根据最大流量问题调整其各个组成部分。他们怀疑,这些组件甚至可能让他们解决更难的「最低成本问题,在这个问题是寻找最便宜的方式来运输给定数量的材料。计算机科学家早就知道,任何最小成本算法都可以解决最大流问题。

与其他优化方法一样,研究人员提出了流的「能量」概念即链接成本和容量的函数。将流量从昂贵的低容量链路转移到廉价的高容量链路会降低系统的总能量。

为了弄清楚如何快速地将流移向低能状态,研究人员将这种优化方法与旧的组合观点相结合。后者一次只更改网络的一部分,提供了重用前面步骤中的一些工作的可能性。

在每一步中,算法都会寻找一个可以减少能量的循环,即开始和结束是同一个点的路径。基本想法很简单:假设你创建了一条从芝加哥到纽约的收费公路,然后你发现有一条更便宜的高速公路。这时把纽约添加进循环,沿着昂贵的道路运行到芝加哥,然后沿着较便宜的路线返回,形成一个循环,从而替换掉昂贵的路径,从而降低了流量的总成本。

加拿大维多利亚大学的 Valerie King 说,这种方法使用的步骤比「电气方法」多得多,所以乍一看听起来「像是在倒退」。为了进行补偿,算法必须在每一步都以难以置信的速度找到优质的循环,比检查整个网络所需的速度还要快。

这就是 Spielman 和 Teng 的算法的工作原理。他们的算法提供了一种使用「低延伸生成树」的新方法,这种树是算法的关键,它可以捕获网络的许多最显著的特征。给定这样一个树,通过在树外添加一个链接,总是可以构建至少一个良好的循环。因此,拥有一个低伸缩的生成树可以大大减少需要考虑的循环数。

即便如此,为了让算法快速运行,团队也无法在每一步都构建一个全新的生成树。相反,他们必须确保每个新周期在生成树中只产生较小的涟漪效应,以便重用以前的大部分计算。该论文作者之一、斯坦福大学研究生 Yang Liu 表示,实现这种控制水平是「核心难点」。

最终,研究人员创建了一种在「几乎线性」时间内运行的算法,这意味着当用越大的网络时,它的运行时间越接近 m。

该算法借鉴了 Spielman 和 Teng 的许多想法,并将它们结合在一起,形成了一种全新的东西。Spielman 说,如果你只见过马拉的车,那么现在的算法就像是汽车。「我看到它有一个可以坐的地方,我看到它有轮子,我看到它有东西可以让它移动。但他们已经用发动机代替了马。」

Rao 推测,该团队的分析是漫长而复杂的,但其他研究人员很快就会深入研究以简化问题。他说:「我的感觉是,未来几年,一切都会变得更干净、更好。」

Spielman 说,一旦算法得到简化,计算机科学家可能会开始将其用作解决不同问题的算法的子程序。「现在我们知道我们可以很快做到这一点,人们会发现各种各样的应用程序,这是他们以前没有想过。」

另外,该算法对最大流问题令人眩晕的加速,让 Spielman 对算法理论中的其他核心问题有了期待,「我们还能做些什么?」

以上是计算机基础问题,最大流问题获突破性进展:新算法「快得离谱」的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
远程桌面无法验证远程计算机的身份 远程桌面无法验证远程计算机的身份 Feb 29, 2024 pm 12:30 PM

Windows远程桌面服务允许用户远程访问计算机,对于需要远程工作的人来说非常便利。然而,当用户无法连接到远程计算机或远程桌面无法验证计算机身份时,会遇到问题。这可能是由网络连接问题或证书验证失败引起的。在这种情况下,用户可能需要检查网络连接、确保远程计算机是在线的,并尝试重新连接。另外,确保远程计算机的身份验证选项已正确配置也是解决问题的关键。通过仔细检查和调整设置,通常可以解决Windows远程桌面服务中出现的这类问题。由于存在时间或日期差异,远程桌面无法验证远程计算机的身份。请确保您的计算

2024 CSRankings全美计算机科学排名发布!CMU霸榜,MIT跌出前5 2024 CSRankings全美计算机科学排名发布!CMU霸榜,MIT跌出前5 Mar 25, 2024 pm 06:01 PM

2024CSRankings全美计算机科学专业排名,刚刚发布了!今年,全美全美CS最佳大学排名中,卡耐基梅隆大学(CMU)在全美和CS领域均名列前茅,而伊利诺伊大学香槟分校(UIUC)连续六年稳定地位于第二。佐治亚理工学院则排名第三。然后,斯坦福大学、圣迭戈加利福尼亚大学、密歇根大学、华盛顿大学并列世界第四。值得注意的是,MIT排名下跌,跌出前五。CSRankings是由麻省州立大学阿姆赫斯特分校计算机与信息科学学院教授EmeryBerger发起的全球院校计算机科学领域排名项目。该排名基于客观的

未能打开这台计算机上的组策略对象 未能打开这台计算机上的组策略对象 Feb 07, 2024 pm 02:00 PM

在使用电脑时,操作系统偶尔也会出现故障。今天遇到的问题是在访问gpedit.msc时,系统提示无法打开组策略对象,因为可能缺乏正确的权限。未能打开这台计算机上的组策略对象解决方法:1、访问gpedit.msc时,系统提示无法打开该计算机上的组策略对象,因为缺乏权限。详细信息:系统无法定位指定的路径。2、用户点击关闭按钮后,弹出如下错误窗口。3、立即查看日志记录,并结合记录信息,发现问题出在C:\Windows\System32\GroupPolicy\Machine\registry.pol文件

CLIP-BEVFormer:显式监督BEVFormer结构,提升长尾检测性能 CLIP-BEVFormer:显式监督BEVFormer结构,提升长尾检测性能 Mar 26, 2024 pm 12:41 PM

写在前面&笔者的个人理解目前,在整个自动驾驶系统当中,感知模块扮演了其中至关重要的角色,行驶在道路上的自动驾驶车辆只有通过感知模块获得到准确的感知结果后,才能让自动驾驶系统中的下游规控模块做出及时、正确的判断和行为决策。目前,具备自动驾驶功能的汽车中通常会配备包括环视相机传感器、激光雷达传感器以及毫米波雷达传感器在内的多种数据信息传感器来收集不同模态的信息,用于实现准确的感知任务。基于纯视觉的BEV感知算法因其较低的硬件成本和易于部署的特点,以及其输出结果能便捷地应用于各种下游任务,因此受到工业

使用C++实现机器学习算法:常见挑战及解决方案 使用C++实现机器学习算法:常见挑战及解决方案 Jun 03, 2024 pm 01:25 PM

C++中机器学习算法面临的常见挑战包括内存管理、多线程、性能优化和可维护性。解决方案包括使用智能指针、现代线程库、SIMD指令和第三方库,并遵循代码风格指南和使用自动化工具。实践案例展示了如何利用Eigen库实现线性回归算法,有效地管理内存和使用高性能矩阵操作。

探究C++sort函数的底层原理与算法选择 探究C++sort函数的底层原理与算法选择 Apr 02, 2024 pm 05:36 PM

C++sort函数底层采用归并排序,其复杂度为O(nlogn),并提供不同的排序算法选择,包括快速排序、堆排序和稳定排序。

人工智能可以预测犯罪吗?探索CrimeGPT的能力 人工智能可以预测犯罪吗?探索CrimeGPT的能力 Mar 22, 2024 pm 10:10 PM

人工智能(AI)与执法领域的融合为犯罪预防和侦查开辟了新的可能性。人工智能的预测能力被广泛应用于CrimeGPT(犯罪预测技术)等系统,用于预测犯罪活动。本文探讨了人工智能在犯罪预测领域的潜力、目前的应用情况、所面临的挑战以及相关技术可能带来的道德影响。人工智能和犯罪预测:基础知识CrimeGPT利用机器学习算法来分析大量数据集,识别可以预测犯罪可能发生的地点和时间的模式。这些数据集包括历史犯罪统计数据、人口统计信息、经济指标、天气模式等。通过识别人类分析师可能忽视的趋势,人工智能可以为执法机构

改进的检测算法:用于高分辨率光学遥感图像目标检测 改进的检测算法:用于高分辨率光学遥感图像目标检测 Jun 06, 2024 pm 12:33 PM

01前景概要目前,难以在检测效率和检测结果之间取得适当的平衡。我们就研究出了一种用于高分辨率光学遥感图像中目标检测的增强YOLOv5算法,利用多层特征金字塔、多检测头策略和混合注意力模块来提高光学遥感图像的目标检测网络的效果。根据SIMD数据集,新算法的mAP比YOLOv5好2.2%,比YOLOX好8.48%,在检测结果和速度之间实现了更好的平衡。02背景&动机随着远感技术的快速发展,高分辨率光学远感图像已被用于描述地球表面的许多物体,包括飞机、汽车、建筑物等。目标检测在远感图像的解释中

See all articles