1 / 21

Weighted Bipartite Matching

Weighted Bipartite Matching. Lecture 4: Jan 18. Weighted Bipartite Matching. Given a weighted bipartite graph, find a matching with maximum total weight. B. A. Not necessarily a maximum size matching. Today’s Plan. Three algorithms negative cycle algorithm primal dual algorithm

hollye
Download Presentation

Weighted Bipartite Matching

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Weighted Bipartite Matching Lecture 4: Jan 18

  2. Weighted Bipartite Matching Given a weighted bipartite graph, find a matching with maximum total weight. B A Not necessarily a maximum size matching.

  3. Today’s Plan • Three algorithms • negative cycle algorithm • primal dual algorithm • augmenting path algorithm • Applications

  4. First Algorithm Find maximum weight perfect matching 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*

  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. First Algorithm Key: M is maximum  no negative cycle How to find efficiently?

  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. 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. 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. 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. 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. 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. Primal Dual Algorithm Minimum weighted vertex cover >= Maximum weighted matching • Consider the subgraph formed by tight edges (the equality subgraph). • If there is a tight perfect matching, done. • Otherwise, there is a vertex cover. • Decrease weighted cover to create more tight edges, and repeat.

  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. Quick Summary • First algorithm, negative cycle, useful idea to consider symmetric difference • Augmenting path algorithm, useful algorithmic technique • Primal dual algorithm, a very general framework • Why primal dual? • How to come up with weighted vertex cover? • Reduction from weighted case to unweighted case

  16. Faster Algorithms

  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. Application of Bipartite Matching Isaac Darek Tom Jerry Marking Tutorials Solutions 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. Application of Bipartite Matching With Hall’s theorem, now you can determine exactly when a partial chessboard can be filled with dominos.

  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. 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.

More Related