1 / 18

“Almost stable” matchings in the Roommates problem

“Almost stable” matchings in the Roommates problem. David Abraham Computer Science Department Carnegie-Mellon University Péter Biró Department of Computer Science and Information Theory Budapest University of Technology and Economics

asasia
Download Presentation

“Almost stable” matchings in the Roommates problem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “Almost stable” matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University Péter Biró Department of Computer Science and Information Theory Budapest University of Technology and Economics David ManloveUniversity of GlasgowDepartment of Computing Science Supported by EPSRC grant GR/R84597/01,RSE / Scottish Exec Personal Research Fellowship

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

  3. Example SR Instance (1) Example SR instanceI1:1: 3 2 4 2: 4 3 1 3: 2 1 4 4: 1 3 2

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

  5. Example SR Instance (2) Example SR instanceI2:1: 2 3 4 2: 3 1 4 3: 1 2 4 4: 1 2 3

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

  7. Application: kidney exchange d1 p1

  8. Application: kidney exchange d1 d2 p2 p1

  9. Application: kidney exchange d1 d2 A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear p2 p1

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

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

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

  13. Coping with insoluble SR instances • Coalition formation games • 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 • Stable partition • Every SR instance admits such a structure • Tan 1991 (Journal of Algorithms) • Can be used to find a maximum matching such that the matched pairs are stable within themselves • Tan 1991 (International Journal of Computer Mathematics) • Matching with the fewest number of blocking pairs • Abraham, Biró, DFM, 2005

  14. 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 “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 number of blocking pairs of matchingM

  15. Algorithmic results • Let Ibe an SR instance • Define bp(I)=min{bp(M) : M is a matching in I} • Problem of determining bp(I) is NP-hard • Given an integer n, problem of deciding whether bp(I)=n is NP-complete • Given a fixed integer K  0, problem of deciding whether bp(I)=K is solvable in O(n2(K+1)) time • Problem of finding bp(I) is not approximable within n½-, for any  > 0, unless P=NP • Abraham, Biró, DFM, 2005

  16. 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 DFM, Journal of Algorithms, 2002 • Problem of finding bp(I) is NP-hard • Follows immediately from no-ties case • Given a fixed integer K  0, problem of deciding whether bp(I)=K is NP-complete • Problem of finding bp(I) is not approximable within n1-, for any  > 0, unless P=NP • Abraham, Biró, DFM, 2005

  17. Interpolation of bp(M) • Clearlybp(M)½(2n)(2n-2)=2n(n-1) • 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

  18. Open problems • Is there an approximation algorithm for the problem of determining bp(I) that has performance guarantee o(n2)? • Trivial upper bound is 2n(n-1) • 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}

More Related