Almost stable matchings in the Roommates problem David
“Almost stable” matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of Computer Science and Information Theory Budapest University of Technology and Economics, Hungary David Manlove Department of Computing Science University of Glasgow, UK 1
Stable Roommates Problem (SR) D Gale and L Shapley, “College Admissions and the Stability of Marriage”, American Mathematical Monthly, 1962 Input: Output: 2 n agents; each agent ranks all 2 n-1 other agents in strict order a stable matching A matching is a set of n disjoint pairs of agents A blocking pair of a matching M is a pair of agents {p, q} M such that: • p prefers q to his partner in M, and • q prefers p to his partner in M A matching is stable if it admits no blocking pair 2
Example SR Instance (1) Example SR instance I 1: 2: 3: 4: 3 4 2 1 2 3 1 3 4 1 4 2 3
Example SR Instance (1) Example SR instance I 1: 2: 3: 4: 3 4 2 1 2 3 1 3 4 1 4 2 The matching is not stable as {1, 3} blocks. Stable matching in I 1: 2: 3: 4: 3 4 2 1 2 3 1 3 4 1 4 2 4
Example SR Instance (2) Example SR instance I 2: 1: 2: 3: 4: 2 3 1 1 3 1 2 2 4 4 4 3 5
Example SR Instance (2) Example SR instance I 2: 1: 2: 3: 4: 2 3 1 1 3 1 2 2 4 4 4 3 The three matchings containing the pairs {1, 2}, {1, 3}, {1, 4} are blocked by the pairs {2, 3}, {1, 2}, {1, 3} respectively. instance I 2 has no stable matching. 6
Application: kidney exchange d 1 p 1 7
Application: kidney exchange d 1 d 2 p 1 p 2 8
Application: kidney exchange d 1 d 2 p 1 p 2 A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear 9
Application: kidney exchange d 1 d 2 p 1 p 2 (d 1 , p 1) (d 2 , p 2) A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear • Create a vertex for each donorpatient pair • Edges represent compatibility • Preference lists can take into account degrees of compatibility 10
Efficient algorithm for SR • • Knuth (1976): is there an efficient algorithm for deciding whethere exists a stable matching, given an instance of SR? Irving (1985): “An efficient algorithm for the ‘Stable Roommates’ Problem”, Journal of Algorithms, 6: 577 -595 Ø given an instance of SR, decides whether a stable matching exists; Ø if so, finds one • Algorithm is in two phases Ø Phase 1: similar to GS algorithm for the Stable Marriage problem Ø Phase 2: elimination of “rotations” 11
Empirical results 20 % soluble 82. 9 73. 1 64. 3 55. 1 45. 1 38. 8 96. 3 50 100 Experiments based on taking average of s 1 , s 2 , s 3 where sj is number of soluble instances among 10, 000 randomly generated instances, each of given size 2 n 200 500 1000 2000 4000 6000 8000 32. 2 27. 8 25. 0 23. 6 % soluble Instance 4 size Results due to Colin Sng Instance size 12
Coping with insoluble SR instances: 1. Coalition Formation Games • Generalisation of SR Ø Ø Ø • • Partition agents into sets of size 1 Notions of B-preferences / W-preferences Cechlárová and Hajduková, 1999 Cechlárová and Romero-Medina, 2001 Cechlárová and Hajduková, 2002 Example: insoluble SR instance {1, 3, 6}, {2, 4, 5} is a partition of the agents 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 13
Coalition Formation Games: B-preferences • • • Given a partition P of the agents, define P(i) to be the set containing agent i Given a set of agents S, define best(i, S) to be the best agent in S according to i ’s preferences A set of agents C is said to be a blocking coalition of P if i prefers best(i, C) to best(i, P(i)) for all i C {1, 3, 6}, {2, 4, 5} is a partition of the agents {1, 2, 3} is a blocking coalition 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 14
Coalition Formation Games: B-stability • A partition P is B-stable if it admits no blocking coalition • {1, 5, 6}, {2, 3, 4} is a B-stable partition of the agents 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 • Every CFG instance admits a B-stable partition • Such a partition may be found in linear time • Also results for W-stability 15
Coping with insoluble SR instances: 2. Stable partitions • Stable partition Ø Tan 1991 (Journal of Algorithms) Ø Generalisation of a stable matching Ø Permutation of the agents such that: 1. each agent i does not prefer -1(i) to (i) 2. if i prefers j to -1(i) then j does not prefer i to -1(j) • Example: = 1, 4, 6 , 2, 3, 5 (i) shown in green -1(i) shown in red E. g. 4 prefers 5 to -1(4)=1 5 prefers -1(5)=3 to 4 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 16
Properties of stable partitions • Every SR instance admits a stable partition • A stable partition can be found in linear time • There may be more than one stable partition, but: Ø any two stable partitions contain exactly the same odd cycles • An SR instance I is insoluble if and only if a stable partition in I contains an odd cycle • Any stable partition containing only even cycles can be decomposed into a stable matching Ø Tan 1991 (Journal of Algorithms) • A stable partition can be used to find a maximum matching such that the matched pairs are stable within themselves Ø Tan 1991 (International Journal of Computer Mathematics) 17
Maximum matching where the matched pairs are stable within themselves • Given a stable partition • Delete a single agent from each odd cycle • Decompose each even cycles into pairs • Example 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 = 1, 4, 6 , 2, 3, 5 18
Maximum matching where the matched pairs are stable within themselves • Given a stable partition • Delete a single agent from each odd cycle • Decompose each even cycles into pairs • Example 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 = 1, 4, 6 , 2, 5 19
Maximum matching where the matched pairs are stable within themselves • Given a stable partition • Delete a single agent from each odd cycle • Decompose each even cycles into pairs • Example 1: 2: 3: 4: 5: 6: 2 3 4 2 6 3 5 6 2 1 4 5 2 5 3 4 3 1 6 1 4 5 6 4 1 3 1 2 = 1, 4 , 2, 5 20
Maximum matching where the matched pairs are stable within themselves • Given a stable partition • Delete a single agent from each odd cycle • Decompose each even cycles into pairs • Example 1: 2: 4: 5: 2 5 2 2 5 1 5 4 4 4 1 1 3 6 3 • Matching M={{1, 4}, {2, 5}} is stable in the smaller instance • A maximum matching such that the matched pairs are stable within themselves can be constructed in linear time from a stable partition 21
Coping with insoluble SR instances: 3. “Almost stable” matchings • The following instance I 3 of SR is insoluble 1: 2: 3: 4: 5: 6: • 2 3 1 5 6 4 3 1 2 6 4 5 5 6 4 2 3 1 6 4 5 3 1 2 4 5 6 1 2 3 • Stable partition 1, 2, 3 , 4, 5, 6 Let bp(M) denote the set of blocking pairs of matching M 1: 2: 3: 4: 5: 6: 2 3 1 5 6 4 3 1 2 6 4 5 5 6 4 2 3 1 6 4 5 3 1 2 |bp(M 1)|=2 4 5 6 1 2 3 1: 2: 3: 4: 5: 6: 2 3 1 5 6 4 3 1 2 6 4 5 5 6 4 2 3 1 6 4 5 3 1 2 |bp(M 2)|=12 4 5 6 1 2 3 22
Coping with insoluble SR instances: Method 2 vs method 3 • • • Recall the insoluble instance I 2 of SR: 2 3 1 1 3 1 2 2 4 4 4 3 Tan’s algorithm for method 2 constructs a matching of size 1, e. g. M 1={{1, 2}} 1: 2 3 4 2: 3 1 4 Any such matching M has |bp(M)| 2 3: 4: 1: 2: 3: 4: • 1: 2: 3: 4: 2 3 1 1 3 1 2 2 4 4 4 3 • 1 1 2 2 4 3 Method 3: consider e. g. M 2={{1, 2}, {3, 4}} • |bp(M 2)|=1 So |M 2|=2|M 1| and |bp(M 2)|=½|bp(M 1)| 23
Hardness results for SR • Let I be an SR instance • Define bp(I)=min{|bp(M)|: M is a matching in I} • • Define MIN-BP-SR to be problem of computing bp(I), given an SR instance I Theorem 1: MIN-BP-SR is not approximable within n½- , for any > 0, unless P=NP Define EXACT-BP-SR to be problem of deciding whether I admits a matching M such that |bp(M)|=K, given an integer K Theorem 2: EXACT-BP-SR is NP-complete 24
Outline of the proof • • Using a “gap introducing” reduction from EXACT-MM Given a cubic graph G=(V, E) and an integer K, decide whether G admits a maximal matching of size K Ø Ø • • • EXACT-MM is NP-complete, by transformation from MIN-MM (Minimization version), which is NP-complete for cubic graphs Horton and Kilakos, 1993 Create an instance I of SR with n agents If G admits a maximal matching of size K then I admits a matching with p blocking pairs, where p=|V| If G admits no maximal matching of size K, then bp(I) > p n½- 25
Preference lists with ties • • Let I be an instance of SR with ties Problem of deciding whether I admits a stable matching is complete Ø Ronn, Journal of Algorithms, 1990 NP- Ø Irving and Manlove, Journal of Algorithms, 2002 • • Can define MIN-BP-SRT analogously to MIN-BP-SR Theorem 3: MIN-BP-SRT is not approximable within n 1 - , for any > 0, unless P=NP, even if each tie has length 2 and there is at most one tie per list • Define EXACT-BP-SRT analogously to EXACT-BP-SR • Theorem 4: EXACT-BP-SRT is NP-complete for each fixed K 0 26
Polynomial-time algorithm • • Theorem 5: EXACT-BP-SR is solvable in polynomial time if K is fixed Algorithm also works for possibly incomplete preference lists Given an SR instance I where m is the total length of the preference lists, O(m. K+1) algorithm finds a matching M where |bp(M)|=K or reports that none exists Idea: 1. For each subset B of agent pairs {ai, aj} where |B|=K 2. Try to construct a matching M in I such that bp(M)=B • Step 1: O(m. K) subsets to consider • Step 2: O(m) time 27
Outline of the algorithm • Let {ai, aj} B where |B|=K • Preference list of ai : … … ak … … aj … … • If {ai, aj} bp(M) then {ai, ak} M • Delete {ai, ak} but must not introduce new blocking pairs • Preference list of ak : … … ai … … aj … … • If {ai, ak} B then {aj, ak} M • Delete {ak, aj} and mark ak • Check whethere is a stable matching M in reduced SR instance such that all marked agents are matched in M 28
Interpolation of |bp(M)| • • Clearly |bp(M)| ½(2 n)(2 n-2)=2 n(n-1) for any matching M Is |bp(M)| an interpolating invariant? That is, given an SR instance I, if I admits matchings M 1, M 2 such that |bp(M 1) |=k and |bp(M 2)|=k+2, is there a matching M 3 in I such that |bp(M 3)|=k+1 ? Not in general! Ø 1: 2: 3: 4: 5: 6: 2 3 1 5 6 4 3 1 2 6 4 5 5 6 4 2 3 1 6 4 5 3 1 2 4 5 6 1 2 3 Instance I 3 admits 15 matchings: • 9 admit 2 blocking pairs • 2 admit 6 blocking pairs • 3 admit 8 blocking pairs • 1 admits 12 blocking pairs 29
Upper and lower bounds for bp(I) • As already observed, bp(I) 2 n(n-1) • Let be a stable partition in an SR instance I • Let C denote the number of odd cycles of length 3 in • Upper bound: bp(I) 2 C(n-1) • Lower bound: bp(I) C/2 30
Open problems 1. Is there an approximation algorithm for MIN-BP-SR that has performance guarantee o(n 2)? Ø An upper bound is 2 C(n-1) 2. Are the upper/lower bounds for bp(I) tight? 3. Determine values of kn and obtain a characterisation of In such that In is an SR instance with 2 n agents in which bp(In)=kn and kn = max{bp(I) : I is an SR instance with 2 n agents} 31
Further details Acknowledgements - individuals • Katarína Cechlárová • Rob Irving Acknowledgements - funding • Centre for Applied Mathematics and Computational Physics, Budapest University of Technology and Economics • Hungarian National Science Fund (grant OTKA F 037301) • EPSRC (grant GR/R 84597/01) • RSE / Scottish Executive Personal Research Fellowship • RSE International Exchange Programme More information D. J. Abraham, P. Biró, D. F. M. , “Almost stable” matchings in the Roommates problem, to appear in Proceedings of WAOA ’ 05: the 3 rd Workshop on Approximation and Online Algorithms, Lecture Notes in Computer Science, Springer-Verlag, 2005 32
- Slides: 32