0% found this document useful (0 votes)
12 views15 pages

Lecture11 Matching3 S

Uploaded by

yangyjyeah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views15 pages

Lecture11 Matching3 S

Uploaded by

yangyjyeah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Matching III

One to Many Matching

Indranil Chakraborty

National University of Singapore

1 / 15
Question

What happens if we run TTC on the marriage problem?


Example
Two men, Two women
Preferences:

w1 ≻m1 w2 ≻m1 m1 ; m2 ≻w1 m1 ≻w1 w1


w2 ≻m2 w1 ≻m2 m2 ; m1 ≻w2 m2 ≻w2 w2

Two stable matchings: {(m1 , w1 ) and (m2 , w2 )} and


{(m1 , w2 ) and (m2 , w1 )}
First one is better for men and second one is better for women
Is it possible to run TTC here?

2 / 15
One-To-Many Matching with Two-Sided Preferences

College Admissions/ National Residency


Matching Program (NRMP)

3 / 15
The Old Ways

Set of residents R and hospitals H


Potential residents submit applications to colleges
Each hospital makes offers equal to the number of positions
Each resident accepts one offer and declines the rest (within a
deadline)
Each hospital moves to its next round of offers .....

The market imploded as offers began to be made earlier and earlier

4 / 15
Resident Matching (College Matching)

Framework
R: Set of residents
r ∈ R: A typical resident (i.e., doctor)
H: Set of hospitals
h ∈ H: A typical hospital
qh : Capacity of hospital h

The problem: To match each resident to a hospital such that


hospital h has no more than qh residents

5 / 15
Example

H = {h1 , h2 , h3 } R = {r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9 }
qh1 = 3, qh2 = 4, qh3 = 2

Preferences
h1 : r1 − r3 − r2 − r4 − r5 − r6 − r9 − r8 − r7
h2 : r2 − r3 − r1 − r4 − r6 − r5 − r9 − r7 − r8
h3 : r1 − r2 − r3 − r4 − r6 − r5 − r9 − r8 − r7

r1 : h1 − h2 − h3 r2 : h1 − h3 − h2
r3 : h2 − h3 − h1 r4 : h1 − h3 − h2
r5 : h1 − h2 − h3 r6 : h3 − h1 − h2
r7 : h2 − h1 − h3 r8 : h1 − h3 − h2
r9 : h1 − h3 − h2

6 / 15
Priority Matching Mechanism

Each resident submits a preference ordered list of hospitals


Each hospital submits a preference ordering of doctors
Round 1: Hospital h consider doctors who have put h as first
preference and accept in order of its preference till all its
positions are filled
Round 2: A hospital that could not fill positions in the round
1 (i) considers doctors who have ranked it at number 2, (ii)
are still unmatched and (iii) makes offers in preference order
till its positions are filled
The hospitals then move to the next rounds if there are
unfilled seats and unmatched doctors.

7 / 15
Priority matching algorithm
qh1 = 3, qh2 = 4, qh3 = 2
h1 : r1 − r3 − r2 − r4 − r5 − r6 − r9 − r8 − r7
h2 : r2 − r3 − r1 − r4 − r6 − r5 − r9 − r7 − r8
h3 : r1 − r2 − r3 − r4 − r6 − r5 − r9 − r8 − r7
r1 : h1 − h2 − h3 r2 : h1 − h3 − h2
r3 : h2 − h3 − h1 r4 : h1 − h3 − h2
r5 : h1 − h2 − h3 r6 : h3 − h1 − h2
r7 : h2 − h1 − h3 r8 : h1 − h3 − h2
r9 : h1 − h3 − h2
Round 1.
Round 2.
Round 3.

Solution:
8 / 15
Problem with Priority Matching

Priority matching may seem to work nicely, but in reality it gives


rise to problems

Residents feel that by putting a hospital (which he has a good


chance) at rank 2 according to true preference may result in not
receiving it later on

Let’s see this in an example

9 / 15
Problem with Priority Matching
Priority Matching Mechanism is not strategy-proof
Example
r1 : h2 − h1 − h3
r2 : h1 − h2 − h3
r3 : h1 − h2 − h3

h1 : r1 − r3 − r2
h2 : r2 − r1 − r3
h3 : r3 − r1 − r2
What happens when residents report truthfully?
Round 1.
Round 2.
Solution:
What happens when r2 reports r2 : h2 − h1 − h3 , instead?
Round 1.
Round 3.
Solution:
10 / 15
DA for Residency Matching

Also useful for college matching clearing house (not used in the
US, yet)
Set of residents R and hospitals H
Many-to-one matching:
each resident can go to only one hospital
but each hospital h can accept qh residents
Each resident r has strict preferences over hospitals H
Each hospital h has strict preferences over residents R

11 / 15
DA for Residency Matching

residents propose to hospitals


hospital h rejects all but its top qh preferred residents
the rejected residents then propose to hospitals that have not
rejected them yet
the hospitals consider the new proposals and the residents
they have not rejected so far and reject all but the top qh
residents based on preference
the procedure continues

12 / 15
Example

H = {h1 , h2 , h3 } R = {r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9 }
qh1 = 3, qh2 = 4, qh3 = 2

Preferences
h1 : r1 − r3 − r2 − r4 − r5 − r6 − r9 − r8 − r7
h2 : r2 − r3 − r1 − r4 − r6 − r5 − r9 − r7 − r8
h3 : r1 − r2 − r3 − r4 − r6 − r5 − r9 − r8 − r7

r1 : h1 − h2 − h3 r2 : h1 − h3 − h2
r3 : h2 − h3 − h1 r4 : h1 − h3 − h2
r5 : h1 − h2 − h3 r6 : h3 − h1 − h2
r7 : h2 − h1 − h3 r8 : h1 − h3 − h2
r9 : h1 − h3 − h2

Let’s run DA Algorithm

13 / 15
Example
qh1 = 3, qh2 = 4, qh3 = 2
h1 : r1 − r3 − r2 − r4 − r5 − r6 − r9 − r8 − r7
h2 : r2 − r3 − r1 − r4 − r6 − r5 − r9 − r7 − r8
h3 : r1 − r2 − r3 − r4 − r6 − r5 − r9 − r8 − r7
r1 : h1 − h2 − h3 r2 : h1 − h3 − h2 r3 : h2 − h3 − h1
r4 : h1 − h3 − h2 r5 : h1 − h2 − h3 r6 : h3 − h1 − h2
r7 : h2 − h1 − h3 r8 : h1 − h3 − h2 r9 : h1 − h3 − h2

Round 1:

Round 2:

Round 3:

Note: This outcome is the same as the outcome of the example for
Priority Matching, but they are often not the same
14 / 15
Properties of DA Algorithm
The properties of DA algorithm continue to hold for this setting,
too

A few points to note


DA is strategyproof only for those who are proposing
In reality this is not considered a problem
Only hospitals had incentives to misreport
Hospitals are asked to report their true needs
The needs of the hospitals are generally difficult to hide
Preferences of doctors are easier to hide
Letting students propose practically solved the problem of
misreporting

The result is a Pareto Efficient matching

15 / 15

You might also like