We looked at the problem of computing a maximum matching in a bipartite graph, and showed that a simple max flow formulation yields the optimal matching. As an aside, I asked you to consider the following strategy:
Take any edge that doesn’t intersect the set of edges chosen thus far.
How badly might this do ?
We also saw that Hall’s theorem, a structural way of characterizing the existence of a perfect matching in a bipartite graph, can be proved using flow principles.
Finally, we examined some variants of the max flow problem that can all be reduced to the standard formulation. These were:
- circulations: having multiple sources and sinks, each with their own specified demands
- Lower bounds on edge capacities (like lower limits on speeds on a highway)
- Vertex capacities: limiting the amount of flow through a vertex (for example, this can arise when you have a warehouse that’s storing shipments, but can only store a limited amount of material)
The first two sections are taken from Section 7.5 of the text, and the last part is taken from Section 7.7.