320 likes | 341 Views
This paper explores the Stable Roommates Problem (SR), which involves finding a stable matching among a group of agents with preference lists. It discusses an efficient algorithm for deciding the existence of a stable matching and finding one if it exists. The paper also covers the application of the SR problem to kidney exchange and coping with insoluble instances using coalition formation games and stable partitions.
E N D
“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 ManloveDepartment of Computing ScienceUniversity of Glasgow, UK
Stable Roommates Problem (SR) • D Gale and L Shapley, “College Admissions and the Stability of Marriage”, American Mathematical Monthly, 1962 • Input:2nagents; each agent ranks all2n-1other agents in • strict order • Output:astable matching • Amatching is a set ofndisjoint pairs of agents • Ablocking pairof a matchingMis a pair of agents{p,q}Msuch that: • pprefersqto his partner inM, and • qpreferspto his partner inM • A matching isstableif it admits no blocking pair
Example SR Instance (1) Example SR instanceI1:1: 3 2 4 2: 4 3 1 3: 2 1 4 4: 1 3 2
The matching is not stable as {1,3} blocks. Stable matching inI1:1: 3 2 4 2: 4 3 1 3: 2 1 4 4: 1 3 2 Example SR Instance (1) Example SR instanceI1:1: 3 2 4 2: 4 3 1 3: 2 1 4 4: 1 3 2
Example SR Instance (2) Example SR instanceI2:1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3
1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 Example SR Instance (2) Example SR instanceI2:1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 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 I2 has no stable matching.
Application: kidney exchange d1 d2 p2 p1
Application: kidney exchange d1 d2 A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear p2 p1
(d1 , p1) (d2 , p2) Application: kidney exchange d1 d2 A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear p2 p1 • Create a vertex for each donor- patient pair • Edges represent compatibility • Preference lists can take into • account degrees of compatibility
Efficient algorithm for SR • Knuth (1976): is there an efficient algorithm for deciding whether there 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 instanceof 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”
Empirical results Experiments based on taking average of s1,s2,s3 where sjis number of soluble instances among 10,000randomly generated instances, each of given size 2n Results due to Colin Sng % soluble Instance size
Example: • insoluble SR instance • {1,3,6}, {2,4,5} is a • partition of the agents 1: 2 5 4 3 6 2: 3 6 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 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
1: 2 5 4 3 6 2: 3 6 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 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 iC • {1,3,6}, {2,4,5} is a partition • of the agents • {1,2,3} is a blocking coalition
1: 2 5 4 3 6 2: 3 6 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 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 • Every CFG instance admits a B-stable partition • Such a partition may be found in linear time • Also results for W-stability
1: 2 5 4 3 6 2: 3 6 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 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: • each agent i does not prefer -1(i) to (i) • 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
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)
Example 1: 2 5 4 3 6 2: 3 6 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 =1,4,6, 2,3,5 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
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 5 4 3 6 2: 3 6 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 =1,4,6, 2,5
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 5 4 36 2: 36 5 1 4 3: 4 5 2 6 1 4: 2 6 5 1 3 5: 6 2 3 4 1 6: 3 1 4 5 2 =1,4, 2,5
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 5 4 36 2: 5 1 4 4: 2 5 1 3 5: 2 4 1 • 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
1: 2 3 5 6 4 2: 3 1 6 4 5 3: 1 2 4 5 6 4: 5 6 2 3 1 5: 6 4 3 1 2 6: 4 5 1 2 3 |bp(M2)|=12 |bp(M1)|=2 1: 2 3 5 6 4 2: 3 1 6 4 5 3: 1 2 4 5 6 4: 5 6 2 3 1 5: 6 4 3 1 2 6: 4 5 1 2 3 Coping with insoluble SR instances:3. “Almost stable” matchings 1: 2 3 5 6 4 2: 3 1 6 4 5 3: 1 2 4 5 6 4: 5 6 2 3 1 5: 6 4 3 1 2 6: 4 5 1 2 3 • The following instanceI3of SR is insoluble • Stable partition 1,2,3, 4,5,6 • Letbp(M)denote the set of blocking pairs of matchingM
Tan’s algorithm for method 2 constructs a matching of size 1, e.g. M1={{1,2}} • Any such matchingMhas|bp(M)|2 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 • Method 3: consider e.g. M2={{1,2},{3,4}} • |bp(M2)|=1 Coping with insoluble SR instances:Method 2 vs method 3 • Recall the insoluble instanceI2of SR: 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 • So |M2|=2|M1| and |bp(M2)|=½|bp(M1)|
Hardness results for SR • Let Ibe 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
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) > pn½-
Preference lists with ties • Let I be an instance of SR with ties • Problem of deciding whether I admits a stable matching is NP-complete • Ronn, Journal of Algorithms, 1990 • 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 n1-, 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-SRTanalogously to EXACT-BP-SR • Theorem 4:EXACT-BP-SRT is NP-complete for each fixed K 0
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(mK+1)algorithm finds a matching M where |bp(M)|=K or reports that none exists • Idea: • For each subset B of agent pairs {ai, aj} where |B|=K • Try to construct a matching M in I such that bp(M)=B • Step 1: O(mK) subsets to consider • Step 2: O(m) time
Outline of the algorithm • Let {ai, aj}B where |B|=K • Preference list ofai : … … ak … … aj … … • If {ai, aj}bp(M) then {ai, ak}M • Delete {ai, ak} but must not introduce new blocking pairs • Preference list ofak : … … ai … … aj … … • If {ai, ak} Bthen {aj, ak}M • Delete {ak, aj}and markak • Check whether there is a stable matching M in reduced SR instance such that all marked agents are matched in M
Interpolation of |bp(M)| • Clearly|bp(M)|½(2n)(2n-2)=2n(n-1) for any matching M • Is |bp(M)| an interpolating invariant? That is, given an SR instance I, if I admits matchings M1, M2 such that |bp(M1) |=k and |bp(M2)|=k+2, is there a matching M3in I such that |bp(M3)|=k+1 ? • Not in general! 1: 2 3 5 6 4 2: 3 1 6 4 5 3: 1 2 4 5 6 4: 5 6 2 3 1 5: 6 4 3 1 2 6: 4 5 1 2 3 • Instance I3 admits 15 matchings: • 9 admit 2 blocking pairs • 2 admit 6 blocking pairs • 3 admit 8 blocking pairs • 1 admits 12 blocking pairs
Upper and lower bounds for bp(I) • As already observed,bp(I)2n(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) 2C(n-1) • Lower bound:bp(I) C/2
Open problems • Is there an approximation algorithm for MIN-BP-SR that has performance guarantee o(n2)? • An upper bound is 2C(n-1) • Are the upper/lower bounds for bp(I) tight? • Determine values of kn and obtain a characterisation of In such that In is an SR instance with 2n agents in which bp(In)=kn and kn = max{bp(I) : I is an SR instance with 2n agents}
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/R84597/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 3rd • Workshop on Approximation and Online Algorithms, Lecture Notes in • Computer Science, Springer-Verlag, 2005