weighted matchings & applications in scientific computing
DESCRIPTION
Weighted Matchings & Applications in Scientific Computing. Mahantesh Halappanavar Department of Computer Science. Joint Work with: Florin Dobrian and Alex Pothen. 11 JULY 2007 Graduate Student Tech Lunch ODU. Contents:. Motivation Matchings - PowerPoint PPT PresentationTRANSCRIPT
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
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
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/
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
Another Real-life Problem Google Ad-Word Auction:
1 4
5
3
2
What is the Big Deal?
Millions of Advertisers Billions of Key-words Probability of a “Click” Split-second responses (Online) Daily budgets
Solution: Approximation !!
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
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
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
Classification
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)
Breadth-first Search (Queue)
Depth-first Search (Stack)
How to Compute a Matching?
Alternating (a & b) / Augmenting (c) paths:
Symmetric difference:
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.
How to Find Augmenting Paths?
1. Single-Source Single-Path
…Finding Augmenting Paths?
2. Multiple-Source Single-Path
…Finding Augmenting Paths?
3. Multiple-Source Multiple-Path
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.
“Eureka, you shrink!”
What is hard?
Bipartite Nonbipartite
Cardinality
Weighted
)( mnO )( mnO
))log(( nnmnO ))log(( nnmnO
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
Basic Algorithm for MCM
Advanced Algorithm for MCM
A Survey of Algorithms for MCM
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
Primal-dual Formulation for MEM
Intuition:
Primal-dual Formulation for MEM
An Algorithm for MEM
Power of Data Structures
Update Variables
Simple Vectors
Binary Heaps
Fibonacci Heaps)log( nmO
)( 2nO
)log( nnmO
Weighted Matching for Bipartite Graphs
|||,| EmVn
A Survey of Algorithms for MEM
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
Why Vertex-weighted?
The Sparsest-Basis Problem
How does this work?
Decomposition of MVM
Algorithm: Global-Optimal
Algorithm: Local-Optimal
Our Contributions:
Contents:
Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms
Approximation Algorithms:
Edge-weightedVertex-weighted
1: Global-Max
2: LAM
3: Path-growing
A survey of Approx MEM
Approximation Algorithms:
Edge-weightedVertex-weighted
AMVM: Global-Half
AMVM: Local-Half
AMVM: Global-Two-Third
AMVM: Local-Two-Third
Our contributions:
Thank You !