Read this lesson as text
Applications of Network Flow
Graph Theory · Axiom Academy
LESSON Applications of Network Flow From bipartite matching to baseball elimination: exploring the powerful versatility of max flow algorithms 1. Bipartite Matching as Max Flow The maximum bipartite matching problem asks: given two sets of vertices with edges between them, what's the largest set of edges with no shared vertices? This fundamental problem appears in job assignments, dating services, and resource allocation. Given bipartite graph G = (L ∪ R, E) with left vertices L and right vertices R: Add source s with edges to all vertices in L (capacity 1) Add sink t with edges from all vertices in R (capacity 1) Direct all edges from L to R (capacity 1) Maximum flow value = Maximum matching size 3 workers W1, W2, W3 and 3 jobs J1, J2, J3 . W1 can do J1 or J2, W2 can do J1 or J3, W3 can do J2 or J3. The max flow gives the maximum number of workers that can be assigned jobs. How many paths can we pack between two vertices s and t without sharing any edges? This question is crucial for network reliability—if individual connections can fail, multiple disjoint paths provide redundancy. The maximum number of edge-disjoint paths from s to t equals the minimum number of edges whose removal disconnects s from t (the minimum edge cut). Reduction to Max Flow: Set all edge capacities to 1. The maximum flow value equals the number of edge-disjoint paths. Each unit of flow corresponds to one path, and unit capacities ensure no edge is used twice.
This is the written version of the interactive lesson above. See the full Graph Theory course.