使用Ford-Fulkerson和DFS的最大流量


22

这个问题是关于使用DFS查找增强路径时Ford-Fulkerson最大流量算法的时间复杂度的。

有一个众所周知的示例,显示使用DFS可能需要最大流中线性的迭代次数,例如,参见上面链接的Wikipedia页面。

但是,我对这个示例并没有真正的信服:标准DFS实现不会表现出B和C作为路径的第一个节点(使用Wikipedia页面的顶点名称)之间交替的行为。

因此,让我们施加一个非常自然的条件,即每当DFS访问节点 ,它总是以相同的顺序检查u的邻居。仍然有使用DFS的FF使用大量迭代的示例吗?uu

作为变体,假设我们具有附加的属性,即邻居的不同顺序与某些任意但固定的全局顶点顺序一致。这有什么区别吗?

在我看来,这是一个非常基本的问题;如果答案众所周知,我会事先道歉,但我不是流量专家,有些谷歌搜索没有发现任何问题。

编辑: 答案是肯定的,仍然有示例。看到的图2 本文。在这些示例中,具有DFS的FF进行了指数级(按顶点数计)迭代。似乎很容易证明这是紧密的,即迭代次数始终以为界与容量的值无关)。2O(n)


4
我想知道同样的问题。
卡·特雷维森

1
(1)好问题。(2)我认为不好的情况下的例子(像在维基百科)通常被引入一个原因,一些有关访问顺序的考虑是必要的,不是为了避免使用深度优先搜索的一个原因。
伊藤刚(Tsuyoshi Ito)

6
我认为如果没有这个问题的答案,我现在就不能教FF。不错!
Suresh Venkat

难道不是在最少的迭代次数NP-Complete中找到了最大的流量?
2011年

Answers:


13

如果邻接表是预先确定的,则DFS总是终止(即使存在不合理的容量)。

参见Dean,Goemans,Immorlica-在不合理的问题数据存在的情况下,“增强路径”算法的有限终止


11
谢谢。这本身并不能回答我的问题,但是,Dean-Goemans-Immorlica论文的图2中给出的示例显示了基于标准示例的递归构造,该示例确实回答了我的问题,并表明带有DFS的FF可能需要成倍的增长。迭代。
Per Austrin '02
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.