430 likes | 590 Views
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 and Nuffield Foundation Award NUF-NAL-02. Hospitals/Residents problem (HR): Motivation.
E N D
Strong Stability in the Hospitals/Residents Problem Robert W. Irving, David F. Manloveand Sandy Scott University of Glasgow Department of Computing Science Supported by EPSRC grant GR/R84597/01 and Nuffield Foundation Award NUF-NAL-02
Hospitals/Residents problem(HR): Motivation • Graduating medical students or residents seek hospital appointments • Centralised matching schemes are in operation • Schemes produce stable matchingsof residents to hospitals • National Resident Matching Program (US) • other large-scale matching schemes, both educational and vocational
Hospitals/Residents problem(HR): Definition • a set H of hospitals,a setRofresidents • 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 RH such that |{h: (r,h) M}| 1 for all r and |{r: (r,h) M}| ph for all h
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 An instance of HR
r1: h2 h3 h1 r2: h2h1 r3: h3 h2h1 r4: h2 h3 r5: h2 h1 h3 r6: h3 h1:3: r2 r1r3 r5 h2:2: r3 r2r1 r4r5 h3:1: r4 r5 r1 r3r6 A matching in HR
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
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 An instance of HRT
r1: (h2 h3) h1 r2: h2h1 r3: h3 h2h1 r4: h2 h3 r5: h2 (h1 h3) r6: h3 h1:3: r2 (r1r3) r5 h2:2: r3 r2 (r1 r4r5) h3:1: (r4 r5) (r1 r3) r6 A matching in HRT
r1: (h2 h3) h1 r2: h2h1 r3: h3 h2h1 r4: h2 h3 r5: h2 (h1 h3) r6: h3 h1:3: r2 (r1r3) r5 h2:2: r3 r2 (r1r4r5) h3:1: (r4 r5) (r1 r3) r6 A blocking pair r4 and h2 form a blocking pair
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
r1: (h2h3) h1 r2: h2h1 r3: h3 h2h1 r4: h2 h3 r5: h2 (h1 h3) r6: h3 h1:3: r2 (r1r3) r5 h2:2: r3 r2 (r1 r4r5) h3:1: (r4 r5) (r1 r3) r6 Another blocking pair r1 and h3 form a blocking pair
r1: (h2 h3) h1 r2: h2 h1 r3: h3h2 h1 r4: h2h3 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 A strongly stable matching
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))
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))
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
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 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 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: h1:3: r2 (r1 r3) r5 h2:2: r3 r2 (r1 r4 r5) h3:1: (r4 r5) (r1 r3) 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: r3r2 (r1 r4 r5) h3:1: (r4 r5) (r1 r3) 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: r3r2 (r1r4r5) h3:1: (r4 r5) (r1r3) Several provisional assignments
The provisional assignment graph with one bound resident r1 h1:(3) r2 h2:(2) r3 r4 h3:(1) r5
Removing a bound resident r1 h1:(3) r2 h2:(1) r3 r4 h3:(1) r5
The reduced provisional assignment graph r1 h2:(1) r3 r4 h3:(1) r5
r1: (h2 h3) h1 r2: h2 h1 r3: h3 h2 h1 r4: h2h3 r5: h2 (h1 h3) r6: h1:3: r2 (r1 r3) r5 h2:2: r3r2 (r1 r4 r5) h3:1: (r4 r5) (r1 r3) The critical set
r1: h1 r2: h2 h1 r3: h2 h1 r4: h3 r5: (h1 h3) r6: h1:3: r2 (r1 r3) r5 h2:2: r3r2 h3:1: (r4 r5) 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: r3r2 h3:1: (r4 r5) 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: r3r2 h3:1: (r4r5) Several provisional assignments
The final provisional assignment graph with four bound residents r1 h1:(3) r2 h2:(2) r3 r4 h3:(1) r5
Removing a bound resident r1 h1:(2) r2 h2:(2) r3 r4 h3:(1) r5
Removing another bound resident r1 h1:(2) r2 h2:(1) r3 r4 h3:(1) r5
Removing a third bound resident r1 h1:(2) r2 h2:(0) r3 r4 h3:(1) r5
Removing a bound resident with an additional provisional assignment r1 h1:(1) r2 h2:(0) r3 r4 h3:(1) r5
r1: h1 r2: h2 h1 r3: h2 h1 r4: h3 r5: (h1h3) r6: h1:3: r2 (r1 r3) r5 h2:2: r3r2 h3:1: (r4r5) A cancelled assignment
r1: h1 r2: h2 h1 r3: h2 h1 r4: h3 r5: (h1h3) r6: h1:3: r2 (r1 r3) r5 h2:2: r3r2 h3:1: (r4r5) A feasible matching
r1: (h2 h3) h1 r2: h2 h1 r3: h3h2 h1 r4: h2h3 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 A strongly stable matching
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 hN(Z) for each resident r in the tail of h’s list delete the pair (r,h); }until Z = ;
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;
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
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
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