最新的最大流量算法是否可行?


30

对于最大流量问题,似乎有许多非常复杂的算法,最近至少有一种算法是在去年开发的。Orlin的最大流量为O(mn)或更佳时间,给出的算法以O(VE)运行。

另一方面,我最常看到的算法是(我不声称已经进行了详尽的搜索;这只是从偶然的观察中得出的):

  • Edmonds-Karp:O(VE2)
  • 推入重贴标签:使用FIFO顶点选择的O V 3O(V2E)O(V3)
  • Dinic算法:O(V2E)

渐近运行时间更好的算法对现实世界中的问题大小不切实际吗?另外,我看到“动态树”涉及许多算法。这些在实践中曾经使用过吗?

注意:此问题最初是在此处的堆栈溢出时提出的,但有人告诉我在这里更合适。

编辑:我在cs.stackexchange上询问了一个相关的问题,特别是关于使用动态树(又名链接剪切树)的算法的问题,追随此问题的人们可能会感兴趣。


1
从一般意义上讲,算法是否“实用”与算法是否“实现”有些不同。理想情况下,作者将发布自己算法的实现,在这种情况下,使用它们通常是“实用的”。在TCS文献中,这通常是一个例外。但是,通常仅在以伪代码编写的论文中给出描述的情况下,才“实施”其他作者的算法通常是“不实际的”,有时有时会非常复杂或非常复杂...成功的实现包括对正确性的良好测试,有时会令人望而生畏……
vzn

3
安德鲁·戈德堡(Andrew Goldberg)过去曾根据他的推送重新标记工作为最大流量的不同变体提供非常好的代码库。我过去使用过代码,而且非常干净。不幸的是,该站点似乎已失效。
Suresh Venkat

3
@vzn我对算法是否适合实际应用很感兴趣。有些算法没有,有些人已将它们称为“银河算法”,因为它们具有出色的渐近行为,但开销太大,以至于目前没有实现这些算法的实际收益。(毕竟,低阶项很重要。)矩阵乘法是我能想到的最佳示例,其中渐近最佳解决方案从未见过实际应用。我对最大流量是否也是类似情况感到好奇。
罗伯·拉克兰

5
算法是否“实用”与算法是否“实现”有些不同。- 那是正确的。可以在不实际的情况下实现算法,反之则不然。
Jeffε

Answers:


22

我是以上链接的论文的作者之一。

只是想提一提,我们使用``最新技术''来表示算法(具有公开可用的实现),这些算法在计算机视觉中出现的最大流实例上表现良好。

我还想补充一点,在狭窄的(但实际的)上下文中,性能良好的算法通常是理论上缺乏保证的算法。例如,我们的论文(Boykov-Kolmogorov算法)中的参考文献[5]在计算机视觉社区中得到了广泛的使用,但没有强大的多重时间运行时边界。

最后,如果有人感兴趣,可以从这里获得我们实验的数据:http : //ttic.uchicago.edu/~dbatra/research/mfcomp/index.html

该代码也将很快可用。


您加入小组非常整齐!欢迎!关于论文的一个问题[自第一次发现以来]。听到更多有关本文中使用的算法选择过程的消息将非常有趣-它似乎并未对此进行详细阐述。也许您可以在某个地方(例如,网页?)分享一些“幕后”背景说明,这些内容涉及选择了哪些算法,哪些算法被省略,为什么,在获取/运行实现中遇到了哪些挑战,您如何看待更奇特的的算法,例如Orlins最近的算法及其最终实现的前景等!
vzn

7

有几种方法可以回答这个问题,但不一定是共识。通常,已实现并发布以供公众分发的算法是“实用的”。但是,可以说一些已经设计但尚未实现的算法是可行的,但是可以说是“陪审团”了。**

出于实际目的的一个好的策略是进行调查。对于对实用算法感兴趣的人,针对真实世界数据的基准对于他们预期的“真实世界”行为也可能是一个很好的指南。

基准调查可能就足够了,但会偏离可行的算法。这是对14种“最先进”最大流量算法的最新,详尽的经验分析,该算法以经验为基准对比视觉处理实例(其中最大流量具有许多应用)进行了基准测试。“现有技术”是指“实现的”算法。

[1] 重新审视MaxFlow: Verma和Batra在2012年针对稠密视觉问题的Maxflow算法的经验比较,2012年

**在TCS社区中,一些理论算法正越来越多地被非正式地称为“银河”,但不幸的是,TCS作者目前并未在该类别中直接对自己的算法进行自标记,并且没有公开的或公认的标准“银河”算法,尽管在博客中有参考。

从这个意义上讲,实用性可能是理论研究的一个新兴领域。理想情况下,将专门针对此“实用”轴/标准对最大流量算法进行调查,但在撰写本文时可能并不存在。它是TCS中最近得到认可/认可的概念,尚未被正式形式化(例如,不同于P算法被广泛认为是“有效”的)。


3
+1。我不知道为什么这被否决了。我正在阅读您链接的论文,这对于至少在该问题领域中了解实际方法是非常有帮助的。
罗伯·拉克兰

3
罗伯特·塞奇威克(Robert Sedgewick)在最近的一次演讲中,不进行实验算法设计师可能会迷失在抽象中。演讲是关于在图形中查找路径,并且也与maxflow有关。它没有回答问题,但可能对某人很有趣。
Juho

5
@Rob,此答案中唯一相关的部分是指向该论文的链接,答案中没有太多内容可以说明为什么将该论文链接了。我猜想OP会通过Google找到链接,但尚未阅读。剩下的答案是一些一般性的评论和评论,陈述了OP对他不是专家并且在这里没有真正意义的问题的个人看法。答案不是博客文章。指向相关论文的链接可能会很好地作为评论,但不能给出答案。如果这是一个不好的答案。这就是为什么我对此投反对票。
卡夫

2
@Kaveh很公平。我发现本文是人们认为实用的算法的有用指示。我同意,有很多问题尚待解决。
Rob Lachlan

3
我也不明白反对票。没有理由相信张贴者没有阅读链接的文章,并且看起来确实相关。我可以看到不赞成投票但不反对投票的愿望。
Suresh Venkat

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.