Upload
asasia
View
33
Download
3
Embed Size (px)
DESCRIPTION
“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 - PowerPoint PPT Presentation
Citation preview
1
“Almost stable” matchings in the Roommates problem
David AbrahamComputer Science Department
Carnegie-Mellon University
Péter Biró Department of Computer Science and Information Theory
Budapest University of Technology and Economics
David ManloveUniversity of Glasgow
Department 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: 2n agents; each agent ranks all 2n-1 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 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
% 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 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
“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 number of blocking pairs of matching M
• Stable partition {1,2,3, 4,5,6}
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
15
Algorithmic results
• Let I be 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)
• 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
18
Open problems
1. 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)
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}