Title:
1Almost 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 ManloveDepartment of Computing
ScienceUniversity of Glasgow, UK
2Stable 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
3Example SR Instance (1)
Example SR instance I1 1 3 2 4 2 4 3
1 3 2 1 4 4 1 3 2
4Example SR Instance (1)
Example SR instance I1 1 3 2 4 2 4 3
1 3 2 1 4 4 1 3 2
5Example SR Instance (2)
Example SR instance I2 1 2 3 4 2 3 1
4 3 1 2 4 4 1 2 3
6Example SR Instance (2)
Example SR instance I2 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.
7Application kidney exchange
d1
p1
8Application kidney exchange
d1
d2
p2
p1
9Application kidney exchange
d1
d2
A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney
Exchange, Journal of Economic Theory, to appear
p2
p1
10Application 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
11Efficient 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,
6577-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
12Empirical results
Instance size 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
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
soluble
Instance size
13Coping 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
14Coalition Formation Games B-preferences
- 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,3,6, 2,4,5 is a partition
- of the agents
- 1,2,3 is a blocking coalition
15Coalition Formation Games B-stability
- A partition P is B-stable if it admits no
blocking coalition
- 1,5,6, 2,3,4 is a B-stable partition of the
agents
- Every CFG instance admits a B-stable partition
- Such a partition may be found in linear time
- Also results for W-stability
16Coping 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
- each agent i does not prefer ? -1(i) to ?(i)
- if i prefers j to? -1(i) then j does not prefer i
to ? -1(j)
- 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
17Properties of stable partitions
- 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)
18Maximum matching where the matched pairs are
stable within themselves
- Given a stable partition ?
- Delete a single agent from each odd cycle
- Decompose each even cycles into pairs
19Maximum matching where the matched pairs are
stable within themselves
- Given a stable partition ?
- Delete a single agent from each odd cycle
- Decompose each even cycles into pairs
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
??1,4,6?, ?2,5?
20Maximum matching where the matched pairs are
stable within themselves
- Given a stable partition ?
- Delete a single agent from each odd cycle
- Decompose each even cycles into pairs
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
??1,4?, ?2,5?
21Maximum matching where the matched pairs are
stable within themselves
- Given a stable partition ?
- Delete a single agent from each odd cycle
- Decompose each even cycles into pairs
1 2 5 4 3 6 2 5 1 4 4 2 5 1 3 5
2 4 1
- Matching M1,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
22Coping with insoluble SR instances3. Almost
stable matchings
- The following instance I3 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
- Stable partition
- ?1,2,3?, ?4,5,6?
- Let bp(M) denote the set of blocking pairs of
matching M
23Coping with insoluble SR instancesMethod 2 vs
method 3
- 1 2 3 4
- 2 3 1 4
- 3 1 2 4
- 4 1 2 3
- Recall the insoluble instance I2 of SR
- So M22M1 and bp(M2)½bp(M1)
24Hardness results for SR
- Let I be an SR instance
- Define bp(I)minbp(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 ? gt 0, unless PNP - 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
25Outline 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
pV - If G admits no maximal matching of size K, then
bp(I) gt p n½-?
26Preference 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
n1-?, for any ? gt 0, unless PNP, 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
27Polynomial-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(mK1) algorithm
finds a matching M where bp(M)K or reports
that none exists - Idea
- For each subset B of agent pairs ai, aj where
BK - 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
28Outline of the algorithm
- Let ai, aj?B where BK
- 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
29Interpolation 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 M1,
M2 such that bp(M1) k and bp(M2)k2, is
there a matching M3 in I such that bp(M3)k1 ? - 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
30Upper 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?
31Open problems
- Is there an approximation algorithm for MIN-BP-SR
that has performance guarantee o(n2)? - An upper bound is 2C(n-1)
- Are the upper/lower bounds for bp(I) tight?
- 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 maxbp(I) I is an SR instance with 2n
agents
32Further details
- 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 3rd - Workshop on Approximation and Online Algorithms,
Lecture Notes in - Computer Science, Springer-Verlag, 2005