Example - UNC Computer Science - UNC

A Longer Example:
Stable Matching
UNC Chapel Hill
Z. Guo
Matching Residents to Hospitals
• Goal. Given a set of preferences among n
hospitals and n medical school students,
design a self-reinforcing admissions process.
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
UNC Chapel Hill
r
A
D
C
B
s
B
A
C
D
A
t
s
r
q
t
D
B
C
A
Z. Guo
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
Matching Residents to Hospitals
• Goal. Given a set of preferences among n hospitals
and n medical school students, design a selfreinforcing admissions process.
• Unstable pair: doctor x and hospital A are unstable if:
– x prefers A to its assigned hospital, and
– A prefers x to its admitted student.
• Stable assignment. Assignment with no unstable pairs.
– Natural and desirable condition.
– Individual self-interest will prevent any applicant/hospital
deal from being made.
UNC Chapel Hill
Z. Guo
Example
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
r
A
D
C
B
s
B
A
C
D
t
D
B
C
A
A
t
s
r
q
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
• (A, s), (B, t), (C, q), (D, r) (stable)
• (A, t), (B, q), (C, s), (D, r) (un-stable pair: (B, t))
UNC Chapel Hill
Z. Guo
A Simple Approach
• Function Simple-Proposal-But-Invalid
– Start with some assignment between doctors and
hospitals
– While unstable pair exists
• “swap” to satisfy the pair
– end while
UNC Chapel Hill
Z. Guo
Example
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
r
A
D
C
B
s
B
A
C
D
t
D
B
C
A
A
t
s
r
q
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
• (A, t), (B, q), (C, s), (D, r) (un-stable pair: (B, t))
• -> (A, q), (B, t), (C, s), (D, r)
UNC Chapel Hill
Z. Guo
A Simple Approach
• Function Simple-Proposal-But-Invalid
– Start with some assignment between doctors and
hospitals
– While unstable pair exists
• “swap” to satisfy the pair
– end while
This will NOT work since a loop can occur.
Swaps might continually result in new “dissatisfied” pairs.
UNC Chapel Hill
Z. Guo
The Boston Pool Algorithm
• The Boston Pool algorithm proceeds in rounds until
every position has been filled.
• Each round has two stages:
• 1. An arbitrary unassigned hospital A offers its position
to the best doctor x (according to the hospital’s
preference list) who has not already rejected it.
• 2. Each doctor ultimately accepts the best offer that she
receives, according to her preference list. Thus, if x is
currently unassigned, she (tentatively) accepts the offer
from A. If x already has an assignment but prefers A, she
rejects her existing assignment and (tentatively) accepts
the new offer from A. Otherwise, x rejects the new offer.
UNC Chapel Hill
Z. Guo
Example
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
UNC Chapel Hill
r
A
D
C
B
s
B
A
C
D
t
D
B
C
A
A
t
s
r
q
Z. Guo
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
Example
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
r
A
D
C
B
s
B
A
C
D
t
D
B
C
A
A
t
s
r
q
• (A, s), (B, t), (C, q), (D, r)
UNC Chapel Hill
Z. Guo
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
Example
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
r
A
D
C
B
s
B
A
C
D
t
D
B
C
A
A
t
s
r
q
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
• (A, s), (B, t), (C, q), (D, r)
• The matching (A, r), (B, s), (C, q), (D, t) is also stable
UNC Chapel Hill
Z. Guo
Correctness - Termination
• Observation 1. Hospitals propose to doctors in
decreasing order of preference.
• Observation 2. Once a doctor accepts an offer he/she
never becomes unmatched, he/she only "trades up“.
• Claim. Algorithm terminates after at most n2
rounds.
– Pf. Each hospital makes an offer to each doctor at
most once (only make offer to “new” doctor), so
the algorithm requires at most n2 rounds.
– The average (expected) case is O(n lg n).
UNC Chapel Hill
Z. Guo
Correctness
• Claim. The algorithm always computes a
matching (to all hospitals and doctors)
– Pf. It’s obvious that throughout the process, no
doctor can accept more than one position, and no
hospital can hire more than one doctor.
– Pf. (by contradiction) Suppose that Hospital A is
not matched upon termination of algorithm. Then
some doctor x is not matched upon termination.
By Observation 2, x never received an offer.
But, A made offers to everyone, since A ends up
unmatched.
UNC Chapel Hill
Z. Guo
Correctness
• Claim. No unstable pair.
– Pf. Suppose doctor x is assigned to hospital A in
the final matching, but prefers B. Because every
doctor accepts the best offer she receives, x
received no offer she liked more than A. In
particular, B never made an offer to x.
On the other hand, B made offers to every doctor
they like more than y. Thus, B prefers y to x, and so
there is no instability.
UNC Chapel Hill
Z. Guo
More properties
• Def. x is a feasible doctor for A if there exists a stable
matching that assigns doctor x to hospital A.
• Claim. Each hospital A is rejected only by doctors that
are infeasible for A. (Hospital-Optimal)
• Pf. (by induction) Consider an arbitrary round of the algorithm, in
which doctor x rejects A for B (B is offering x, x prefers B to A).
Every doctor that appears higher than x in B’s preference list has
already rejected B and therefore is infeasible for B (why?).
Now consider an arbitrary matching that assigns x to A:
B prefers x to its partner => unstable.
B prefers its partner to x => its partner is infeasible (why?),
and again the matching is unstable.
UNC Chapel Hill
Z. Guo
More properties
• Def. x is a feasible doctor for A if there exists a stable
matching that assigns doctor x to hospital A.
• Claim. Each hospital A is rejected only by doctors that
are infeasible for A. (Hospital-Optimal)
• Claim. Each doctor x prefers every other feasible match
to its final assignment A. (Doctor-Pessimal)
• Pf. Consider an arbitrary stable matching where A is not matched
with x but with another doctor y.
The previous Claim implies that A prefers x to y (why?).
Because the matching is stable, x must therefore prefer her
assigned hospital to A.
UNC Chapel Hill
Z. Guo
More properties
• No matter which unassigned hospital makes an offer
in each round, the algorithm always computes the
same matching (why?)
• A doctor can potentially improve her assignment by
lying about her preferences
• NRMP reversed its matching algorithm in 1998
– So that potential residents offer to work for
hospitals in preference order, and each hospital
accepts its best offer.
– The precise effect of this change on the patients is
an open problem.
UNC Chapel Hill
Z. Guo
About its history
• Until 1950’s
– Competition among hospitals for the best doctors
led to earlier and earlier offers of internships,
along with tighter deadlines for acceptance.
– In the 1940s, medical schools agreed not to
release information until a common date during
their students’ fourth year. In response, hospitals
began demanding faster decisions.
– Interns were forced to gamble if their third-choice
hospital called first.
UNC Chapel Hill
Z. Guo
In Academia
• For graduate school admission, we have the
“April 15 Resolution”.
• However, the academic job market involves
similar gambles, at least in computer science.
– Some departments start making offers in February
with two-week decision deadlines; others don’t even
start interviewing until late March;
– MIT notoriously waits until May, when all its
interviews are over, before making any faculty offer.
UNC Chapel Hill
Z. Guo
About its history
• In the early 1950’s
– A central clearinghouse for internship
assignments, now called the National Resident
Matching Program (NRMP), was established
– Each year, doctors submit a ranked list of all
hospitals where they would accept an internship,
and each hospital submits a ranked list of doctors
they would accept as interns.
– The NRMP then computes a stable assignment of
interns to hospitals.
UNC Chapel Hill
Z. Guo
It’s not the end of the story
• In reality, most hospitals offer multiple
internships, each doctor ranks only a subset of
the hospitals and vice versa, and
• There are typically more internships than
interested doctors.
• And then it starts getting complicated,
moreover, e.g.,
– There are couples that willing to stay in the same
city/hospital whenever possible…
UNC Chapel Hill
Z. Guo
This course
• This class is ultimately about learning two skills that are
crucial for all computer scientists:
– Intuition: How to think about abstract computation.
UNC Chapel Hill
Z. Guo
This course
• This class is ultimately about learning two skills that are
crucial for all computer scientists:
– Intuition: How to think about abstract computation.
– Language: How to talk about abstract computation.
UNC Chapel Hill
Z. Guo
This course
• This class is ultimately about learning two skills that are
crucial for all computer scientists:
– Intuition: How to think about abstract computation.
– Language: How to talk about abstract computation.
• You can only develop good problem solving skills by
solving problems.
You can only develop good communication skills by
communicating.
UNC Chapel Hill
Z. Guo
Example - Process
• Suppose four doctors q,r,s,t, and four hospitals
A,B,C,D rank each other as follows:
q
A
B
C
D
r
A
D
C
B
s
B
A
C
D
t
D
B
C
A
A
t
s
r
q
B
r
t
q
s
C
t
r
s
q
D
s
r
q
t
• (A,t); (A,t)(B,r); (C,t)(B,r); (C,t)(B,r)(D,s);
(A,s)(C,t)(B,r); (A,s)(C,t)(D,r); (A,s)(B,t)(D,r);
+(C,r?);+(C,s?); (A,s)(B,t)(D,r)(C,q);
UNC Chapel Hill
Z. Guo