Title: Strong%20Stability%20in%20the%20Hospitals/Residents%20Problem
1Strong Stability in the Hospitals/Residents
Problem
- Robert W. Irving, David F. Manlove and Sandy Scott
University of Glasgow Department of Computing
Science Supported by EPSRC grant GR/R84597/01
and Nuffield Foundation Award NUF-NAL-02
2Hospitals/Residents problem(HR) Motivation
- Graduating medical students or residents seek
- hospital appointments
- Centralised matching schemes are in operation
- Schemes produce stable matchings of residents to
- hospitals
- National Resident Matching Program (US)
- other large-scale matching schemes, both
- educational and vocational
3Hospitals/Residents problem(HR) Definition
- a set H of hospitals, a set R of residents
- each resident r ranks a subset of H in strict
order of preference - each hospital h has ph posts, and ranks in strict
order those residents who have ranked it - a matching M is a subset of the acceptable pairs
of R ? H such that h (r,h) ? M ? 1 for all r
and r (r,h) ? M ? ph for all h
4An instance of HR
- r1 h2 h3 h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 h1 h3
- r6 h3
- h13 r2 r1 r3 r5
- h22 r3 r2 r1 r4 r5
- h31 r4 r5 r1 r3 r6
5A matching in HR
- r1 h2 h3 h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 h1 h3
- r6 h3
- h13 r2 r1 r3 r5
- h22 r3 r2 r1 r4 r5
- h31 r4 r5 r1 r3 r6
6Indifference in the ranking
- ties
- h1 r7 (r1 r3) r5
- version of HR with ties is HRT
- more general form of indifference involves
partial orders - version of HR with partial orders is HRP
7An instance of HRT
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
8A matching in HRT
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
9A blocking pair
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
r4 and h2 form a blocking pair
10Stability
- a matching M is stable unless there is an
acceptable pair (r,h) ? M such that, if they
joined together - both would be better off (weak stability)
- neither would be worse off (super-stability)
- one would be better off and the other no worse
off (strong stability) - such a pair constitutes a blocking pair
- hereafter consider only strong stability
11Another blocking pair
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
r1 and h3 form a blocking pair
12A strongly stable matching
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
13State of the art
- weak stability
- weakly stable matching always exists
- efficient algorithm (Gale and Shapley (AMM,
1962), Gusfield and Irving (MIT Press, 1989)) - matchings may vary in size (Manlove et al. (TCS,
2002)) - many NP-hard problems, including finding largest
weakly stable matching (Iwama et al. (ICALP,
1999), Manlove et al. (TCS, 2002))
14State of the art
- super-stability
- super-stable matching may or may not exist
- efficient algorithm (Irving, Manlove and Scott
(SWAT, 2000)) - strong stability
- strongly stable matching may or may not exist
- here we present an efficient algorithm for HRT
- in contrast, show problem is NP-complete in HRP
- (Irving, Manlove and Scott (STACS, 2003))
15The algorithm in brief
- repeat
- provisionally assign all free residents to
hospitals at head of list - form reduced provisional assignment graph
- find critical set of residents and make
corresponding deletions - until critical set is empty
- form a feasible matching
- check if feasible matching is strongly stable
16An instance of HRT
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
17A provisional assignment and a dominated resident
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
18A deletion
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3)
19Another provisional assignment
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3)
20Several provisional assignments
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3)
21The provisional assignment graph with one bound
resident
r1
h1(3)
r2
h2(2)
r3
r4
h3(1)
r5
22Removing a bound resident
r1
h1(3)
r2
h2(1)
r3
r4
h3(1)
r5
23The reduced provisional assignment graph
r1
h2(1)
r3
r4
h3(1)
r5
24The critical set
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3)
25Deletions from the critical set, end of loop
iteration
- r1 h1
- r2 h2 h1
- r3 h2 h1
- r4 h3
- r5 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2
- h31 (r4 r5)
26Second loop iteration, starting with a
provisional assignment
- r1 h1
- r2 h2 h1
- r3 h2 h1
- r4 h3
- r5 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2
- h31 (r4 r5)
27Several provisional assignments
- r1 h1
- r2 h2 h1
- r3 h2 h1
- r4 h3
- r5 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2
- h31 (r4 r5)
28The final provisional assignment graph with four
bound residents
r1
h1(3)
r2
h2(2)
r3
r4
h3(1)
r5
29Removing a bound resident
r1
h1(2)
r2
h2(2)
r3
r4
h3(1)
r5
30Removing another bound resident
r1
h1(2)
r2
h2(1)
r3
r4
h3(1)
r5
31Removing a third bound resident
r1
h1(2)
r2
h2(0)
r3
r4
h3(1)
r5
32Removing a bound resident with an additional
provisional assignment
r1
h1(1)
r2
h2(0)
r3
r4
h3(1)
r5
33The reduced final provisional assignment graph
r4
h3(1)
34A cancelled assignment
- r1 h1
- r2 h2 h1
- r3 h2 h1
- r4 h3
- r5 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2
- h31 (r4 r5)
35A feasible matching
- r1 h1
- r2 h2 h1
- r3 h2 h1
- r4 h3
- r5 (h1 h3)
- r6
- h13 r2 (r1 r3) r5
- h22 r3 r2
- h31 (r4 r5)
36A strongly stable matching
- r1 (h2 h3) h1
- r2 h2 h1
- r3 h3 h2 h1
- r4 h2 h3
- r5 h2 (h1 h3)
- r6 h3
- h13 r2 (r1 r3) r5
- h22 r3 r2 (r1 r4 r5)
- h31 (r4 r5) (r1 r3) r6
37repeat while some resident r is free and has a
non-empty list for each hospital h at the head
of rs list provisionally assign r to
h if h is fully-subscribed or over-subscribed
for each resident r' dominated on hs
list delete the pair (r',h) form the
reduced assignment graph find the critical set
Z of residents for each hospital h ? N(Z) for
each resident r in the tail of hs list delete
the pair (r,h) until Z ?
38let G be the final provisional assignment
graph let M be a feasible matching in G if M is
strongly stable output M else no strongly
stable matching exists
39Properties of the algorithm
- algorithm has complexity O(a2), where a is the
number of acceptable pairs - bounded below by complexity of finding a perfect
matching in a bipartite graph - matching produced by the algorithm is
resident-optimal - same set of residents matched and posts filled in
every strongly stable matching
40Strong Stability in HRP
- HRP is NP-complete
- even if all hospitals have just one post, and
every pair is acceptable - reduction from RESTRICTED 3-SAT
- Boolean formula B in CNF where each variable v
occurs in exactly two clauses as variable v, and
exactly two clauses as v
41Open problems
- find a weakly stable matching with minimum number
of strongly stable blocking pairs - size of strongly stable matchings relative to
possible sizes of weakly stable matchings - hospital-oriented algorithm