Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Grand Tour of Stable Matching Problems

Similar presentations


Presentation on theme: "A Grand Tour of Stable Matching Problems"— Presentation transcript:

1 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

2 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

3 Stable marriage: example instance
m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 m3 m2 m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w w4: m4 m1 m3 m2 Men's preferences Women's preferences

4 Stable marriage: example instance
m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 m3 m2 m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w w4: m4 m1 m3 m2 Men's preferences Women's preferences M={(m1,w1), (m2,w2), (m3,w4) ,(m4,w3)}

5 Stable marriage: example instance
m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 m3 m2 m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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

6 Stable marriage: example instance
m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 m3 m2 m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 m3 m2 m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w w4: m4 m1 m3 m2 Men's preferences Women's preferences M={(m1,w4), (m2,w3), (m3,w2) ,(m4,w1)} is stable

7 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.

8 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

9 Unacceptable partners: example instance
m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 m3 m2 m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w w4: m4 m1 m3 m2 Men's preferences Women's preferences

10 Unacceptable partners: example instance
m1: w4 w1 w w1: m4 m1 m2 m2: w2 w1 w w2: m3 m2 m4 m3: w2 w4 w w3: m1 m3 m4: w1 w4 w w4: m4 m1 m3 m2 Men's preferences Women's preferences

11 Unacceptable partners: example instance
m1: w4 w1 w w1: m4 m1 m2 m2: w2 w1 w w2: m3 m2 m4 m3: w2 w4 w w3: m1 m3 m4: w1 w4 w 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 w w1: m4 m1 m2 m2: w2 w1 w w2: m3 m2 m4 m3: w2 w4 w w3: m1 m3 m4: w1 w4 w w4: m4 m1 m3 m2 Men's preferences Women's preferences M={(m1,w4), (m3,w2), (m4,w1)} is stable

12 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

13 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 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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)

14 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w w4: m4 m1 m3 m2 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable

15 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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:

16 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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

17 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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 m2: w2 w3 w1 w w2: m1 m3 m2 m4

18 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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 m2: w2 w3 w1 w w2: m1 m3 m2 m4

19 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is weakly stable
Weak stability m1: w4 w1 w2 w w1: m4 m1 m3 m2 m2: w2 w3 w1 w w2: m1 (m3 m2) m4 m3: w2 w4 w3 w w3: m1 m2 m3 m4 m4: w3 w1 w4 w 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 M={(m1,w4), (m2,w3), (m3,w2),(m4,w1)} is same weakly stable matching as above

20 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 w w1:(m1 m2) m2: w1 w w2:(m1 m2) Men's preferences Women's preferences

21 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 w w1:(m1 m2) m2: w1 w w2:(m1 m2) Men's preferences Women's preferences

22 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 w w1:(m1 m2) m2: w1 w w2:(m1 m2) Men's preferences Women's preferences (m2,w1) is a blocking pair

23 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 w w1:(m1 m2) m2: w1 w w2:(m1 m2) Men's preferences Women's preferences

24 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 w w1:(m1 m2) m2: w1 w w2:(m1 m2) Men's preferences Women's preferences (m1,w1) is a blocking pair

25 Assume we are given an instance of SMT
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 w w1:(m1 m2) m2: w1 w 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

26 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? 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?

27 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 A super-stable matching is strongly stable, and a strongly stable matching is weakly stable

28 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 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

29 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 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

30 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 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

31 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? 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?

32 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 w w1: m4 m1 m2 m2: w2 w1 w w2:(m3 m2) m4 m3: w2 w4 w w3: m1 m3 m4: w1 w4 w 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)

33 Weakly stable matchings
For a given SMTI instance, the weakly stable matchings could be of different sizes

34 Weakly stable matchings
For a given SMTI instance, the weakly stable matchings could be of different sizes Example instance: m1: w4 w1 w w1: m4 m1 m2 m2: w2 w1 w w2:(m3 m2) m4 m3: w2 w4 w w3: m1 m3 m4: w1 w4 w 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

35 Weakly stable matchings
For a given SMTI instance, the weakly stable matchings could be of different sizes Example instance: m1: w4 w1 w w1: m4 m1 m2 m2: w2 w1 w w2:(m3 m2) m4 m3: w2 w4 w w3: m1 m3 m4: w1 w4 w 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 M2={(m1,w4), (m3,w2),(m4,w1)} is a weakly stable matching of size 3

36 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

37 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 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

38 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 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

39 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

40 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 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

41 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

42 Hospitals/Residents problem: example
r1: h2 h1 r2: h1 h Each hospital has 2 posts r3: 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

43 Hospitals/Residents problem: matching
r1: h2 h1 r2: h1 h Each hospital has 2 posts r3: 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)

44 Hospitals/Residents problem: matching
r1: h2 h1 r2: h1 h Each hospital has 2 posts r3: 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 acceptable and 2) either r is unmatched in M or r prefers h to his/her assigned hospital in M 3) either h is undersubscribed in M or h prefers r to its worst resident assigned in M

45 HR: unstable matching r1: h2 h1 r2: h1 h2 Each hospital has 2 posts
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 acceptable and 2) either r is unmatched in M or r prefers h to his/her assigned hospital in M 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

46 HR: unstable matching r1: h2 h1 r2: h1 h2 Each hospital has 2 posts
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 acceptable and 2) either r is unmatched in M or r prefers h to his/her assigned hospital in M 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

47 HR: unstable matching r1: h2 h1 r2: h1 h2 Each hospital has 2 posts
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 acceptable and 2) either r is unmatched in M or r prefers h to his/her assigned hospital in M 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

48 HR: stable matching r1: h2 h1 r2: h1 h2 Each hospital has 2 posts
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 acceptable and 2) either r is unmatched in M or r prefers h to his/her assigned hospital in M 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

49 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)

50 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

51 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

52 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:

53 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:

54 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: The matching is not stable as {1,3} blocks.

55 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: The matching is not stable as {1,3} blocks. This instance does not admit a stable matching!

56 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

57 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?

58 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: 3: 4:

59 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: 3: 4: The above fixture allocation is: {1, 2}, {1, 4}, {2, 3}, {3, 4}

60 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 preferences 1: 2: 3: 4: The above fixture allocation is not stable as {1,3} is a blocking pair

61 team capacity preferences 1: 2 2 3 4 2: 2 1 3 4 3: 2 1 2 4 4: 2 1 2 3
Example SF instance: team capacity preferences 1: 2: 3: 4: 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?

62 Ties – super-stability
Summary of complexity results for stable matching problems with ties Problem No ties Ties – weak stability strong stability Ties – super-stability SMTI P NPC (max) HRT SRT NPC ? SFT 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


Download ppt "A Grand Tour of Stable Matching Problems"

Similar presentations


Ads by Google