This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: ENGRI 115 Engineering Applications of OR Fall 2007 Maximum Matchings in Bipartite Graphs Lab 6 Name: Objectives: Show how to find maximum cardinality matching in bipartite graphs using maximum flows. Demonstrate the Augmenting Path Algorithm for finding a maximum cardinality matching. Key Ideas: bipartite graphs matching, maximum matching, perfect matching alternating path, augmenting path Prelab Exercise: Please write your answer on the back of this sheet (or an attached paper). A matching in a bipartite graph is called perfect if the matching edges cover all the nodes. Observe that we can have a perfect matching only if the number of nodes in the two parts of the node set is the same. The following classic story was adapted from Matching Theory, by Lovasz and Plummer . In the court of King Arthur there dwelt 150 knights and 150 ladies-in-waiting. Arthur decided to marry them all off, but the trouble was that whatever pairing he tried there were always some couples that didnt like each other. So he summoned Merlin, the Wizard and ordered him to find a pairing in which every pair was willing to marry. Merlin had supernatural powers (or just knew a little about optimization, who knows) and he saw at once that no such pairing was possible. How could he convince the king (who would surely order Merlin to be beheaded if the wizard started babbling about bipartite graphs, flows and cuts)? Below is a simple example with 5 ladies and 5 knights. Convince yourself that there is no perfect matching in this case. How could you convince King Arthur about this? (Lines join nodes corresponding to ladies and knights who like each other.) Ladies Knights 1 #1 - Konigs Theorem First try your hand on the following problem, just to make sure that you know all the fine points of the Alternating Path Algorithm for finding a maximum matching in a bipartite graph. There are 6 individuals ( A, B, C, D, E, F ) and 8 jobs ( 1, 2, 3, 4, 5, 6, 7, 8 ), below is a list indi- cating who is qualified to do which job. Assign individuals to jobs (each person can get at most one job and each job can have at most one person assigned to it), so that the number of assignments is maximized. Draw a graph model of the problem next to the data. A can do 1, 2, 3, 4, 6 B can do 2, 5, 8 C can do 2, 5 D can do 2, 7, 8 E can do 5, 8 F can do 1, 2, 3, 4, 7 Our goal is to find a maximum matching (a set of mutually non-adjacent edges whose size is as big as possible) in the above graph. We use the Alternating Path Algorithm which is the adaptation of the labeling...
View Full Document
This note was uploaded on 06/01/2008 for the course ENGRI 1101 taught by Professor Trotter during the Spring '05 term at Cornell University (Engineering School).
- Spring '05