strong stability in the hospitals/residents problem robert w. irving, david f. manlove and sandy...
TRANSCRIPT
Strong 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 andNuffield Foundation Award NUF-NAL-02
2
Hospitals/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
3
Hospitals/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
4
An instance of HR
r1: h2 h3 h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 h1 h3
r6: h3
h1:3: r2 r1 r3 r5
h2:2: r3 r2 r1 r4 r5
h3:1: r4 r5 r1 r3 r6
5
A matching in HR
r1: h2 h3 h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 h1 h3
r6: h3
h1:3: r2 r1 r3 r5
h2:2: r3 r2 r1 r4 r5
h3:1: r4 r5 r1 r3 r6
6
Indifference 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
7
An instance of HRT
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
8
A matching in HRT
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
9
A blocking pair
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
r4 and h2 form a blocking pair
10
Stability• 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
11
Another blocking pair
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
r1 and h3 form a blocking pair
12
A strongly stable matching
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
13
State 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))
14
State 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))
15
The 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
16
An instance of HRT
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
17
A 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
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
18
A deletion
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3)
19
Another provisional assignment
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3)
20
Several provisional assignments
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3)
21
The provisional assignment graph with one bound resident
r2
r3
r4
r5
r1h1:(3)
h2:(2)
h3:(1)
22
Removing a bound resident
r2
r3
r4
r5
r1h1:(3)
h2:(1)
h3:(1)
23
The reduced provisional assignment graph
r3
r4
r5
r1
h2:(1)
h3:(1)
24
The critical set
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3)
25
Deletions from the critical set, end of loop iteration
r1: h1
r2: h2 h1
r3: h2 h1
r4: h3
r5: (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2
h3:1: (r4 r5)
26
Second loop iteration, starting with a provisional assignment
r1: h1
r2: h2 h1
r3: h2 h1
r4: h3
r5: (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2
h3:1: (r4 r5)
27
Several provisional assignments
r1: h1
r2: h2 h1
r3: h2 h1
r4: h3
r5: (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2
h3:1: (r4 r5)
28
The final provisional assignment graph with four bound residents
r2
r3
r4
r5
r1h1:(3)
h2:(2)
h3:(1)
29
Removing a bound resident
r2
r3
r4
r5
r1h1:(2)
h2:(2)
h3:(1)
30
Removing another bound resident
r2
r3
r4
r5
r1h1:(2)
h2:(1)
h3:(1)
31
Removing a third bound resident
r2
r3
r4
r5
r1h1:(2)
h2:(0)
h3:(1)
32
Removing a bound resident with an additional provisional assignment
r2
r3
r4
r5
r1h1:(1)
h2:(0)
h3:(1)
33
The reduced final provisional assignment graph
r4h3:(1)
34
A cancelled assignment
r1: h1
r2: h2 h1
r3: h2 h1
r4: h3
r5: (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2
h3:1: (r4 r5)
35
A feasible matching
r1: h1
r2: h2 h1
r3: h2 h1
r4: h3
r5: (h1 h3)
r6:
h1:3: r2 (r1 r3) r5
h2:2: r3 r2
h3:1: (r4 r5)
36
A strongly stable matching
r1: (h2 h3) h1
r2: h2 h1
r3: h3 h2 h1
r4: h2 h3
r5: h2 (h1 h3)
r6: h3
h1:3: r2 (r1 r3) r5
h2:2: r3 r2 (r1 r4 r5)
h3:1: (r4 r5) (r1 r3) r6
37
repeat {
while some resident r is free and has a non-empty list
for each hospital h at the head of r’s list {
provisionally assign r to h;
if h is fully-subscribed or over-subscribed {
for each resident r' dominated on h’s 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 h’s list
delete the pair (r,h);
}until Z = ;
38
let 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;
39
Properties 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
40
Strong 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
41
Open 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