Weighted Bipartite Matching

1 / 21

# Weighted Bipartite Matching - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Weighted Bipartite Matching' - hollye

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### 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
• augmenting path algorithm
• Applications

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*

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

First Algorithm

Key: M is maximum  no negative cycle

How to find efficiently?

Complexity
• At most nW iterations
• A negative cycle in time by Floyd Warshall
• Total running time
• Can choose minimum mean cycle to avoid W

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

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

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

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

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.

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

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

Bonus Question 2

(40%) Find a maximum weighted k-matching which

can be extended to a perfect matching.

Relation to red-blue matching?

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?

• Fingerprint matching

Application of Bipartite Matching

With Hall’s theorem, now you can determine exactly

when a partial chessboard can be filled with dominos.

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.

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.