“定理给最大流提供可验证的最优性证书,并导出 Menger 定理、二分图匹配、项目选择和图像分割等结果。整数容量下,最大流和最小割值为整数,但最小割本身可能不唯一。全局最小割去掉指定源汇后成为…”
形式陈述 ​
割等价树 ​
给定无向容量图
其中
进一步,若路径最轻边为
父数组构造 ​
固定根 0,把树暂存为 parent 数组。初始令每个
把尚未处理且原本以
若
这一“旋转并搬移权值”的分支是构造的一部分,不是实现优化。省略它会在割侧穿过祖父节点时生成错误的父树。算法总共调用
为什么父关系更新有效 ​
每条已定父边携带一个曾经计算出的割值,其删除分量对应当时的割侧。新
最小割的 uncrossing 性质保证可以选择与既有父割层叠相容的割侧。旋转处理新割包住
直觉
无向最小割具有可 uncross 的层叠结构,使所有点对的数值不必各存一份。构造逐次把新割嵌进父树;查询时,一条树路径上的最轻边就是限制两端连通的最窄瓶颈,删掉它还直接给出原图中的一个相应割侧。
例子与边界
四点查询例子 ​
考虑无向图本身就是一棵容量树:
它的 Gomory–Hu 树可以就是这棵树。查询
查询
对一般图可预处理树上的二进制提升表,为每个
推论与应用
树编码了什么 ​
树边权精确编码所有点对最小割值,并且每条树边的删除分量给出一个相应最小割。但它不枚举原图中所有不同的最小割边集:同一点对可能有多个等值割,树只选择其中一个层叠族来表示。
因此“查询值”和“列出原图割边”是两个接口。前者取路径最小权即可;后者先由树边得到顶点分区,再扫描原图找跨分区边,输出成本至少与所报告边数相关。
适用边界与复杂度 ​
经典定理要求无向容量图。对有向图,点对割不对称,一棵无向树的路径最小边无法同时表达两个方向。负容量也不属于最大流最小割定理的标准输入。
总构造成本是
若只需要一个全局最小割,取 Gomory–Hu 树的最轻边可以得到答案,但专用算法通常更直接。它的价值在于一次预处理后回答大量不同点对,而不是替代所有单次最大流。
参考资料
- Ralph E. Gomory and T. C. Hu, Multi-Terminal Network Flows, Journal of the Society for Industrial and Applied Mathematics, 1961.
- Dan Gusfield, Very Simple Methods for All Pairs Network Flow Analysis, SIAM Journal on Computing, 1990.
- Alexander Schrijver, Combinatorial Optimization: Polyhedra and Efficiency, Springer, 2003.