CS F364: Design and Analysis of Algorithms
Bipartite Matching via Max-Flow
Lecture 24
|2026-07-09
Ford-Fulkerson runtime: O(E \cdot |f^*|).
Always pick the shortest augmenting path (fewest edges) using BFS.
Problem: Given a bipartite graph G = (L \cup R, E), find a matching of maximum size.
If all capacities are integers, the max flow found by Ford-Fulkerson is integral (flow on every edge is an integer). * Since all capacities are 1, every edge has flow either 0 or 1. * The edges with flow 1 form a valid matching. ✓
Question
“What happens if we set all L \to R edge capacities to \infty instead of 1?”
Answer: The reduction still works! The unit capacities on s \to L and R \to t already enforce that each vertex is matched at most once. The internal edges don’t need the restriction.
CS F364: Design & Analysis of AlgorithmsTulasimohan Molli