A Grand Tour of
Stable Matching Problems
Progress and Challenges
David Manlove
University of Glasgow
Department of Computing Science
Supported by EPSRC grant GR/R84597/01
and 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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
Women's preferences
Stable marriage: example instance
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
Women's preferences
M={(m1,w1), (m2,w2), (m3,w4) ,(m4,w3)}
Stable marriage: example instance
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
Women's preferences
M={(m1,w1), (m2,w2), (m3,w4) ,(m4,w3)}
(m3,w2) is a blocking pair, so M is not stable
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4 :
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
Women's preferences
Unacceptable partners: example instance
m1:
m2:
m3:
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m3
m1
m4
m1 m2
m2 m4
m3
m1 m3 m2
Women's preferences
Unacceptable partners: example instance
m1:
m2:
m3:
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m3
m1
m4
m1 m2
m2 m4
m3
m1 m3 m2
Women's preferences
M={(m1,w4), (m2,w2), (m4,w1)}
(m3,w2) and (m3,w3) are blocking pairs, so M is
not stable
m1:
m2:
m3:
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1:
w2:
w3:
w4:
m4
m3
m1
m4
m1 m2
m2 m4
m3
m1 m3 m2
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
Men's preferences
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
m2
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
m2
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly
stable
Weak stability
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
m2
Weak stability
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
Weak stability
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4
m1
m1
m4
m1
m3
m2
m1
m3
m2
m3
m3
m2
m4
m4
m2
Weak stability
m1:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
m2
m4
m4
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:
m2:
m3:
m4:
w4
w2
w2
w3
w1
w3
w4
w1
w2
w1
w3
w4
w3
w4
w1
w2
w1:
w2:
w3:
w4:
m4 m1
m1 (m3
m1 m2
m4 m1
m3
m2)
m3
m3
M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is same
weakly stable matching as above
m2
m4
m4
m2
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
m2: w1 w2
Men's preferences
w1:(m1 m2)
w2:(m1 m2)
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
m2: w1 w2
Men's preferences
w1:(m1 m2)
w2:(m1 m2)
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
m2: w1 w2
Men's preferences
(m2,w1) is a blocking pair
w1:(m1 m2)
w2:(m1 m2)
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
m2: w1 w2
Men's preferences
w1:(m1 m2)
w2:(m1 m2)
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
m2: w1 w2
Men's preferences
(m1,w1) is a blocking pair
w1:(m1 m2)
w2:(m1 m2)
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
m2: w1 w2
Men's preferences
w1:(m1 m2)
w2:(m1 m2)
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)
m2: (w1 w2)
Men's preferences
w1:(m1 m2)
w2:(m1 m2)
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)
m2: (w1 w2)
Men's preferences
(m2,w1) is a blocking pair
w1:(m1 m2)
w2:(m1 m2)
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)
m2: (w1 w2)
Men's preferences
(m1,w1) is a blocking pair
w1:(m1 m2)
w2:(m1 m2)
Women's preferences
• 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:
m2:
m3:
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1: m4
w2:(m3
w3: m1
w4: m4
m1 m2
m2) m4
m3
m1 m3
m2
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 :
m2 :
m3 :
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1: m4
w2:(m3
w3: m1
w4: m4
m1 m2
m2) m4
m3
m1 m3
m2
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 :
m2 :
m3 :
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1: m4
w2:(m3
w3: m1
w4: m4
m1 m2
m2) m4
m3
m1 m3
m2
Women's preferences
M1={(m1,w4), (m2,w2), (m3,w3),(m4,w1)} is a weakly
stable matching of size 4
m1 :
m2 :
m3 :
m4:
w4
w2
w2
w1
w1
w1
w4
w4
w3
w4
w3
w2
Men's preferences
w1: m4
w2:(m3
w3: m1
w4: m4
m1 m2
m2) m4
m3
m1 m3
m2
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, and
2. any tie occurs at the tail of some person's
preference list, and
3. 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 in
strict 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 acceptable
2) No resident receives more than one post
3) No hospital exceeds its capacity
Hospitals/Residents problem: example
r1:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
Hospital preferences
Hospitals/Residents problem: matching
r1:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
Hospital preferences
M = {(r1, h1), (r2, h2), (r3, h3), (r5, h2), (r6, h1)}
(size 5)
Hospitals/Residents problem: matching
r1:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
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 acceptable
and
2) either r is unmatched in M
or r prefers h to his/her assigned hospital in M
and
3) either h is undersubscribed in M
or h prefers r to its worst resident assigned in M
HR: unstable matching
r1:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
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 acceptable
and
2) either r is unmatched in M
or r prefers h to his/her assigned hospital in M
and
3) 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:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
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 acceptable
and
2) either r is unmatched in M
or r prefers h to his/her assigned hospital in M
and
3) 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:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
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 acceptable
and
2) either r is unmatched in M
or r prefers h to his/her assigned hospital in M
and
3) 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:
r2:
r3:
r4:
r5:
r6:
h2
h1
h1
h2
h2
h1
h1
h2
h3
h3
h1
h2
Resident preferences
Each hospital has 2 posts
h1: r1 r3 r2 r5 r6
h2: r2 r6 r1 r4 r5
h3: r4 r3
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 acceptable
and
2) either r is unmatched in M
or r prefers h to his/her assigned hospital in M
and
3) 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-1
other 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-1
other 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:
2:
3:
4:
3
1
2
1
2
3
1
2
4
4
4
3
Stable Roommates (SR)
Input:
2n persons; each person ranks all 2n-1
other 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:
2:
3:
4:
3
1
2
1
2
3
1
2
4
4
4
3
Stable Roommates (SR)
Input:
2n persons; each person ranks all 2n-1
other 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:
2:
3:
4:
3
1
2
1
2
3
1
2
The matching is not stable as {1,3} blocks.
4
4
4
3
Stable Roommates (SR)
Input:
2n persons; each person ranks all 2n-1
other 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:
2:
3:
4:
3
1
2
1
2
3
1
2
4
4
4
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
1:
2
2:
2
3:
2
4:
2
preferences
2 3 4
1 3 4
1 2 4
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
1:
2
2:
2
3:
2
4:
2
preferences
2 3 4
1 3 4
1 2 4
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 no
blocking pair
• Example SF instance:
team capacity
1:
2
2:
2
3:
2
4:
2
preferences
2 3 4
1 3 4
1 2 4
1 2 3
• The above fixture allocation is not stable as
{1,3} is a blocking pair
• Example SF instance:
team capacity
1:
2
2:
2
3:
2
4:
2
preferences
2 3 4
1 3 4
1 2 4
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 superstability
Open problem
• Complexity of SFT under strong stability?
Summary of complexity results for stable
matching problems with ties
Problem No ties
Ties –
weak
stability
Ties –
Ties –
strong superstability stability
SMTI
P
NPC (max)
P
P
HRT
P
NPC (max)
P
P
SRT
P
NPC
?
P
SFT
P
NPC
?
P
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
© Copyright 2025 Paperzz