1 / 52

Weighted Matchings & Applications in Scientific Computing

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

havyn
Download Presentation

Weighted Matchings & Applications in Scientific Computing

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

  2. Contents: • Motivation • Matchings • Maximum Cardinality Matching • Maximum Edge-Wt Matching • Maximum Vertex-Wt Matching • Approximation Algorithms

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

  4. 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 H1 R2 H2

  5. Another Real-life Problem • Google Ad-Word Auction: 3 2 5 1 4

  6. What is the Big Deal? • Millions of Advertisers • Billions of Key-words • Probability of a “Click” • Split-second responses (Online) • Daily budgets • Solution: Approximation !!

  7. Contents: • Motivation • Matchings • Maximum Cardinality Matching • Maximum Edge-Wt Matching • Maximum Vertex-Wt Matching • Approximation Algorithms

  8. 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 V1 V2 R1 H1 R2 H2 V3

  9. 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 V1 V2 R1 H1 R2 H2 V3

  10. Classification

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

  12. Breadth-first Search (Queue)

  13. Depth-first Search (Stack)

  14. How to Compute a Matching? • Alternating (a & b) / Augmenting (c) paths: • Symmetric difference:

  15. 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’=MP, 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 uV 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 MP either. • Lemma 3: A matching M in a graph G is a maximum matching if and only if there exist noM-augmenting paths in G.

  16. How to Find Augmenting Paths? 1. Single-Source Single-Path

  17. …Finding Augmenting Paths? 2. Multiple-Source Single-Path

  18. …Finding Augmenting Paths? 3. Multiple-Source Multiple-Path

  19. Nonbipartite Graphs? 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. * www.cs.brown.edu/courses/cs250/culture.html

  20. “Eureka, you shrink!”

  21. What is hard?

  22. Contents: • Motivation • Matchings • Maximum Cardinality Matching • Maximum Edge-Wt Matching • Maximum Vertex-Wt Matching • Approximation Algorithms

  23. Basic Algorithm for MCM

  24. Advanced Algorithm for MCM

  25. A Survey of Algorithms for MCM

  26. Contents: • Motivation • Matchings • Maximum Cardinality Matching • Maximum Edge-Wt Matching • Maximum Vertex-Wt Matching • Approximation Algorithms

  27. Primal-dual Formulation for MEM • Intuition:

  28. Primal-dual Formulation for MEM

  29. An Algorithm for MEM

  30. Power of Data Structures Weighted Matching for Bipartite Graphs

  31. A Survey of Algorithms for MEM

  32. Contents: • Motivation • Matchings • Maximum Cardinality Matching • Maximum Edge-Wt Matching • Maximum Vertex-Wt Matching • Approximation Algorithms

  33. Why Vertex-weighted? The Sparsest-Basis Problem

  34. How does this work?

  35. Decomposition of MVM

  36. Algorithm: Global-Optimal

  37. Algorithm: Local-Optimal

  38. Our Contributions:

  39. Contents: • Motivation • Matchings • Maximum Cardinality Matching • Maximum Edge-Wt Matching • Maximum Vertex-Wt Matching • Approximation Algorithms

  40. Approximation Algorithms: Edge-weighted Vertex-weighted

  41. 1: Global-Max

  42. 2: LAM

  43. 3: Path-growing

  44. A survey of Approx MEM

  45. Approximation Algorithms: Edge-weighted Vertex-weighted

  46. AMVM: Global-Half

  47. AMVM: Local-Half

  48. AMVM: Global-Two-Third

  49. AMVM: Local-Two-Third

More Related