1.流网络
流网络是一个有向图 G<V,E>,其中有两个特殊点 s,t∈V ,分别为源点和汇点。G 中每一条边有一个≥0 的权值,称作边的容量,边 (u,v) 容量可记做 c(u,v)。
源点相当于一个水源,汇点相当于一个大海,中间的边和点相当于河流水道,水从水源流出,流经河道,流向大海。容量描述的就是这些河流水道的宽度/深度/etc.。
为了简化问题,我们假设若存在边 (u,v)∈E,则不存在 (v,u)∈E 。
其实我们也有一种办法消除这种边,只需要将 (v,u) 拆成 (v,t) 和 (t,u) 就可以了。
总之,在考虑问题时,不用考虑反向边。
2.可行流
对于每一个流网络,我们可以考虑它的任意一个可行流(可简称流),流用 ff来表示,f(u,v) 表示的是单位时间内从 u 点到 v 点流经边 (u,v) 的流。
通俗的来说,就是河道里面流了多少水。
就是说我们要指定每一条边的流量得到一个方案 f ,若满足两个条件:容量限制 和 流量守恒 ,则称这个 f 是一个可行流。
容量限制:流经边的流量小于等于边的容量,即:
0≤f(u,v)≤c(u,v)
流量守恒:除了源点汇点之外其他点不能存储流量。也就是说,流入的流量之和应该等于流出的流量之和,即:
∑v∈Vf(u,v)=∑v∈Vf(v,u)∑v∈Vf(u,v)=∑v∈Vf(v,u)
我们完全不用考虑反向边。
对于一个可行流 f,|f| 代表这个可行流的流量值,表示流从源点流向汇点的速率。我们定义:
|f|=∑(s,v)∈Ef(s,v)−∑(v,s)∈Ef(v,s)