Flows and Cuts

We are interested in two problems:

  • Finding a maximum flow: What is the maximum amount of flow we can send from a node to another node?
  • Finding a minimum cut: What is a minimum-weight set of edges that separates two nodes of the graph?

Flow Network

A flow network is a directed graph with two distinguished vertices: source and sink . Each edge has a nonnegative capacity .

A flow network satisfies the following constraints:

  • Capacity Constraint: For all ,
  • Flow Conservation: For all ,
  • Skew Symmetry: For all ,

Max-Flow, Min-Cut Theorem

The following are equivalent:

  1. for some cut
  2. is a maximum flow
  3. admits no augmenting paths

Applications

  • Baseball Elimination
  • Bipartite Matching