classified matchings under one sided preferences
play

Classified Matchings under one sided preferences Meghana Nasre IIT - PowerPoint PPT Presentation

Classified Matchings under one sided preferences Classified Matchings under one sided preferences Meghana Nasre IIT Madras Recent Trends in Algorithms NISER, Bhubaneshwar Feb 07, 2019 joint work with Prajakta Nimbhorkar (CMI) and Nada Pulath


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

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

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

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

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

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

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

  34. Classified Matchings under one sided preferences Back to our problem 18 / 27

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

  36. Classified Matchings under one sided preferences Laminar classified popular matchings 19 / 27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  55. Classified Matchings under one sided preferences Classified popular matchings: characterization A matching M is popular if no matching beats it. 24 / 27

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

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

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

  59. Classified Matchings under one sided preferences Computing classified popular matchings Overall idea: Reduction to two maximum flow computations. 25 / 27

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

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

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

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

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

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

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