Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of...
-
Upload
quentin-hampton -
Category
Documents
-
view
217 -
download
2
Transcript of Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of...
![Page 1: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/1.jpg)
Weighted Matchings & Applications in Scientific Computing
Mahantesh HalappanavarDepartment of Computer Science
Joint Work with: Florin Dobrian and Alex Pothen
11 JULY 2007 Graduate Student Tech Lunch ODU
![Page 2: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/2.jpg)
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
![Page 3: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/3.jpg)
A Real-life Problem
National Resident Matching Program Provides uniform date of appointment to positions
in graduate medical education (GME) in the United States
Positions Offered*: 24,685 Applicants*: 34,975 Match Rate*: 91.9% (2007)
* http://www.nrmp.org/
![Page 4: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/4.jpg)
A Stable Marriage?
Residents prefer R1: H1 > H2 > H3 R2: H2 > H3 > H4
Hospitals prefer H1: R1 > R2 > R3 H2: R2 > R3 > R4
Ideally R1 is matched to H1 Marriage is unstable if:
Neither gets a preferred match. Example: R1 is matched to H2
R1
R2
H1
H2
![Page 5: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/5.jpg)
Another Real-life Problem
Google Ad-Word Auction:
1 4
5
3
2
![Page 6: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/6.jpg)
![Page 7: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/7.jpg)
What is the Big Deal?
Millions of Advertisers Billions of Key-words Probability of a “Click” Split-second responses (Online) Daily budgets
Solution: Approximation !!
![Page 8: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/8.jpg)
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
![Page 9: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/9.jpg)
What is a Graph?
A graph G=(V,E) is a triple: A set of vertices V, A set of edges E, and A relationship that associates each edge
with two vertices. Types: Bipartite and Nonbipartite
R1
R2
H1
H2
V1
V3
V2
![Page 10: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/10.jpg)
What is a Matching?
Given a graph G=(V,E), a matching M is a subset of edges such that no two edges are incident on the same vertex.
Types: Maximum Cardinality, Maximum Edge-weighted, and Maximum Vertex-weighted
R1
R2
H1
H2
V1
V3
V2
![Page 11: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/11.jpg)
Classification
![Page 12: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/12.jpg)
How to Search a Graph?
Basic Data Structures:
A Pseudo-Queue No duplicates (move to the back of Q)
A Pseudo-Stack No duplicates (move to the top of S)
![Page 13: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/13.jpg)
Breadth-first Search (Queue)
![Page 14: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/14.jpg)
Depth-first Search (Stack)
![Page 15: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/15.jpg)
How to Compute a Matching?
Alternating (a & b) / Augmenting (c) paths:
Symmetric difference:
![Page 16: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/16.jpg)
How does this work?
Lemma 1: Consider a graph G=(V,E), and a matching M. Let P be an augmenting path in G with respect to M. The symmetric difference, M’=MP, is a matching of cardinality (|M|+1).
Lemma 2: Suppose that in a graph G=(V,E) there exist no augmenting path starting from an unmatched vertex uV with respect to a matching M. Let P be an augmenting path with endpoints two other unmatched vertices v and w, then there is no augmenting path from u with respect to MP either.
Lemma 3: A matching M in a graph G is a maximum matching if and only if there exist no M-augmenting paths in G.
![Page 17: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/17.jpg)
How to Find Augmenting Paths?
1. Single-Source Single-Path
![Page 18: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/18.jpg)
…Finding Augmenting Paths?
2. Multiple-Source Single-Path
![Page 19: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/19.jpg)
…Finding Augmenting Paths?
3. Multiple-Source Multiple-Path
![Page 20: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/20.jpg)
Nonbipartite Graphs?
* www.cs.brown.edu/courses/cs250/culture.html
Jack Edmonds*
"Jack Edmonds has been one of the creators of the field of combinatorial optimization and polyhedral combinatorics. His 1965 paper 'Paths, Trees, and Flowers' was one of the first papers to suggest the possibility of establishing a mathematical theory of efficient combinatorial algorithms . . . " [from the award citation of the 1985 John von Neumann Theory Prize].
Reading: "A Glimpse of Heaven" taken from History of Mathematical Programming: A Collection of Personal Reminiscences.
![Page 21: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/21.jpg)
“Eureka, you shrink!”
![Page 22: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/22.jpg)
What is hard?
Bipartite Nonbipartite
Cardinality
Weighted
)( mnO )( mnO
))log(( nnmnO ))log(( nnmnO
![Page 23: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/23.jpg)
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
![Page 24: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/24.jpg)
Basic Algorithm for MCM
![Page 25: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/25.jpg)
Advanced Algorithm for MCM
![Page 26: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/26.jpg)
A Survey of Algorithms for MCM
![Page 27: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/27.jpg)
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
![Page 28: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/28.jpg)
Primal-dual Formulation for MEM
Intuition:
![Page 29: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/29.jpg)
Primal-dual Formulation for MEM
![Page 30: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/30.jpg)
An Algorithm for MEM
![Page 31: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/31.jpg)
Power of Data Structures
Update Variables
Simple Vectors
Binary Heaps
Fibonacci Heaps
)log( nmO
)( 2nO
)log( nnmO
Weighted Matching for Bipartite Graphs
|||,| EmVn
![Page 32: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/32.jpg)
A Survey of Algorithms for MEM
![Page 33: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/33.jpg)
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
![Page 34: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/34.jpg)
Why Vertex-weighted?
The Sparsest-Basis Problem
![Page 35: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/35.jpg)
How does this work?
![Page 36: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/36.jpg)
Decomposition of MVM
![Page 37: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/37.jpg)
Algorithm: Global-Optimal
![Page 38: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/38.jpg)
Algorithm: Local-Optimal
![Page 39: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/39.jpg)
Our Contributions:
![Page 40: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/40.jpg)
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
![Page 41: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/41.jpg)
Approximation Algorithms:
Edge-weightedVertex-weighted
![Page 42: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/42.jpg)
1: Global-Max
![Page 43: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/43.jpg)
2: LAM
![Page 44: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/44.jpg)
3: Path-growing
![Page 45: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/45.jpg)
A survey of Approx MEM
![Page 46: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/46.jpg)
Approximation Algorithms:
Edge-weightedVertex-weighted
![Page 47: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/47.jpg)
AMVM: Global-Half
![Page 48: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/48.jpg)
AMVM: Local-Half
![Page 49: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/49.jpg)
AMVM: Global-Two-Third
![Page 50: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/50.jpg)
AMVM: Local-Two-Third
![Page 51: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/51.jpg)
Our contributions:
![Page 52: Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.](https://reader035.fdocuments.in/reader035/viewer/2022070414/5697c0211a28abf838cd3182/html5/thumbnails/52.jpg)
Thank You !