关于网络流的一些基本名词及其定义。

根据自己的理解写的,可能有错误。

弧的容量:指的是一条弧(有向边)最大承受能力。

弧的流量:实际通过这条弧的流量。

网络流:所有弧上流量的集合。

可行流:简单的说就是一张图能够实现的网络流。

可行流的流量:能够实现的网络流的流量。

零流:每条弧的流量都为零。

伪流(容量可行流):满足弧流量限制条件,不满足平衡条件。

最大流(网络最大流):流量最大的可行流。

饱和弧:流量等于容量。

非饱和弧:流量小于容量。

零流弧:流量等于零。

非零流弧:流量大于零。

链:顶点序列(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。在统计净流量时,反向弧的流量为负值。

Ford-Fulkerson标号法求网络最大流:简单的说就是不断地求出增广路,不断增加流量,最终算出网络最大流。

 

posted @ 2015-06-17 17:13  Fighting_Heart  阅读(2490)  评论(0编辑  收藏  举报