# 1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of Computer.

## Presentation on theme: "1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of Computer."— Presentation transcript:

1 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

2 Stable Roommates Problem (SR) D Gale and L Shapley, College Admissions and the Stability of Marriage, American Mathematical Monthly, 1962 Input: 2n agents; each agent ranks all 2n-1 other agents in strict order Output: 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

3 Example SR Instance (1) Example SR instance I 1 : 1: 3 2 4 2: 4 3 1 3: 2 1 4 4: 1 3 2

4 Example SR Instance (1) Example SR instance I 1 : 1: 3 2 4 2: 4 3 1 3: 2 1 4 4: 1 3 2 Stable matching in I 1 : 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.

5 Example SR Instance (2) Example SR instance I 2 : 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3

6 Example SR Instance (2) Example SR instance I 2 : 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 I 2 has no stable matching. 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

7 Application: kidney exchange d1d1 p1p1

8 d1d1 p1p1 d2d2 p2p2

9 d1d1 p1p1 d2d2 p2p2 A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear

10 Application: kidney exchange d1d1 p1p1 d2d2 p2p2 A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear (d 1, p 1 ) (d 2, p 2 ) Create a vertex for each donor- patient pair Edges represent compatibility Preference lists can take into account degrees of compatibility

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

12 Empirical results Instance size % soluble Experiments based on taking average of s 1, s 2, s 3 where s j is number of soluble instances among 10,000 randomly generated instances, each of given size 2n Results due to Colin Sng Instance size 4205010020050010002000400060008000 % soluble 96.382.973.164.355.145.138.832.227.825.023.6

13 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 Example: insoluble SR instance {1,3,6}, {2,4,5} is a partition of the agents

14 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: 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 {1,3,6}, {2,4,5} is a partition of the agents {1,2,3} is a blocking coalition

15 A partition P is B-stable if it admits no 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 Every CFG instance admits a B-stable partition Such a partition may be found in linear time Also results for W-stability {1,5,6}, {2,3,4} is a B-stable partition of the agents

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

17 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) Properties of stable partitions

18 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 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 Example = 1,4,6, 2,3,5

19 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 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 Example = 1,4,6, 2,5

20 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 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 Example = 1,4, 2,5

21 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 1: 2 5 4 3 6 2: 5 1 4 4: 2 5 1 3 5: 2 4 1 Example 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

22 The following instance I 3 of SR is insoluble 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 Let bp(M) denote the set of blocking pairs of matching M |bp(M 2 )|=12 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 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(M 1 )|=2 Stable partition 1,2,3, 4,5,6 Coping with insoluble SR instances: 3. Almost stable matchings

23 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 Coping with insoluble SR instances: Method 2 vs method 3 Recall the insoluble instance I 2 of SR: Tans algorithm for method 2 constructs a matching of size 1, e.g. M 1 ={{1,2}} Any such matching M has |bp(M)| 2 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 Method 3: consider e.g. M 2 ={{1,2},{3,4}} |bp(M 2 )|=1 1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3 So |M 2 |=2|M 1 | and |bp(M 2 )|=½|bp(M 1 )|

24 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

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

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

27 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 {a i, a j } 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

28 Outline of the algorithm Let {a i, a j } B where |B|=K Preference list of a i : … … a k … … a j … … If {a i, a j } bp(M) then {a i, a k } M Delete {a i, a k } but must not introduce new blocking pairs Preference list of a k : … … a i … … a j … … If {a i, a k } B then {a j, a k } M Delete {a k, a j } and mark a k Check whether there is a stable matching M in reduced SR instance such that all marked agents are matched in M

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

30 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

31 Open problems 1.Is there an approximation algorithm for MIN-BP-SR that has performance guarantee o(n 2 ) ? An upper bound is 2C(n-1) 2.Are the upper/lower bounds for bp(I) tight? 3.Determine values of k n and obtain a characterisation of I n such that I n is an SR instance with 2n agents in which bp(I n )=k n and k n = max{bp(I) : I is an SR instance with 2n agents}

32 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 3 rd Workshop on Approximation and Online Algorithms, Lecture Notes in Computer Science, Springer-Verlag, 2005 Further details

Similar presentations