根据自己的理解写的,可能有错误。
弧的容量:指的是一条弧(有向边)最大承受能力。
弧的流量:实际通过这条弧的流量。
网络流:所有弧上流量的集合。
可行流:简单的说就是一张图能够实现的网络流。
可行流的流量:能够实现的网络流的流量。
零流:每条弧的流量都为零。
伪流(容量可行流):满足弧流量限制条件,不满足平衡条件。
最大流(网络最大流):流量最大的可行流。
饱和弧:流量等于容量。
非饱和弧:流量小于容量。
零流弧:流量等于零。
非零流弧:流量大于零。
链:顶点序列(u,a,b,c....,v)为一条链,链中的弧的方向不一定要求一致。因此一条链中有前向弧(其集合记作P+)和后向弧(其集合记作P-)。
前向弧:方向从u指向v的弧。
后向弧:方向从v指向u的弧。
前向弧和后向弧都是相对的,根据指定链的方向而决定。
增广路:
假设P是一条从源点到汇点的链。P中所有的前向弧满足0<=f(u,v)<c(u,v),即P+不饱和;P中所有的后向弧满足0<f(u,v)<=c(u,v),即P-都是非零流弧。那么P就是一条增广路(增广路不一定是一条路径)。
通过寻找增广路,可以增加流量。具体操作如下:
(1) 先算出α= α就是可以改进的增量。
(2) 对于增广路上的P+,流量都加上α。对于P-,流量都减去α。
这样操作之后,可行流增加了。
残留容量: 弧<u,v>的残留容量c~(u,v)=c(u,v)-f(u,v)。此外,还有一个反向的残留容量,c~(v,u)=f(u,v)。
残留网络(剩余网络): 把每条弧都做成残留容量,就成了残留网络。残留网络中任意一条从源点到汇点的路径都对应这一条增广路,路径中剩余容量最小的边的值可以作为增广的流量。
割: E是弧的集合,设E~为E的一个子集,如果G在删除E~之后不再连通,则E~为G的割。
S—t割: 删除E~将图分成两部分,源点在其中一部分,而汇点在另一部分内,则称E~为S—t割。
割的容量: c(S,T)=∑c(u,v),u∈S,v∈T,<u,v>∈E。在统计割的容量时,不统计反向弧的容量。
最小割:容量最小的割。
割的净流量:f(S,T)=∑f(u,v),u∈S,v∈T,(<u,v>||<v,u>)∈E。在统计净流量时,反向弧的流量为负值。