A Grand Tour ofStable Matching Problems
Progress and Challenges
David Manlove
University of GlasgowDepartment of Computing Science
Supported by EPSRC grant GR/R84597/01and Nuffield Foundation Award NUF-NAL-02
The Stable Marriage problem (SM)
• Input to the problem consists of:
a set of n men {m1,m2,…,mn}
a set of n women {w1,w2,…,wn}
for each person q, a preference list in which q ranks all members of the opposite sex in strict order
• A matching M is a set of n disjoint (man,woman) pairs
Let pM(q) denote person q’s partner in M
• A blocking pair of matching M is a (man,woman) pair (m,w)M such that:
m prefers w to pM(m) w prefers m to pM(w)
• Matching M is stable if M admits no blocking pair
Stable marriage: example instance
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
Stable marriage: example instance
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M={(m1,w1), (m2,w2), (m3,w4) ,(m4,w3)}
Stable marriage: example instance
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M={(m1,w1), (m2,w2), (m3,w4) ,(m4,w3)}
(m3,w2) is a blocking pair, so M is not stable
Stable marriage: example instance
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M={(m1,w1), (m2,w2), (m3,w4) ,(m4,w3)}
(m3,w2) is a blocking pair, so M is not stable
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M={(m1,w4), (m2,w3), (m3,w2) ,(m4,w1)} is stable
The Gale / Shapley algorithm
• A stable matching always exists for a given instance of SM
• Such a matching may be found in linear time using the Gale / Shapley (GS) algorithm
– D. Gale and L. Shapley, “College Admissions and the stability of marriage”, American Mathematical Monthy, 1962
• The set of stable matchings forms a distributive lattice
• Given an instance I of SM, there is a CP encoding J of I such that the action of an extended version of the GS algorithm on I is equivalent (in a precise sense) to establishing arc consistency in J
– I.P. Gent, R.W. Irving, D.F. Manlove, P. Prosser and B.M. Smith, “A Constraint Programming Approach to the Stable Marriage Problem”, Proc. CP '01.
Stable marriage with unacceptable partners (SMI)
• If q appears on p’s list, then p finds q acceptable, otherwise p finds q unacceptable
• Now a matching M is a set of n disjoint (man,woman) pairs such that (m,w) M only if:
m finds w acceptable w finds m acceptable
• Now a blocking pair of matching M is a (man,woman) pair (m,w)M such that:
m and w find each other acceptable m is unmatched in M or prefers w to pM(m) w is unmatched in M or prefers m to pM(w)
• Matching M is stable if M admits no blocking pair
• Assume that preference lists are consistent, i.e. p is on q’s list if and only if q is on p’s list
Unacceptable partners: example instance
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
Unacceptable partners: example instance
m1: w4 w1 w3 w1: m4 m1 m2
m2: w2 w1 w4 w2: m3 m2 m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
Unacceptable partners: example instance
m1: w4 w1 w3 w1: m4 m1 m2
m2: w2 w1 w4 w2: m3 m2 m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M={(m1,w4), (m2,w2), (m4,w1)}
(m3,w2) and (m3,w3) are blocking pairs, so M is not stable
m1: w4 w1 w3 w1: m4 m1 m2
m2: w2 w1 w4 w2: m3 m2 m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M={(m1,w4), (m3,w2), (m4,w1)} is stable
Revised Gale/Shapley algorithm
• A stable matching always exists, for a given instance of SMI • Such a matching may be found in linear time using the revised Gale/Shapley algorithm
• Some people may be unmatched in a stable matching, but
the same people are unmatched in all stable matchings hence all stable matchings have the same size
• The distributive lattice property also holds
• Constraint programming formulation is also possible, giving similar structural properties to those holding for SM
Stable Marriage with Ties (SMT)
• Assume all preference lists are complete again (i.e. of length n)
• A given person may be indifferent among two or more other persons, so a preference list may involve ties
Example instance:
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
• Three possible definitions of stability
• A matching M is weakly stable if there is no blocking pair (m,w)M such that
m strictly prefers w to pM(m) w strictly prefers m to pM(w)
Weak stability
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
A weakly stable matching always exists, given an instance of SMT, and such a matching can be found in linear time:
Weak stability
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
A weakly stable matching always exists, given an instance of SMT, and such a matching can be found in linear time:
• Let I be an instance of SMT
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Weak stability
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
A weakly stable matching always exists, given an instance of SMT, and such a matching can be found in linear time:
• Let I be an instance of SMT• Break the ties arbitrarily to form an SM instance J
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Weak stability
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
A weakly stable matching always exists, given an instance of SMT, and such a matching can be found in linear time:
• Let I be an instance of SMT• Break the ties arbitrarily to form an SM instance J• Use the Gale / Shapley algorithm to find a stable matching M in J
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 m3 m2 m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
Weak stability
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
A weakly stable matching always exists, given an instance of SMT, and such a matching can be found in linear time:
• Let I be an instance of SMT• Break the ties arbitrarily to form an SM instance J• Use the Gale / Shapley algorithm to find a stable matching M in J• M is then weakly stable in I
m1: w4 w1 w2 w3 w1: m4 m1 m3 m2
m2: w2 w3 w1 w4 w2: m1 (m3 m2) m4
m3: w2 w4 w3 w1 w3: m1 m2 m3 m4
m4: w3 w1 w4 w2 w4: m4 m1 m3 m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is same weakly stable matching as above
Strong stability
• Assume we are given an instance of SMT
• A matching M is strongly stable if there is no blocking pair (x,y)M such that
x strictly prefers y to pM(x) y strictly prefers x to pM(y) or is indifferent between them
• A strongly stable matching is weakly stable
• An instance of SMT may not admit a strongly stable matching:
m1: w1 w2 w1:(m1 m2) m2: w1 w2 w2:(m1 m2)Men's preferences Women's preferences
Strong stability
• Assume we are given an instance of SMT
• A matching M is strongly stable if there is no blocking pair (x,y)M such that
x strictly prefers y to pM(x) y strictly prefers x to pM(y) or is indifferent between them
• A strongly stable matching is weakly stable
• An instance of SMT may not admit a strongly stable matching:
m1: w1 w2 w1:(m1 m2) m2: w1 w2 w2:(m1 m2)Men's preferences Women's preferences
Strong stability
• Assume we are given an instance of SMT
• A matching M is strongly stable if there is no blocking pair (x,y)M such that
x strictly prefers y to pM(x) y strictly prefers x to pM(y) or is indifferent between them
• A strongly stable matching is weakly stable
• An instance of SMT may not admit a strongly stable matching:
m1: w1 w2 w1:(m1 m2) m2: w1 w2 w2:(m1 m2)Men's preferences Women's preferences
(m2,w1) is a blocking pair
Strong stability
• Assume we are given an instance of SMT
• A matching M is strongly stable if there is no blocking pair (x,y)M such that
x strictly prefers y to pM(x) y strictly prefers x to pM(y) or is indifferent between them
• A strongly stable matching is weakly stable
• An instance of SMT may not admit a strongly stable matching:
m1: w1 w2 w1:(m1 m2) m2: w1 w2 w2:(m1 m2)Men's preferences Women's preferences
Strong stability
• Assume we are given an instance of SMT
• A matching M is strongly stable if there is no blocking pair (x,y)M such that
x strictly prefers y to pM(x) y strictly prefers x to pM(y) or is indifferent between them
• A strongly stable matching is weakly stable
• An instance of SMT may not admit a strongly stable matching:
m1: w1 w2 w1:(m1 m2) m2: w1 w2 w2:(m1 m2)Men's preferences Women's preferences
(m1,w1) is a blocking pair
Strong stability
• Assume we are given an instance of SMT
• A matching M is strongly stable if there is no blocking pair (x,y)M such that
x strictly prefers y to pM(x) y strictly prefers x to pM(y) or is indifferent between them
• A strongly stable matching is weakly stable
• An instance of SMT may not admit a strongly stable matching:
m1: w1 w2 w1:(m1 m2) m2: w1 w2 w2:(m1 m2)Men's preferences Women's preferences
• There is an O(n4) algorithm to determine whether an instance of SMT has a strongly stable matching, and to find one if one does
– R.W. Irving, “Stable marriage and indifference”, Discrete Applied Maths, 1994
• The set of strongly stable matchings forms a distributive lattice
– D.F. Manlove, “The structure of stable marriage with indifference”, Discrete Applied Maths, 2002
Open questions
• Is there a faster (e.g. O(n3)) algorithm for finding a strongly stable matching if one exists, given an instance of SMT?
• Is there an efficient algorithm for finding a weakly stable matching with the minimum number of blocking pairs of the strong stability type?
• Is there an efficient algorithm for finding a matching M of maximum cardinality such that M is strongly stable with respect to the matched men and women?
• If a strongly stable matching does not exist, is there a succinct certificate of this fact?
Super-stability
• Assume we are given an instance of SMT
• A matching M is super-stable if there is no blocking pair (m,w)M such that
m strictly prefers w to pM(m) or is indifferent between them w strictly prefers m to pM(w) or is indifferent between them
• A super-stable matching is strongly stable, and a strongly stable matching is weakly stable
Super-stability
• Assume we are given an instance of SMT
• A matching M is super-stable if there is no blocking pair (m,w)M such that
m strictly prefers w to pM(m) or is indifferent between them w strictly prefers m to pM(w) or is indifferent between them
• A super-stable matching is strongly stable, and a strongly stable matching is weakly stable
• A stable marriage instance with ties may not admit a super-stable matching:
m1: (w1 w2) w1:(m1 m2) m2: (w1 w2) w2:(m1 m2)Men's preferences Women's preferences
Super-stability
• Assume we are given an instance of SMT
• A matching M is super-stable if there is no blocking pair (m,w)M such that
m strictly prefers w to pM(m) or is indifferent between them w strictly prefers m to pM(w) or is indifferent between them
• A super-stable matching is strongly stable, and a strongly stable matching is weakly stable
• A stable marriage instance with ties may not admit a super-stable matching:
m1: (w1 w2) w1:(m1 m2) m2: (w1 w2) w2:(m1 m2)Men's preferences Women's preferences
(m2,w1) is a blocking pair
Super-stability
• Assume we are given an instance of SMT
• A matching M is super-stable if there is no blocking pair (m,w)M such that
m strictly prefers w to pM(m) or is indifferent between them w strictly prefers m to pM(w) or is indifferent between them
• A super-stable matching is strongly stable, and a strongly stable matching is weakly stable
• A stable marriage instance with ties may not admit a super-stable matching:
m1: (w1 w2) w1:(m1 m2) m2: (w1 w2) w2:(m1 m2)Men's preferences Women's preferences
(m1,w1) is a blocking pair
• There is an O(n2) algorithm to determine whether an instance has a super-stable matching, and to find one if one does
– R.W. Irving, “Stable marriage and indifference”, Discrete Applied Maths, 1994
• The set of super-stable matchings forms a distributive lattice
Open questions
• Is there an efficient algorithm for finding a weakly / strongly stable matching with the minimum number of blocking pairs of the super-stability type?
• Is there an efficient algorithm for finding a matching M of maximum cardinality such that M is super-stable with respect to the matched men and women?
• If a super-stable matching does not exist, is there a succinct certificate of this fact?
Stable marriage: unacceptable partners and ties (SMTI)
• Assume that persons may express both unacceptable partners and ties in their lists
Example instance:
m1: w4 w1 w3 w1: m4 m1 m2
m2: w2 w1 w4 w2:(m3 m2) m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
• Again, a matching can only contain mutually acceptable (man,woman) pairs •A matching M is weakly stable if there is no blocking pair (m,w)M such that
m and w find each other acceptable m is unmatched or strictly prefers w to pM(m) w is unmatched or strictly prefers m to pM(w)
Weakly stable matchings
For a given SMTI instance, the weakly stable matchings could be of different sizes
Weakly stable matchings
For a given SMTI instance, the weakly stable matchings could be of different sizes
Example instance:
m1: w4 w1 w3 w1: m4 m1 m2 m2: w2 w1 w4 w2:(m3 m2) m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M1={(m1,w4), (m2,w2), (m3,w3),(m4,w1)} is a weakly stable matching of size 4
Weakly stable matchings
For a given SMTI instance, the weakly stable matchings could be of different sizes
Example instance:
m1: w4 w1 w3 w1: m4 m1 m2
m2: w2 w1 w4 w2:(m3 m2) m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M1={(m1,w4), (m2,w2), (m3,w3),(m4,w1)} is a weakly stable matching of size 4
m1: w4 w1 w3 w1: m4 m1 m2
m2: w2 w1 w4 w2:(m3 m2) m4
m3: w2 w4 w3 w3: m1 m3
m4: w1 w4 w2 w4: m4 m1 m3 m2
Men's preferences Women's preferences
M2={(m1,w4), (m3,w2),(m4,w1)} is a weakly stable matching of size 3
Maximum / minimum weakly stable matchings
Do efficient algorithms exist for finding maximum or minimum cardinality weakly stable matchings?
Unfortunately, this is unlikely
Each of the problems of finding a maximum or minimum weakly stable matching is NP-hard,and the result is true even if:
1. the ties occur in the preference lists of one sex only, and2. any tie occurs at the tail of some person's preference list, and3. any tie is of length 2
– K. Iwama, D. Manlove, S. Miyazaki & Y. Morita: “Stable marriage with incomplete lists and ties”, Proc. ICALP ’99
– D.F. Manlove, R.W. Irving, K. Iwama, S. Miyazaki & Y. Morita: “Hard Variants of Stable Marriage”, Theoretical Computer Science, 2002
Approximation algorithms
• An approximation algorithm with performance guarantee c is a polynomial-time algorithm that finds a solution within a factor of c from optimal
• Given an SMTI instance, any weakly stable matching has size:
– at least half the size of a maximum cardinality weakly stable matching
– at most twice the size of a minimum cardinality weakly stable matching
• So both problems admit an approximation algorithm with performance guarantee 2
– D.F. Manlove, R.W. Irving, K. Iwama, S. Miyazaki & Y. Morita: “Hard Variants of Stable Marriage”, Theoretical Computer Science, 2002
Approximation algorithms (continued)
• Given an SMTI instance, any weakly stable matching has size
– at least the size of a maximum cardinality weakly stable matching minus the number of preference lists with ties
– at most the size of a minimum cardinality weakly stable matching plus the number of preference lists with ties
• The problem of finding a maximum cardinality weakly stable matching is not approximable within δ, for some δ>1
– M. Halldórsson, K. Iwama, S. Miyazaki & Y. Morita: “Inapproximability results on stable marriage problems”, Proc. LATIN 2002
– M. Halldórsson, R.W. Irving, K. Iwama, D.F. Manlove, S. Miyazaki, Y. Morita and S. Scott: “Approximability results for stable marriage problems with ties”, Submitted for publication, 2002
SMTI under strong stability and super-stability
• Each of the definitions of a strongly stable matching and a super-stable matching can be extended to SMTI
• All strongly stable (respectively super-stable) matchings are of the same size, for a given instance of SMTI •There are polynomial-time algorithms for finding a strongly stable matching and / or a super-stable matching, if they exist, given an SMTI instance
– D.F. Manlove, “Stable marriage with ties and unacceptable partners”, DCS Tech Report, 1999
• If an instance I of SMTI admits a strongly stable matching M, then |M | ⅔ |M' |, where M' is a weakly stable matching of maximum cardinality in I
– S. Scott, “On the size of strongly stable matchings”, manuscript, 2002
SMTI – further results and open problems
• Constraint programming formulations of SMTI under weak / strong / super-stability:
– I.P. Gent and P. Prosser, “SAT encodings of the stable marriage problem with ties and incomplete lists”, Proc. SAT 2002
– I.P. Gent and P. Prosser, “An empirical study of the stable marriage problem with ties and incomplete lists”, Proc. ECAI 2002
Open problems
• Is there an approximation algorithm with performance guarantee <2 for the problem of finding a maximum / minimum cardinality weakly stable matching, given an instance of SMTI?
Possibly easier to consider restricted instances, e.g. involving
– bounded length ties– ties on one side only– at most one tie per list
Hospitals/Residents problem (HR)
• n residents r1, r2, …, rn
• m hospitals h1, h2, …, hm
• Hospital hi has capacity ci
• Each resident ranks a subset of the hospitals instrict order of preference
• Each hospital ranks its applicants in strict order of preference
• r finds h acceptable if h is on r’s preference list; r finds h unacceptable otherwise (and vice
versa)
• A matching M in an instance of HR is an allocation of residents to hospitals such that:
1) (r,h)M r,h find each other acceptable2) No resident receives more than one post3) No hospital exceeds its capacity
Hospitals/Residents problem: example
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
Hospitals/Residents problem: matching
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
M = {(r1, h1), (r2, h2), (r3, h3), (r5, h2), (r6, h1)}(size 5)
Hospitals/Residents problem: matching
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
• Matching M is stable if M admits no blocking pair– (r,h) is a blocking pair of matching M if:
1) r, h find each other acceptableand2) either r is unmatched in M
or r prefers h to his/her assigned hospital in Mand3) either h is undersubscribed in M
or h prefers r to its worst resident assigned in M
HR: unstable matching
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
• Matching M is stable if M admits no blocking pair– (r,h) is a blocking pair of matching M if:
1) r, h find each other acceptableand2) either r is unmatched in M
or r prefers h to his/her assigned hospital in Mand3) either h is undersubscribed in M
or h prefers r to its worst resident assigned in M
Matching above is unstable as e.g. (r2,h1), (r4,h2) and (r4,h3) are blocking pairs
HR: unstable matching
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
• Matching M is stable if M admits no blocking pair– (r,h) is a blocking pair of matching M if:
1) r, h find each other acceptableand2) either r is unmatched in M
or r prefers h to his/her assigned hospital in Mand3) either h is undersubscribed in M
or h prefers r to its worst resident assigned in M
Matching above is unstable as e.g. (r2,h1), (r4,h2) and (r4,h3) are blocking pairs
HR: unstable matching
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
• Matching M is stable if M admits no blocking pair– (r,h) is a blocking pair of matching M if:
1) r, h find each other acceptableand2) either r is unmatched in M
or r prefers h to his/her assigned hospital in Mand3) either h is undersubscribed in M
or h prefers r to its worst resident assigned in M
Matching above is unstable as e.g. (r2,h1), (r4,h2) and (r4,h3) are blocking pairs
HR: stable matching
r1: h2 h1
r2: h1 h2 Each hospital has 2 postsr3: h1 h3
r4: h2 h3 h1: r1 r3 r2 r5 r6
r5: h2 h1 h2: r2 r6 r1 r4 r5
r6: h1 h2 h3: r4 r3
Resident preferences Hospital preferences
• Matching M is stable if M admits no blocking pair– (r,h) is a blocking pair of matching M if
1) r, h find each other acceptableand2) either r is unmatched in M
or r prefers h to his/her assigned hospital in Mand3) either h is undersubscribed in M
or h prefers r to its worst resident assigned in M
Example shows that, in a given stable matching,• one or more residents may be unmatched• one or more hospitals may be undersubscribed
HR: structure and algorithms
• SM is a special case of HR • A stable matching always exists for a given instance of HR
• Such a matching may be found in linear time
– D. Gusfield and R.W. Irving, “The Stable Marriage Problem: Structure and Algorithms”, MIT Press, 1989
This algorithm is at the heart of centralised matching schemes such as the NRMP and SPA
• There may be more than one stable matching, but:
– All stable matchings have the same size– The same residents are assigned in all stable matchings– Any hospital that is undersubscribed in one stable matching is assigned exactly the same residents in all stable matchings(Rural Hospitals Theorem)
Hospitals/Residents problem with Ties (HRT)
• Participants may wish to express ties in their preference lists
• SMTI is a special case of HRT
• NP-hardness and inapproximability results for SMTI under weak stability also apply to HRT
• Each of the problems of finding a maximum and minimum cardinality weakly stable matching in HRT is approximable within 2
• There are polynomial-time algorithms for finding a strongly stable matching and / or a super-stable matching, if they exist, given an HRT instance
• The Rural Hospitals Theorem holds for HRT under strong stability and super-stability
– R.W. Irving, D.F. Manlove and S. Scott, “The Hospitals / Residents Problem with Ties”, Proc. SWAT 2000
– R.W. Irving, D.F. Manlove and S. Scott, “Strong stability in the Hospitals/Residents Problem”, Submitted for publication, 2002
Stable Roommates (SR)
Input: 2n persons; each person ranks all 2n-1other persons in strict order
Output: a stable matching
Definitions
A matching is a set of n disjoint pairs of persons
A blocking pair of a matching M is a pair of persons {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
Stable Roommates (SR)
Input: 2n persons; each person ranks all 2n-1other persons in strict order
Output: a stable matching
Definitions
A matching is a set of n disjoint pairs of persons
A blocking pair of a matching M is a pair of persons {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: 3 2 42: 1 3 43: 2 1 44: 1 2 3
Stable Roommates (SR)
Input: 2n persons; each person ranks all 2n-1other persons in strict order
Output: a stable matching
Definitions
A matching is a set of n disjoint pairs of persons
A blocking pair of a matching M is a pair of persons {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: 3 2 42: 1 3 43: 2 1 44: 1 2 3
Stable Roommates (SR)
Input: 2n persons; each person ranks all 2n-1other persons in strict order
Output: a stable matching
Definitions
A matching is a set of n disjoint pairs of persons
A blocking pair of a matching M is a pair of persons {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: 3 2 42: 1 3 43: 2 1 44: 1 2 3
The matching is not stable as {1,3} blocks.
Stable Roommates (SR)
Input: 2n persons; each person ranks all 2n-1other persons in strict order
Output: a stable matching
Definitions
A matching is a set of n disjoint pairs of persons
A blocking pair of a matching M is a pair of persons {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: 3 2 42: 1 3 43: 2 1 44: 1 2 3
The matching is not stable as {1,3} blocks.
This instance does not admit a stable matching!
Stable Roommates: algorithmic results
• SM is a special case of SR
• There is a linear-time algorithm for finding a stable matching if one exists, given an SR instance
– R.W. Irving “An efficient algorithm for the ‘Stable Roommates’ Problem”, Journal of Algorithms, 1985
• If preference lists have ties, we obtain an instance of SRT (Stable Roommates with Ties)
• The problem of deciding whether a given instance of SRT admits a weakly stable matching is NP-complete, even if:
each tie has length 2 there is at most one tie per list
– E. Ronn, “NP-complete stable matching problems”, Journal of Algorithms, 1990
– R.W. Irving and D.F. Manlove, “The Stable Roommates Problem with Ties”, Journal of Algorithms, 2002
SR & SRT: further results and open problems
• There is a linear-time algorithm for finding a super-stable matching if one exists, given an SRT instance
– R.W. Irving and D.F. Manlove, “The Stable Roommates Problem with Ties”, Journal of Algorithms, 2002
Open problems
• Complexity of SRT under strong stability?
• Is there a polynomial-time algorithm to find a matching with the minimum number of blocking pairs, given an instance of SR?
• Is there a polynomial reduction from SR to SM, or from SR to SMT?
Stable Fixtures Problem (SF)
• Choose a schedule of fixtures based on teams having preferences over each other
• Two given teams can play each other at most once
• Each team i has a capacity ci , indicating the maximum number of fixtures it can play
• A fixture allocation A is a set of unordered pairs of teams {i, j} such that, for each i, team i is scheduled to play at most ci fixtures
• Example SF instance:
team capacity preferences 1: 2 2 3 4
2: 2 1 3 4 3: 2 1 2 4 4: 2 1 2 3
Stable Fixtures Problem (SF)
• Choose a schedule of fixtures based on teams having preferences over each other
• Two given teams can play each other at most once
• Each team i has a capacity ci , indicating the maximum number of fixtures it can play
• A fixture allocation A is a set of unordered pairs of teams {i, j} such that, for each i, team i is scheduled to play at most ci fixtures
• Example SF instance:
team capacity preferences 1: 2 2 3 4
2: 2 1 3 4 3: 2 1 2 4 4: 2 1 2 3
• The above fixture allocation is:{1, 2}, {1, 4}, {2, 3}, {3, 4}
• A blocking pair of a fixture allocation A is a pair of teams {i , j}A such that:
– i is assigned fewer than ci teams in A or i prefers j to at least one of its assignees
and– j is assigned fewer than cj teams in A or j prefers i to at least one of its assignees
• A fixture allocation is stable if it admits noblocking pair
• Example SF instance:
team capacity preferences1: 2 2 3 4
2: 2 1 3 4 3: 2 1 2 44: 2 1 2 3
• The above fixture allocation is not stable as {1,3} is a blocking pair
• Example SF instance:
team capacity preferences1: 2 2 3 4
2: 2 1 3 4 3: 2 1 2 44: 2 1 2 3
• The above fixture allocation is stable
• Each of SM, HR and SR is a special case of SF
• There is an efficient algorithm to find a stable fixtures allocation, if one exists, given
an instance of SF
– R.W. Irving and S. Scott, “The Stable Fixtures Problem”, submitted for publication
• This algorithm has been extended to cover Stable Fixtures with Ties (SFT) under super- stability
Open problem
• Complexity of SFT under strong stability?
Problem No tiesTies – weak
stability
Ties –strong
stability
Ties – super-
stability
SMTI P NPC (max) P P
HRT P NPC (max) P P
SRT P NPC ? P
SFT P NPC ? P
Summary of complexity results for stable matching problems with ties
SMTI – Stable Marriage with Ties and Incomplete Lists
HRT – Hospitals / Residents with Ties
SRT – Stable Roommates with Ties
SFT – Stable Fixtures with Ties
P – problem of finding a relevant matching if one exists is polynomial-time solvable
NPC – problem of deciding whether relevant matching exists is NP-complete