Classified Matchings under one sided preferences Popular matchings: characterization Abraham et al. (2005) A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum matching on the rank-1 edges. Every a ∈ A is matched to either its f ( a ) or s ( a ) f ( a ) - set of all rank-1 posts of a . s ( a ) - next most preferred posts of a . If such a matching does not exist, no popular matching exists. 12 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 13 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 13 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. 13 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add ( a , s ( a )) edges. 13 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add ( a , s ( a )) edges. 5 Augment M 1 to compute a maximum matching M . 13 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add ( a , s ( a )) edges. 5 Augment M 1 to compute a maximum matching M . 6 If M matches all applicants, declare popular, else no popular matching. 13 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add ( a , s ( a )) edges. 5 Augment M 1 to compute a maximum matching M . 6 If M matches all applicants, declare popular, else no popular matching. Steps 3 & 4: Dulmage Mendelsohn Decomposition 13 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. a 1 p 1 p 2 a 2 p 3 a 3 a 4 p 4 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. a 1 p 1 p 2 a 2 p 3 a 3 a 4 p 4 M is a maximum matching 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. a 1 p 1 p 2 a 2 ( E ) a 3 p 3 ( E ) a 4 p 4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. a 1 p 1 ( O ) p 2 ( O ) a 2 ( E ) a 3 p 3 ( E ) a 4 p 4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path. 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) a 4 p 4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path. 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) a 4 p 4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path. 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) ( U ) a 4 p 4 ( U ) M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path. U : unreachable from unmatched vertex via length alt. path. 14 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) ( U ) a 4 p 4 ( U ) 15 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) ( U ) a 4 p 4 ( U ) E , O and U invariant of M 15 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) ( U ) a 4 p 4 ( U ) E , O and U invariant of M For any maximum matching: 15 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) ( U ) a 4 p 4 ( U ) E , O and U invariant of M For any maximum matching: Every O and U vertex is matched. 15 / 27
Classified Matchings under one sided preferences Dulmage Mendelsohn decomposition DM (1958) Partition of vertices into three sets w.r.t. a maximum matching. ( E ) a 1 p 1 ( O ) ( O ) a 2 p 2 ( E ) ( E ) a 3 p 3 ( E ) ( U ) a 4 p 4 ( U ) E , O and U invariant of M For any maximum matching: Every O and U vertex is matched. No OO , OU edges are matched. 15 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 16 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. OO , OU edges. 4 Even applicants add ( a , s ( a )) edges. 5 Augment M 1 to compute a maximum matching M . 6 If M matches all applicants, declare popular, else no popular matching. 16 / 27
Classified Matchings under one sided preferences Computing popular matchings Abraham et al. (2005); Manlove and Sng (2006) Overall idea: Reduction to two maximum matching computations. 1 Construct G 1 : every a adds ( a , f ( a )) edges. G 1 is graph on rank-1 edges. 2 Compute a maximum matching M 1 in G 1 . 3 Delete “unnecessary” rank-1 edges. OO , OU edges. 4 Even applicants add ( a , s ( a )) edges. 5 Augment M 1 to compute a maximum matching M . 6 If M matches all applicants, declare popular, else no popular matching. Step 4: s ( a ) – most preferred even post in G 1 . 16 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 a 1 p 1 2 1 1 p 2 a 2 1 1 2 a 3 p 3 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 a 1 p 1 2 1 1 p 2 a 2 1 1 2 a 3 p 3 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 1 p 1 p 1 a 1 a 1 2 1 1 1 1 a 2 p 2 a 2 p 2 1 1 1 1 2 p 3 a 3 p 3 a 3 Graph G 1 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 a 1 p 1 1 a 1 p 1 2 1 1 p 2 1 a 2 p 2 a 2 1 1 1 1 a 3 p 3 2 a 3 p 3 Max. matching M 1 in G 1 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 1 p 1 ( E ) a 1 p 1 ( O ) a 1 2 1 1 1 a 2 p 2 ( O ) a 2 p 2 ( E ) 1 1 1 1 2 a 3 p 3 ( E ) a 3 p 3 ( E ) Label vertices 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 1 ( E ) a 1 p 1 ( O ) p 1 a 1 2 2 1 1 1 ( O ) a 2 p 2 ( E ) a 2 p 2 1 1 1 1 2 2 ( E ) a 3 p 3 ( E ) p 3 a 3 Add ( a , s ( a )) edges 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 1 p 1 ( E ) a 1 p 1 ( O ) a 1 2 2 1 1 1 ( O ) a 2 p 2 ( E ) a 2 p 2 1 1 1 1 2 2 ( E ) a 3 p 3 ( E ) p 3 a 3 Augment M 1 to get M ′ 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 1 a 1 p 1 ( E ) a 1 p 1 ( O ) 2 2 1 1 1 a 2 p 2 ( O ) a 2 p 2 ( E ) 1 1 1 1 2 2 a 3 p 3 ( E ) a 3 p 3 ( E ) M ′ M a 1 - - M ′ is not popular a 2 - - a 3 ✓ - 17 / 27
Classified Matchings under one sided preferences Is deletion necessary? 1 1 p 1 a 1 ( E ) a 1 p 1 ( O ) 2 2 1 1 1 a 2 p 2 ( O ) a 2 p 2 ( E ) 1 1 1 1 2 2 a 3 p 3 ( E ) a 3 p 3 ( E ) Deletion of OO , OU edges is crucial! 17 / 27
Classified Matchings under one sided preferences Back to our problem 18 / 27
Classified Matchings under one sided preferences Back to our problem Input : 1 2 1 p 1 a 1 A set of applicants A . 2 A set of posts P . Applicants have preferences over a 2 a 3 subset in P . 1 Posts have quotas. 1 2 2 Posts have laminar classes. 1 p 2 a 2 Goal : Compute a popular matching of applicants to posts (if one exists). 18 / 27
Classified Matchings under one sided preferences Laminar classified popular matchings 19 / 27
Classified Matchings under one sided preferences Classified matchings: challenges 1 a 1 p 1 (2) Deal with capacitated matchings. a 3 a 2 p 2 (2) 1 M 20 / 27
Classified Matchings under one sided preferences Classified matchings: challenges 1 a 1 p 1 (2) Deal with capacitated matchings. a 3 Manlove and Sng use cloning. Paluch defined good paths. a 2 p 2 (2) 1 M 20 / 27
Classified Matchings under one sided preferences Classified matchings: challenges 1 a 1 p 1 (2) Deal with capacitated matchings. a 3 Manlove and Sng use cloning. Paluch defined good paths. Both techniques do not work for classifications. a 2 p 2 (2) 1 M 20 / 27
Classified Matchings under one sided preferences Classified matchings: challenges 1 a 1 p 1 (2) Deal with capacitated matchings. a 3 Manlove and Sng use cloning. Paluch defined good paths. Both techniques do not work for classifications. a 2 p 2 (2) Maximum matching M not 1 feasible. M 20 / 27
Classified Matchings under one sided preferences Classified matchings: challenges 1 a 1 p 1 (2) Deal with capacitated matchings. a 3 Manlove and Sng use cloning. Paluch defined good paths. Both techniques do not work for classifications. a 2 p 2 (2) Maximum matching M not 1 feasible. M Use max-flow and min-cut properties! 20 / 27
Classified Matchings under one sided preferences Properties of max-flow Let H be any flow network and f be a max-flow in H . S = { v | is reachable from s in H f } = { v | v can reach t in H f } T = { v | v / ∈ T ∪ S } U 21 / 27
Classified Matchings under one sided preferences Properties of max-flow Let H be any flow network and f be a max-flow in H . S = { v | is reachable from s in H f } = { v | v can reach t in H f } T = { v | v / ∈ T ∪ S } U ( S , T ∪ U ) is a min-s-t-cut in H 21 / 27
Classified Matchings under one sided preferences Properties of max-flow Let H be any flow network and f be a max-flow in H . S = { v | is reachable from s in H f } = { v | v can reach t in H f } T = { v | v / ∈ T ∪ S } U ( S , T ∪ U ) is a min-s-t-cut in H Known Facts: Forward edges ( S , T ∪ U ) : saturated in every max-flow. Reverse edges ( T ∪ U , S ) : zero flow in every max-flow. 21 / 27
Classified Matchings under one sided preferences Properties of max-flow a f s c d e t g b H S = { v | is reachable from s in H f } T = { v | v can reach t in H f } = { v | v / ∈ T ∪ S } U 22 / 27
Classified Matchings under one sided preferences Properties of max-flow a f s c d e t g b H f S = { v | is reachable from s in H f } T = { v | v can reach t in H f } = { v | v / ∈ T ∪ S } U 22 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ Proof : x ∈ S f and x ∈ T f ′ ∪ U f ′ 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ Proof : x ∈ S f and x ∈ T f ′ ∪ U f ′ x be the nearest such node from s in H f . 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ Proof : x ∈ S f and x ∈ T f ′ ∪ U f ′ x be the nearest such node from s in H f . S f T f ∪ U f y s x H f 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ Proof : x ∈ S f and x ∈ T f ′ ∪ U f ′ x be the nearest such node from s in H f . T f ∪ U f S f S f ′ T f ′ ∪ U f ′ y y s x s x H f ′ H f ( y , x ) ∈ H ( x , y ) ∈ H 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ Proof : x ∈ S f and x ∈ T f ′ ∪ U f ′ x be the nearest such node from s in H f . S f T f ∪ U f S f ′ T f ′ ∪ U f ′ y s x y s x H f ′ H f ( y , x ) ∈ H = ⇒ f ( y , x ) = f ′ ( y , x ) = c ( y , x ). ⇒⇐ ( x , y ) ∈ H 23 / 27
Classified Matchings under one sided preferences Properties of max-flow The sets S , T and U are invariant of the max-flow f . (i) x ∈ S f ⇐ ⇒ x ∈ S f ′ Proof : x ∈ S f and x ∈ T f ′ ∪ U f ′ x be the nearest such node from s in H f . S f T f ∪ U f S f ′ T f ′ ∪ U f ′ y s x y s x H f ′ H f ( y , x ) ∈ H = ⇒ f ( y , x ) = f ′ ( y , x ) = c ( y , x ). ⇒⇐ ( x , y ) ∈ H = ⇒ f ( x , y ) = f ′ ( x , y ) = 0. ⇒⇐ 23 / 27
Classified Matchings under one sided preferences Classified popular matchings: characterization A matching M is popular if no matching beats it. 24 / 27
Classified Matchings under one sided preferences Classified popular matchings: characterization A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f ( a ) or s ( a ). 24 / 27
Classified Matchings under one sided preferences Classified popular matchings: characterization A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f ( a ) or s ( a ). f ( a ) - set of all rank-1 posts of a . s ( a ) - defined using flow network on rank-1 edges. 24 / 27
Classified Matchings under one sided preferences Classified popular matchings: characterization A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f ( a ) or s ( a ). f ( a ) - set of all rank-1 posts of a . s ( a ) - defined using flow network on rank-1 edges. If such a matching does not exist, no popular matching exists. 24 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 2 Compute a maximum flow f 1 in H 1 . 3 Delete ( T ∪ U , S ) edges in H 1 ( f 1 ). 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 2 Compute a maximum flow f 1 in H 1 . 3 Delete ( T ∪ U , S ) edges in H 1 ( f 1 ). Ensures that augmentation preserves max. card. on rank-1. 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 2 Compute a maximum flow f 1 in H 1 . 3 Delete ( T ∪ U , S ) edges in H 1 ( f 1 ). Ensures that augmentation preserves max. card. on rank-1. 4 For every a ∈ S , add ( a , s ( a )) edge. s ( a ) is the most preferred post p ∈ T in H 1 ( f 1 ). 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 2 Compute a maximum flow f 1 in H 1 . 3 Delete ( T ∪ U , S ) edges in H 1 ( f 1 ). Ensures that augmentation preserves max. card. on rank-1. 4 For every a ∈ S , add ( a , s ( a )) edge. s ( a ) is the most preferred post p ∈ T in H 1 ( f 1 ). 5 Augment f 1 to obtain f 2 . Let M be matching corr. to f 2 . 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 2 Compute a maximum flow f 1 in H 1 . 3 Delete ( T ∪ U , S ) edges in H 1 ( f 1 ). Ensures that augmentation preserves max. card. on rank-1. 4 For every a ∈ S , add ( a , s ( a )) edge. s ( a ) is the most preferred post p ∈ T in H 1 ( f 1 ). 5 Augment f 1 to obtain f 2 . Let M be matching corr. to f 2 . 6 If M matches all applicants, declare popular, else no popular matching. 25 / 27
Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 1 Construct H 1 : every a adds ( a , f ( a )) edges. 2 Compute a maximum flow f 1 in H 1 . 3 Delete ( T ∪ U , S ) edges in H 1 ( f 1 ). Ensures that augmentation preserves max. card. on rank-1. 4 For every a ∈ S , add ( a , s ( a )) edge. s ( a ) is the most preferred post p ∈ T in H 1 ( f 1 ). 5 Augment f 1 to obtain f 2 . Let M be matching corr. to f 2 . 6 If M matches all applicants, declare popular, else no popular matching. An O ( | A | · | E | ) time algorithm. 25 / 27
Recommend
More recommend