Créer une présentation
Télécharger la présentation

Télécharger la présentation
## “Almost stable” matchings in the Roommates problem

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