Presentation is loading. Please wait.

Presentation is loading. Please wait.

Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex.

Similar presentations


Presentation on theme: "Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex."— 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 R2 H1 H2

5 Another Real-life Problem Google Ad-Word Auction: 14 5 3 2

6

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

8 Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

9 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

10 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

11 Classification

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

13 Breadth-first Search (Queue)

14 Depth-first Search (Stack)

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

16 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 no M-augmenting paths in G.

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

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

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

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

21 “Eureka, you shrink!”

22 What is hard? BipartiteNonbipartite Cardinality Weighted

23 Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

24 Basic Algorithm for MCM

25 Advanced Algorithm for MCM

26 A Survey of Algorithms for MCM

27 Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

28 Primal-dual Formulation for MEM Intuition:

29 Primal-dual Formulation for MEM

30 An Algorithm for MEM

31 Power of Data Structures Update Variables Simple Vectors Binary Heaps Fibonacci Heaps Weighted Matching for Bipartite Graphs

32 A Survey of Algorithms for MEM

33 Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

34 Why Vertex-weighted? The Sparsest-Basis Problem

35 How does this work?

36 Decomposition of MVM

37 Algorithm: Global-Optimal

38 Algorithm: Local-Optimal

39 Our Contributions:

40 Contents: Motivation Matchings Maximum Cardinality Matching Maximum Edge-Wt Matching Maximum Vertex-Wt Matching Approximation Algorithms

41 Approximation Algorithms: Edge-weighted Vertex-weighted

42 1: Global-Max

43 2: LAM

44 3: Path-growing

45 A survey of Approx MEM

46 Approximation Algorithms: Edge-weighted Vertex-weighted

47 AMVM: Global-Half

48 AMVM: Local-Half

49 AMVM: Global-Two-Third

50 AMVM: Local-Two-Third

51 Our contributions:

52 Thank You !


Download ppt "Weighted Matchings & Applications in Scientific Computing Mahantesh Halappanavar Department of Computer Science Joint Work with: Florin Dobrian and Alex."

Similar presentations


Ads by Google