我正在阅读最大流量问题Here。我无法理解残差图背后的启动。为什么我们在计算流量时考虑后缘。
任何人都可以帮助我理解残差图的概念。
无限图中算法如何变化
答案 0 :(得分:0)
残差图是一个图表,显示您是否可以拥有比当前更多的流量(因为您从0流开始)。当你解决了#34;问题是,您不应该使用残差图从源头到达接收器(因为剩余图表显示是否有更多流量可用)。
将法线图视为速度,将残差图视为加速度。残差图基本上显示了速度的变化。
算法不应该在无向图中发生变化。无向图与有向图相同,其中箭头指向两个方向而不是无方向。更多关于这里: https://math.stackexchange.com/questions/677743/finding-the-max-flow-of-an-undirected-graph-with-ford-fulkerson
答案 1 :(得分:0)
剩余图表是您删除已经通过的流后网络剩余的图形。假设您有一个容量为10的边AB,当前流量通过AB移动7个单位,那么在残差图中你应该有一个容量为3的边AB(剩下的是)和一个容量为7的边BA(这个因为你可以出现通过从先前的解决方案中删除它来获取流量;这是因为如果您找到从源到B以及从A到接收器的路径,那么您可以将以前的解决方案重定向到不使用边缘AB,或者使用较少的边缘AB)。
要更清楚地看到此图片。 假设您找到的第一条路径是s,u,v,t,并且您可以通过它推送10条路径。现在你可以在残差图中找到路径s,v,u,t(即使vu边缘不存在于原始图中)并推动5流过它。所以发生的事情是从u到v的5个流量单位现在被重定向到t,而从u到v的5个单位现在来自s。
如果您有无向图,则可以用有向边AB和有向边BA替换边AB,其边缘BA与原始无向边相同。您无法向两个方向流动,因为您通过取消较小的方案获得相同的解决方案。通过来回发送流量没有任何好处。