我正在阅读Robert Sedwick撰写的算法书。
注意:" s"是来源和" t"是坦克。
任何具有来自" t"到" s"与流动和 容量等于网络的价值,并知道流入量是相等的 为扩充网络中的任何节点集流出。这样的流程 被称为循环,这种建筑表明了 maxflow问题减少到找到循环的问题 最大化沿给定边缘的流动。
给定一组循环和每个循环的流量值,很容易 通过跟踪每个循环来计算相应的循环 并将指示的流量添加到每个边缘。相反的属性是 更令人惊讶的;我们可以找到一组循环(具有流量值) 每个)相当于任何给定的循环。
流动分解规范:任何循环都可以表示为流动 沿着一组最近的E指导周期。
我对上述解释的疑问
要求用例子解释作者的意思是什么以及我们如何减少" maxflow问题减少了找到流通的问题 最大化沿给定边缘的流动。 "
任何人都可以用以下段落中的简单例子来解释。
"给定一组循环和每个循环的流量值,很容易 通过跟踪每个循环来计算相应的循环 并将指示的流量添加到每个边缘。相反的属性是 更令人惊讶的;我们可以找到一组循环(具有流量值) 每个)相当于任何给定的流通。"
谢谢!
答案 0 :(得分:3)
如果源s和接收器t存在maxflow问题,只需添加边t->即可将此问题转换为最大循环问题。从s到t的原始最大流量现在转换为最大循环s ---> t->。
如果您有一个循环列表(图中的闭合路径)并且每个循环都与流量N相关联,您可以遍历所有循环并将流量值N添加到循环经过的那些边缘。以这种方式,图表中的每个边都将具有为其计算的流量值,这是图表中的总流通量。相反,该定理说,只要你在总图中有一个循环,它就可以分解成循环。以下是最大循环的示例,在每个边缘上,符号a(b)表示流量为a,边缘最大容量为b:
3(3) 2(2)
a ----> b -----> c
^ |1(1) |
|3(3) V V 2(4)
d<------e<-------f
3(4) 2(3)
相应的循环是:a-b-e-d-a,流量值为1,a-b-c-f-e-d,流量值为2.这两个循环一起定义了最大循环,如上所示。