piy*_*ukr 19 algorithm graph graph-algorithm ford-fulkerson
为了找到图中的最大流量,为什么不仅仅考虑该路径中具有最小边缘容量的所有增强路径而不考虑后边缘就足够了?我的意思是,如果我们从它那里假设流量,那么称它为后沿是什么意思呢?
tem*_*def 22
在执行Ford-Fulkerson算法时,如果您选择的路径最终不是整个流程的一部分,则需要后沿.
作为需要后沿的示例,请考虑此流网络:
s
/ \
a b
\ / \
c d
\ /
t
Run Code Online (Sandbox Code Playgroud)
假设所有边都指向下方并且所有边都具有容量1并且您想要找到从s到t的流.假设在Ford-Fulkerson的第一次迭代中你采用了路径s - > b - > c - > t.此时,您已将一个流量单位从s推到t.如果你没有添加任何后边缘,你就会留下这个:
s
/
a b
\ \
c d
/
t
Run Code Online (Sandbox Code Playgroud)
没有更多的st路径,但这并不意味着你有最大流量.您可以通过沿路径s - > a - > c - > t发送一个流量从s到t来推动两个流量单位,另一个沿路径s - > b - > d - > t.在残余流网络中没有任何后边缘,您将永远不会发现这条其他路径.
希望这可以帮助!