1 “Almost stable” matchings in the Roommates problem David Abraham Computer Science Department...

Author
aliceshelton 
Category
Documents

view
218 
download
0
Embed Size (px)
Transcript of 1 “Almost stable” matchings in the Roommates problem David Abraham Computer Science Department...
1
“Almost stable” matchings in the Roommates problem
David AbrahamComputer Science Department
CarnegieMellon University, USA
Péter Biró Department of Computer Science and Information Theory
Budapest University of Technology and Economics, Hungary
David ManloveDepartment of Computing Science
University of Glasgow, UKSupported 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: 2n agents; each agent ranks all 2n1 other agents in
strict 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
3
Example SR Instance (1)
Example SR instance I1: 1: 3 2 42: 4 3 13: 2 1 44: 1 3 2
4
Example SR Instance (1)
Example SR instance I1: 1: 3 2 42: 4 3 13: 2 1 44: 1 3 2
Stable matching in I1: 1: 3 2 42: 4 3 13: 2 1 44: 1 3 2
The matching is not stable as {1,3} blocks.
5
Example SR Instance (2)
Example SR instance I2: 1: 2 3 42: 3 1 43: 1 2 44: 1 2 3
6
Example SR Instance (2)
Example SR instance I2: 1: 2 3 42: 3 1 43: 1 2 44: 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.
1: 2 3 42: 3 1 43: 1 2 44: 1 2 3
1: 2 3 42: 3 1 43: 1 2 44: 1 2 3
7
Application: kidney exchange
d1
p1
8
Application: kidney exchange
d1
p1
d2
p2
9
Application: kidney exchange
d1
p1
d2
p2
A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to
appear
10
Application: kidney exchange
d1
p1
d2
p2
A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to
appear
(d1 , p1) (d2 , p2)
• Create a vertex for each donorpatient 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:577595
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
% s
olu
ble
Experiments 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
Instancesize
4 20 50 100 200 500 1000
2000
4000
6000
8000
%soluble
96.3 82.9
73.1
64.3
55.1
45.1
38.8 32.2 27.8 25.0 23.6
13
Coping with insoluble SR instances
• Coalition formation games Partition agents into sets of size 1 Notions of Bpreferences / Wpreferences Cechlárová and Hajduková, 1999 Cechlárová and RomeroMedina, 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
14
“Almost stable” matchings
• The 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 M
bp(M2)=12
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
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
bp(M1)=2
• Stable partition {1,2,3, 4,5,6}
15
Hardness results for SR
• Let I be an SR instance
• Define bp(I)=min{bp(M): M is a matching in I}
• Define MINBPSR to be problem of computing bp(I), given an SR instance I
• Theorem 1: MINBPSR is not approximable within n½, for any > 0, unless P=NP
• Define EXACTBPSR to be problem of deciding whether I admits a matching M such that bp(M)=K, given an integer K
• Theorem 2: EXACTBPSR is NPcomplete
16
Outline of the proof
• Using a “gap introducing” reduction from EXACTMM
• Given a cubic graph G=(V,E) and an integer K, decide whether G admits a maximal matching of size K
EXACTMM is NPcomplete, by transformation from MINMM (Minimization version), which is NPcomplete 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½
17
Preference lists with ties
• Let I be an instance of SR with ties
• Problem of deciding whether I admits a stable matching is NPcomplete
Ronn, Journal of Algorithms, 1990 Irving and Manlove, Journal of Algorithms, 2002
• Can define MINBPSRT analogously to MINBPSR
• Theorem 3: MINBPSRT 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 EXACTBPSRT analogously to EXACTBPSR
• Theorem 4: EXACTBPSRT is NPcomplete for each fixed K 0
18
Polynomialtime algorithm
• Theorem 5: EXACTBPSR 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:1. For each subset B of agent pairs {ai, aj} where B=K2. 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
19
Outline of the algorithm
• Let {ai, aj}B where B=K
• Preference list of ai : … … ak … … aj … …
• If {ai, aj}bp(M) then {ai, ak}M
• Delete {ai, ak} but must not introduce new blocking pairs
• Preference list of ak : … … ai … … aj … …
• If {ai, ak} B then {aj, ak}M
• Delete {ak, aj} and mark ak
• Check whether there is a stable matching M in reduced SR instance such that all marked agents are matched in M
20
Interpolation of bp(M)
• Clearly bp(M)½(2n)(2n2)=2n(n1)
• 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
21
Open problems
1. Is there an approximation algorithm for MINBPSR that has performance guarantee o(n2)?
Trivial upper bound is 2n(n1)
2. 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}