Max Flow
1. Foundations
-
What we do in Max flow: Given a flow network G with source s s s and sink t t t, to find a flow of maximum value
-
What is a valid flow: must satisfy both: 1. flow constraint; 2. flow conservation
2. Define a max-flow problem
- G = ( V , E ) ; ( u , v ) ∈ E ; c ( u , v ) ≥ 0 G=(V,E);(u,v)\in E;c(u,v)\ge0 G=(V,E);(u,v)∈E;c(u,v)≥0
- Capacity constraint: 0 ≤ f ( u , v ) ≤ c ( u , v ) 0\le f(u,v) \le c(u,v) 0≤f(u,v)≤c(u,v)
- Flow conservation: for all v ∈ V v\in V v∈V{(s,t)}: ∑ v ∈ V f ( v , u ) = ∑ v ∈ V f ( u , v ) \sum_{v\in V}f(v,u)=\sum_{v\in V}f(u,v) ∑v∈Vf(v,u)=∑v∈Vf(u,v) the amount of flow going into u u u must be equal to flow going out of u u u
- The value of a flow(graph): ∣ f ∣ = ∑ v ∈ V f ( s , v ) − ∑ v ∈ V f ( v , s ) |f|=\sum_{v\in V}f(s,v)-\sum_{v\in V}f(v,s) ∣f∣=∑v∈Vf(s,v)−∑v∈Vf(v,s) the value of a graph equals to the absolute value of source s s s
- How to handle networks with multiple sources ad sinks: supersource and supersink
- Modeling problems with antiparallel: add a new vertex
- Skew Symmetry: F < x , y > = − F < y , x > F<x,y>=-F<y,x> F<x,y>=−F<y,x>
Residual network
-
Residual network: the residual network G f G_f Gf consists of edges with capacities that represent how we can change the flow on edges of G G G
-
Residual capacity: c