06 March 2014

Fork me on GitHub

  • Network flow
    • Expressive power
    • Many problems reduce to flow
      • Linear programming
    • NP-completeness

Ford-Fulkerson proof

Achieves the bound style proof, using the min cut of the graph. (The min cut of the graph gives an upper bound on the flow, and the max flow achieves that bound.) Ford-Fulkerson terminates when the residual graph is disconnected. This means the edges leaving the component including \( s \) are saturated. Thus the flow leaving this component is equal to the cut of this component. Since \( Flow(F) \leq Cut(S, T) \), any time the flow equals a cut, it we must have the max flow and min cut. Thus Ford-Fulkerson achieves the max flow.

Complexity

Assume the number of edges is greater than the number of nodes: \( m \geq n \). Assume we have integral capacities, and let \( F_{max} \) be the max flow of the graph. In each iteration, we have to do a path search with time \( O(m) \). Flow increases by at least one in each iteration. So we might have \( O(m F_{max}) \) complexity. Unfortunately, it can actually be that bad (example in the text).

One idea is to take the max bandwidth path in each step of Ford-Fulkerson. Remember we can find the max bandwidth path in \( O( m \log n ) \). Let \( v \) be the bandwidth of the maximum bandwidth path. If we delete all the edges of weight \( \leq v \), we split the graph. Thus we have a cut of size at most \( m v \), which is a bound on the maximum flow. Thus \( v \geq F_{max} / m \), but it's the max flow in the residual graph, not the original graph. So \[ F_{r, t} \leq (1 - \frac{1}{m}) F_{r, t-1} \] So \[ F_{r, t} \leq (1 - \frac{1}{m})^t F_{max} \\ \leq (e ^ {-1/m}) ^ t F_{max} \] This goes below 1 when \( t = m \log F_{max} \). So the total complexity is \( O(m^2 \log n \log F_{max}) \).

Bipartite matching

Given G, create network N as follows. V' = L union R union {s, t}. E' = original edges, plus edges of weight 1 from s to L and from R to t. The maximum flow of the graph is the value of the maximum matching.