CS 411 Fall 2025 > Outline for November 12, 2025
CS 411 Fall 2025
Outline
for November 12, 2025
Outline
Maximum Bipartite Matching [L 10.3]
- Terminology
- A graph \(G\) is bipartite
if the vertex set of \(G\) can be partitioned
into two sets \(A\) and \(B\),
such that every edge of \(G\)
joins a vertex in \(A\) to a vertex in \(B\).
- Examples. A \(4\)-cycle is bipartite. A \(5\)-cycle is not.
- A matching in a graph \(G\) is a collection of edges of \(G\), no two of which share a vertex in common.
- A maximum matching is a matching with the maximum number of edges.
- We have an optimization problem: given a bipartite graph, find a maximum matching.
- A graph \(G\) is bipartite
if the vertex set of \(G\) can be partitioned
into two sets \(A\) and \(B\),
such that every edge of \(G\)
joins a vertex in \(A\) to a vertex in \(B\).
- Solving via Network Flow
- Given a bipartite graph with parts \(A\), \(B\),
form a flow network:
- Orient all edges from \(A\) to \(B\).
- Add a new vertex \(x\) (the source), with an arc from \(x\) to each vertex of \(A\).
- Add a new vertex \(y\) (the sink), with an arc from each vertex of \(B\) to \(y\).
- Give each arc capacity \(1\).
- Run Augmenting-Path Algorithm for resulting flow network.
- Arcs from original graph with nonzero flow form a maximum matching in original graph.
- Given a bipartite graph with parts \(A\), \(B\),
form a flow network:
- Direct Algorithm
- Above algorithm can be translated to context of maximum bipartite matching.
- An augmenting path is a path from a vertex in \(A\) to a vertex in \(B\) that alternates edges in matching with edges not in matching, and that starts and ends on a vertex not covered by an edge in the matching.
- Min-Max Theorem
- Translating the Max-Flow Min-Cut Theorem
into the context of maximum bipartite matching
gives the Kőnig-Egerváry Theorem
(a.k.a. Kőnig’s Theorem):
in a bipartite graph,
the maximum size of a matching is equal to the minimum
number of vertices in a vertex cover.
- A vertex cover is a set of vertices that hits every edge.
- The theorem does not hold in general for non-bipartite graphs. For example, in a \(5\)-cycle, the maximum size of a matching is \(2\), but the minimum number of vertices in a vertex cover is \(3\).
- Translating the Max-Flow Min-Cut Theorem
into the context of maximum bipartite matching
gives the Kőnig-Egerváry Theorem
(a.k.a. Kőnig’s Theorem):
in a bipartite graph,
the maximum size of a matching is equal to the minimum
number of vertices in a vertex cover.