Download presentation
Presentation is loading. Please wait.
Published byJoshua McBride Modified over 9 years ago
1
1 Weighted Bipartite Matching Lecture 4: Jan 18
2
2 Weighted Bipartite Matching Given a weighted bipartite graph, find a matching with maximum total weight. Not necessarily a maximum size matching. A B
3
3 Today’s Plan Three algorithms negative cycle algorithm primal dual algorithm augmenting path algorithm Applications
4
4 First Algorithm How to know if a given matching M is optimal? Idea: Imagine there is a larger matching M* and consider the union of M and M* Find maximum weight perfect matching
5
5 First Algorithm Orient the edges (edges in M go up, others go down) edges in M having positive weights, otherwise negative weights Then M is maximum if and only if there is no negative cycles
6
6 First Algorithm Key: M is maximum no negative cycle How to find efficiently?
7
7 Complexity At most nW iterations A negative cycle in time by Floyd Warshall Total running time Can choose minimum mean cycle to avoid W
8
8 Augmenting Path Algorithm Orient the edges (edges in M go up, others go down) edges in M having positive weights, otherwise negative weights Find a shortest path M-augmenting path at each step
9
9 Augmenting Path Algorithm Theorem: each matching is an optimal k-matching. Let the current matching be M Let the shortest M-augmenting path be P Let N be a matching of size |M|+1
10
10 Complexity At most n iterations A shortest path in time by Bellman Ford Total running time Can be speeded up by using Dijkstra O(m + nlogn) Kuhn, Hungarian method
11
11 Primal Dual Algorithm What is an upper bound of maximum weighted matching? What is a generalization of minimum vertex cover? weighted vertex cover: Minimum weighted vertex cover >= Maximum weighted matching
12
12 Primal Dual Algorithm Minimum weighted vertex cover >= Maximum weighted matching Primal Dual Maintain a weighted matching M Maintain a weighted vertex cover y Either increase M or decrease y until they are equal.
13
13 Primal Dual Algorithm Minimum weighted vertex cover >= Maximum weighted matching 1.Consider the subgraph formed by tight edges (the equality subgraph). 2.If there is a tight perfect matching, done. 3.Otherwise, there is a vertex cover. 4.Decrease weighted cover to create more tight edges, and repeat.
14
14 Complexity Augment at most n times, each O(m) Decrease weighted cover at most m times, each O(m) Total running time Egrevary, Hungarian method
15
15 Quick Summary 1.First algorithm, negative cycle, useful idea to consider symmetric difference 2.Augmenting path algorithm, useful algorithmic technique 3.Primal dual algorithm, a very general framework 1.Why primal dual? 2.How to come up with weighted vertex cover? 3.Reduction from weighted case to unweighted case
16
16 Faster Algorithms
17
17 Bonus Question 2 (40%) Find a maximum weighted k-matching which can be extended to a perfect matching. Relation to red-blue matching?
18
18 Application of Bipartite Matching Jerry Marking DarekTomIsaac TutorialsSolutions Newsgroup Job Assignment Problem: Each person is willing to do a subset of jobs. Can you find an assignment so that all jobs are taken care of? Ad-auction, Google, online matching Fingerprint matching
19
19 Application of Bipartite Matching With Hall’s theorem, now you can determine exactly when a partial chessboard can be filled with dominos.
20
20 Application of Bipartite Matching Latin Square: a nxn square, the goal is to fill the square with numbers from 1 to n so that: Each row contains every number from 1 to n. Each column contains every number from 1 to n.
21
21 Application of Bipartite Matching Now suppose you are given a partial Latin Square. Can you always extend it to a Latin Square? With Hall’s theorem, you can prove that the answer is yes.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.