Rank Maximal Matchings Meghana Nasre talk based on paper by R. W. Irving, T. Kavitha, K. Mehlhorn, D. Michail, K. Paluch
Outline of the Talk • Matchings – preliminaries. • Rank maximal matchings. • Problem definition. • Some intuition. • Dulmage Mendelsohn decomposition. • An efficient algo for RMM.
Matching in a graph A matching M is a set of vertex disjoint edges. v 2 v 1 v 6 v 5 v 3 v 4
Matching in a graph A matching M is a set of vertex disjoint edges. v 2 v 1 v 6 v 5 v 3 v 4 • Goal: compute a maximum sized matching.
Maximal vs. Maximum matchings A matching M is a set of vertex disjoint edges. v 2 v 1 • Maximal: M is not a strict subset v 6 of any other matching. There may exist a larger sized v 5 v 3 matching. v 4
Maximal vs. Maximum matchings A matching M is a set of vertex disjoint edges. v 2 v 1 • Maximal: M is not a strict subset v 6 of any other matching. There may exist a larger sized v 5 v 3 matching. v 4 v 2 v 1 • Maximum: Has size as large as v 6 possible amongst all matchings. v 5 Every maximum matching is v 3 maximal. v 4
Alternating paths A path having alternate matched and unmatched edges. v 2 v 1 v 6 v 5 v 3 v 4
Augmenting paths An alternating path starting and ending in free vertices. v 2 v 1 v 6 v 3 v 5 v 4
Augmenting paths An alternating path starting and ending in free vertices. v 2 v 1 v 6 v 3 v 5 v 4 • How are augmenting paths useful? • Properties of augmenting paths.
Using augmenting paths Berge’s Theorem (1957): A matching M is maximum iff M does not admit an augmenting path with respect to it. • Assume P is an augmenting path.
Using augmenting paths Berge’s Theorem (1957): A matching M is maximum iff M does not admit an augmenting path with respect to it. • Assume P is an augmenting path. • M ′ = M ⊕ P . v 2 v 2 v 1 v 1 v 6 v 6 augment M with P v 5 v 3 P v 5 v 3 P v 4 v 4 M M’
Using augmenting paths Berge’s Theorem • If no aug. path w.r.t. M ⇒ M is maximum. Proof (by contradiction) • Suppose M does not admit any aug. path and still it is not maximum. • Some other matching M ′ is maximum.
Using augmenting paths Berge’s Theorem • If no aug. path w.r.t. M ⇒ M is maximum. Proof (by contradiction) • Suppose M does not admit any aug. path and still it is not maximum. • Some other matching M ′ is maximum. • Consider M ⊕ M ′ . • Construct an aug. path w.r.t. M .
Computing max. matchings Input: G = ( V , E ) . Goal: Compute a max. cardinality matching.
Computing max. matchings Input: G = ( V , E ) . Goal: Compute a max. cardinality matching. G is bipartite. • Hopcroft and Karp (1973): O ( m √ n ) time algorithm.
Computing max. matchings Input: G = ( V , E ) . Goal: Compute a max. cardinality matching. G is bipartite. • Hopcroft and Karp (1973): O ( m √ n ) time algorithm. General graphs. • Edmond’s Blossom shrinking algorithm (1963): O ( n 4 ) time. • Micali and Vazirani (1980): O ( m √ n ) time algorithm.
Outline of the Talk • Matchings – preliminaries. • Rank maximal matchings. • Problem definition. • Some intuition. • Dulmage Mendelsohn Decomposition. • An efficient algorithm for RMM.
Rank Maximal Matchings Input: Bipartite graph G = ( A ∪ P , E ) . • Every a ∈ A has a preference ordering over the edges. p 1 2 Goal: Compute a matching p 2 a 1 1 that matches as many appli- 1 a 2 p 3 cants to their rank-1 posts, 3 2 subject to that as many to 1 a 3 p 4 rank-2 and so on. P A
Rank Maximal Matchings Input: Bipartite graph G = ( A ∪ P , E ) . • Every a ∈ A has a preference ordering over the edges. p 1 2 Goal: Compute a matching p 2 a 1 1 that matches as many appli- 1 a 2 p 3 cants to their rank-1 posts, 3 2 subject to that as many to 1 a 3 p 4 rank-2 and so on. P A Signature of matching: � x 1 , x 2 , . . . , x r +1 � . x i : the number of applicants matched to their rank-i posts.
Comparing two matchings Input: Bipartite graph G = ( A ∪ P , E ) . • Every a ∈ A has a preference ordering over the edges. M : � x 1 , x 2 , . . . , x r +1 � M ′ : � y 1 , y 2 , . . . , y r +1 � • x i : # of applicants matched to their rank-i post in M .
Comparing two matchings Input: Bipartite graph G = ( A ∪ P , E ) . • Every a ∈ A has a preference ordering over the edges. M : � x 1 , x 2 , . . . , x r +1 � M ′ : � y 1 , y 2 , . . . , y r +1 � • x i : # of applicants matched to their rank-i post in M . • M is better than M ′ w.r.t. rank-maximality ( M ≻ M ′ ) iff : • there exists an index 1 ≤ k ≤ r : • for 1 ≤ i < k , x i = y i and x k > y k .
Comparing two matchings Input: Bipartite graph G = ( A ∪ P , E ) . • Every a ∈ A has a preference ordering over the edges. M : � x 1 , x 2 , . . . , x r +1 � M ′ : � y 1 , y 2 , . . . , y r +1 � • x i : # of applicants matched to their rank-i post in M . • M is better than M ′ w.r.t. rank-maximality ( M ≻ M ′ ) iff : • there exists an index 1 ≤ k ≤ r : • for 1 ≤ i < k , x i = y i and x k > y k . • Goal: Compute a matching that has best signature.
Comparing two matchings Input: Bipartite graph G = ( A ∪ P , E ) . • Every a ∈ A has a preference ordering over the edges. M : � x 1 , x 2 , . . . , x r +1 � M ′ : � y 1 , y 2 , . . . , y r +1 � • x i : # of applicants matched to their rank-i post in M . • M is better than M ′ w.r.t. rank-maximality ( M ≻ M ′ ) iff : • there exists an index 1 ≤ k ≤ r : • for 1 ≤ i < k , x i = y i and x k > y k . • Goal: Compute a matching that has best signature. • Can be achieved by converting the problem to a max-weight matching problem with edge of rank-i given a weight of n r − i .
Greedy approach • Geedily match applicants to their rank-1, subject to this, greedily match applicants to their rank-2 and so on. p 1 2 p 2 1 a 1 1 a 2 p 3 3 2 1 a 3 p 4 P A
Greedy approach • Geedily match applicants to their rank-1, subject to this, greedily match applicants to their rank-2 and so on. p 1 p 1 2 2 p 2 p 2 1 1 a 1 a 1 1 1 a 2 p 3 a 2 p 3 3 3 2 2 1 1 a 3 p 4 a 3 p 4 P P A A • Choice of rank-1 edges forces a signature of � 2 , 0 , 1 � .
Greedy approach • Geedily match applicants to their rank-1, subject to this, greedily match applicants to their rank-2 and so on. p 1 p 1 2 2 p 2 p 2 1 1 a 1 a 1 1 1 a 2 p 3 a 2 p 3 3 3 2 2 1 1 a 3 p 4 a 3 p 4 P P A A • Optimal signature of � 2 , 1 , 0 � .
Graph on rank-1 edges p 1 1 p 2 a 1 1 a 2 p 3 1 a 3 p 4 P A G 1
Graph on rank-1 edges Some observations • For a RMM, the signature p 1 is � 2 , × , ×� 1 p 2 a 1 1 a 2 p 3 1 a 3 p 4 P A G 1
Graph on rank-1 edges Some observations • For a RMM, the signature p 1 is � 2 , × , ×� 1 p 2 a 1 • p 2 and p 4 must be matched to some rank-1 1 a 2 p 3 applicant. 1 a 3 p 4 P A G 1
Graph on rank-1 edges Some observations • For a RMM, the signature p 1 is � 2 , × , ×� 1 p 2 a 1 • p 2 and p 4 must be matched to some rank-1 1 a 2 p 3 applicant. 1 a 3 p 4 • Safe to delete higher P A ranked edges incident on p 2 and p 4 . G 1
Graph on rank-1 edges Some observations • For a RMM, the signature p 1 is � 2 , × , ×� 1 p 2 a 1 • p 2 and p 4 must be matched to some rank-1 1 a 2 p 3 applicant. 1 a 3 p 4 • Safe to delete higher P A ranked edges incident on p 2 and p 4 . G 1 • Unclear which of a 1 , a 2 gets matched to rank-1 post in an RMM.
Outline of the Talk • Matchings – preliminaries. • Rank maximal matchings. • Problem definition. • Some intuition. • Dulmage Mendelsohn decomposition. • An efficient algorithm for RMM.
Need to study DM decomposition • Which vertices remain matched in every max. matching? • Which edges can NEVER belong to a max. matching? • How to use these answers to solve RMM efficiently.
Maximum matchings – some observations a 1 p 1 a 2 • Size of max. matching: 3. • Every max. matching a 3 p 2 matches { a 3 , a 4 , p 1 , p 4 } . p 3 • No max. matching a 4 p 4 contains ( a 3 , p 1 ) . A P Vertices that some max. matching leaves unmatched: { a 1 , a 2 , p 2 , p 3 }
Sets Odd, Even, Unreachable a 1 p 1 • Bipartite graph G . a 2 • Max. matching M . a 3 p 2 • Define 3 sets of vertices: • even ( E ) p 3 a 4 • odd ( O ) p 4 • unreachable ( U ) A P
Sets Odd, Even, Unreachable a 1 p 1 • Bipartite graph G . a 2 • Max. matching M . a 3 p 2 • Define 3 sets of vertices: • even ( E ) p 3 a 4 • odd ( O ) p 4 • unreachable ( U ) A P • Even ( E ): set of vertices which are reachable via even length alternating paths from a free vertex x .
Sets Odd, Even, Unreachable a 1 p 1 • Bipartite graph G . a 2 • Max. matching M . a 3 p 2 • Define 3 sets of vertices: • even ( E ) p 3 a 4 • odd ( O ) p 4 • unreachable ( U ) A P • Even ( E ): set of vertices which are reachable via even length alternating paths from a free vertex x . • Odd ( O ): set of vertices which are reachable via odd length alternating paths from a free vertex x .
Recommend
More recommend