Overview
In this chapter we discuss two fundamental problems related to graphs and networks, the
matching problem and the flow problem. We begin this chapter with a discussion of the
classical Hungarian algorithm for finding a perfect matching in a bipartite graph and
prove Hall’s classical theorem about the existence of a perfect matching in a bipartite
graph. We then discuss the Kuhn-Munkres algorithm, which utilizes the Hungarian
algorithm to compute a maximum weighted perfect matching in a weighted bipartite
Chapter Objectives
After completing the chapter the student will know:
• The basic definitions, such as matching, perfect matching, flow, cut, semipath,
augmenting semipath, etc.
• The Hungarian algorithm for computing a perfect matching in a bipartite graph
• The Kuhn-Munkres algorithm for computing a maximum weighted perfect
matching in a weighted complete bipartite graph.
• The Max-Flow Min-Cut theorem
Instructor Notes
The instructor may wish to point out that the technique of using augmenting paths that was
applied in the Hungarian algorithm for finding a perfect matching in a bipartite graph motivates