# “almost stable” matchings in the roommates problem

Click here to load reader

Post on 11-Feb-2016

113 views

Embed Size (px)

DESCRIPTION

“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 - PowerPoint PPT PresentationTRANSCRIPT

Almost stable matchings in the Roommates problemDavid AbrahamComputer Science DepartmentCarnegie-Mellon University, USA

Pter Bir Department of Computer Science and Information TheoryBudapest University of Technology and Economics, Hungary

David Manlove Department of Computing Science University of Glasgow, UKSupported by EPSRC grant GR/R84597/01, RSE / Scottish Exec Personal Research Fellowship

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 instrict orderOutput: 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

Example SR Instance (1)Example SR instance I1:1: 3 2 42: 4 3 13: 2 1 44: 1 3 2

Example SR Instance (1)Example SR instance I1:1: 3 2 42: 4 3 13: 2 1 44: 1 3 2

Example SR Instance (2)Example SR instance I2:1: 2 3 42: 3 1 43: 1 2 44: 1 2 3

Example SR Instance (2)Example SR instance I2:1: 2 3 42: 3 1 43: 1 2 44: 1 2 3The 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 exchanged1p1

Application: kidney exchanged1p1d2p2

Application: kidney exchanged1p1d2p2A. Roth, T. Snmez, U. nver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear

Application: kidney exchanged1p1d2p2A. Roth, T. Snmez, U. nver, Pairwise Kidney Exchange, Journal of Economic Theory, to appear Create a vertex for each donor-patient pair Edges represent compatibility Preference lists can take intoaccount degrees of compatibility

Efficient algorithm for SRKnuth (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

Empirical resultsInstance size% solubleExperiments based on taking average of s1 , s2 , s3 where sj is number of soluble instances among 10,000 randomly generated instances, each of given size 2n

Results due to Colin Sng

Instancesize4205010020050010002000400060008000%soluble96.382.973.164.355.145.138.832.227.825.023.6

Coping with insoluble SR instances Coalition formation games Partition agents into sets of size 1 Notions of B-preferences / W-preferences Cechlrov and Hajdukov, 1999 Cechlrov and Romero-Medina, 2001 Cechlrov 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

Almost stable matchingsThe following instance I3 of SR is insoluble1: 2 3 5 6 42: 3 1 6 4 53: 1 2 4 5 64: 5 6 2 3 15: 6 4 3 1 26: 4 5 1 2 3 Let bp(M) denote the set of blocking pairs of matching MStable partition {1,2,3, 4,5,6}

Hardness results for SRLet I be an SR instanceDefine 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 ITheorem 1: MIN-BP-SR is not approximable within n-, for any > 0, unless P=NPDefine EXACT-BP-SR to be problem of deciding whether I admits a matching M such that |bp(M)|=K, given an integer KTheorem 2: EXACT-BP-SR is NP-complete

Outline of the proofUsing a gap introducing reduction from EXACT-MMGiven a cubic graph G=(V,E) and an integer K, decide whether G admits a maximal matching of size KEXACT-MM is NP-complete, by transformation from MIN-MM (Minimization version), which is NP-complete for cubic graphsHorton and Kilakos, 1993Create an instance I of SR with n agentsIf 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-

Preference lists with tiesLet I be an instance of SR with tiesProblem of deciding whether I admits a stable matching is NP-complete Ronn, Journal of Algorithms, 1990 Irving and Manlove, Journal of Algorithms, 2002Can define MIN-BP-SRT analogously to MIN-BP-SRTheorem 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 listDefine EXACT-BP-SRT analogously to EXACT-BP-SRTheorem 4: EXACT-BP-SRT is NP-complete for each fixed K 0

Polynomial-time algorithmTheorem 5: EXACT-BP-SR is solvable in polynomial time if K is fixedAlgorithm also works for possibly incomplete preference listsGiven 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 existsIdea: For each subset B of agent pairs {ai, aj} where |B|=K Try to construct a matching M in I such that bp(M)=BStep 1: O(mK) subsets to considerStep 2: O(m) time

Outline of the algorithmLet {ai, aj}B where |B|=KPreference list of ai : ak aj If {ai, aj}bp(M) then {ai, ak}MDelete {ai, ak} but must not introduce new blocking pairsPreference list of ak : ai aj If {ai, ak} B then {aj, ak}MDelete {ak, aj} and mark akCheck 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)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 M3 in I such that |bp(M3)|=k+1 ?Not in general!1: 2 3 5 6 42: 3 1 6 4 53: 1 2 4 5 64: 5 6 2 3 15: 6 4 3 1 26: 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

Open problemsIs there an approximation algorithm for MIN-BP-SR 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}