在最优化理论中,最大流最小割定理提供了对于一个网络流,从源点到目标点的最大的流量等于最小割的每一条边的和。即对于一个如果移除其中任何一边就会断开源点和目标点的边的集合的边的容量的总和。
最大流最小割定理是线性规划中的双对问题的一种特殊情况,并且可以用来推导Menger定理和König–Egerváry定理。
令N = (V, E)为一个网络(有向图)并且有s, t ∈ V 为N的源点和目标点。
最大流
定义: 一条边的容量是一个映射 c:E→R+ ,记做 cuv 或者 c(u,v) ,代表着能通过这条边的最大的流量。
定义: 一个流是一个映射 f:E→R+ ,记做 fuv 或者 f (u,v) 。每一条流有以下两个限定条件:
- 流量限制:
∀(u,v)∈E:fuv≤cuv - 流量守恒:
∀v∈V∖{s,t}:∑{u:(u,v)∈E}fuv=∑{u:(v,u)∈E}fvu.
定义: 流的流量的定义是
|f|=∑v∈Vfsv,
s为N的源点,代表着从源点流向目标点的流量。
最大流问题:计算 | f | 的最大值。即从s到t的最大流量。
最小割
定义:一个 s-t 割 C = (S, T) 是一种 V 的划分可以使 s ∈ S 并且 t ∈ T。C 的割集是集合
{(u,v)∈E : u∈S,v∈T}.
注意如果 C 的割集中的边被移除了, | f | = 0.
定义: 一个s-t割的容量是
c(S,T)=∑(u,v)∈(S×T)∩Ecuv=∑(i,j)∈Ecijdij,
其中
dij=1如果i∈S
并且
j∈T,0
反之。
最小 s-t 割问题: 计算 c(S, T) 的最小值。即找到 S 和 T 使 S-T 割的容量达到它的最小值。