```Mechanism Design without
Money
Lecture 8
1
The Match – a success story
Stability – 10 years before Gale Shapley
“For over 50 years, most United States medical school
seniors have chosen to use a matching program …
“Before such matching programs … medical students
often felt pressure, at an unreasonably
early stage…
Truthfulness
accept
from residency
programs.
… This TO
situation
“THE
MOSToffers
IMPORTANT
THING FOR
APPLICANTS
was inefficient,
chaotic,programs
and unfair…”
REMEMBER: Simply
rank internship
based- Congress
on
your TRUE preferences, without consideration for where
you believe you might be ranked by these programs. List
the program that you want most as rank #1, followed by
your next most-preferred program as rank #2, and so
on.” – APPIC
Rural hospitals
• The problem with allocation of doctors to rural
hospitals.
Theorem: When preferences are strict, the set of
doctors employed and positions filled is the same at
every stable matching.
Theorem: When preferences are strict, any hospital
that does not fill its quota at some stable matching
is assigned precisely the same set of students at
every stable matching.
3
Couples
• With time and progress, couples became a
problem for the NRMP.
work very well…
• This was one of the main reasons the original
NRMP algorithm had to be replaced.
4
stable matching with couples
• It turns out that when couples are present, the
set of stable matchings may be empty.
• Example:
= {1 , 2 , 3 },  = {ℎ1 , ℎ2 }, ℎ1 = ℎ2 = 1
≻ 1 ,2 ∶ (ℎ1 , ℎ2 ) ≻ℎ1 ∶ 1 3
≻3 ∶ ℎ1 ℎ2
≻ℎ2 ∶ 3 2
• Even when stable matchings do exist, there does
not have to be a side-optimal stable matching.
5
Detour – complements and substitutes
• Complements: want both A and B (cucumbers
• Substitutes: Given A, I want B less (apples and
bananas when I need a fruit)
• Substitutes: greedy allocation can’t be bad
• Couples create complementarities
6
Where does DA break?
• Suppose we run a doctor’s proposing DA
• If a one of the members of the couple gets a
• Problem – if a couple is temporarily assigned
and then gets kicked out, a vacancy is created
7
Roth and Peranson (1999)
• The new algorithm works as follows:
– First do doctor-proposing deferred-acceptance, with only single
doctors involved.
– Then add the couples one by one (in random order) and using similar
“proposing” mechanism.
– If any cycles are detected, start over.
• If the algorithm terminates, the resulting matching is stable.
• And while supposedly there is no good reason for that, this
algorithm always terminates (when using data from previous years
or when using random preferences).
• Furthermore, it is generally considered a success story, and it was
adopted for other programs as well…
8
Roth and Peranson (1999)
• Clearinghouses currently using the algorithm (Taken from Roth’s slides):
9
Some questions
• When is the set of stable matchings (with
couples) non-empty?
– NPC
• Why does the Roth-Peranson algorithm
works?
10
Large markets again…
• Kojima, Pathak and Roth (working paper) – Using a
model similar to Immorlica and Mahdian (2003) and
Kojima and Pathak (2009), if the number of couples is
( ) then a stable matching exists (and can be
reached by the Roth and Peranson algorithm).
• Intuition: Instead of bounding using the probability
that there is no rejection cycle (and all rejection chains
end with a hospital that had a vacant position). For
couples bound using also that there is no rejection
path from one member of the couple to the other.
11
Extending Roth’s result
• We will present better bounds and slightly
more sophisticated algorithm insure existence
of stable matching even if the number of
couples is ( ) for any  < 1.
• No hope for finding a matching with
probability 1 – o(1) in case the number of
couples is ().
12
Preferences
n “strong” doctors ; many “weak” doctors
1.5n residency programs
k=n1-e couples, all strong doctors
Each hospital ranks all the strong doctors uniformly at
random, and then the weak doctors
Each single ranks all hospitals uniformly at random
Each couple ranks pairs of hospitals uniformly at random, but
only considers pairs which are in the same city
Algorithm
1. Assign the “strong” singles, according to GS
(doctors propose)
2. Insert couples one by one:
a) If inserting couple ci didn’t reject any couple - continue
b) If assigning ci caused couple cp to get rejected:
1.
2.
Backtrack to the time where we assigned cp.
Assign ci before cp and continue
3. Assign all weak doctors (doctors proposing)
Example
H1
1. Assign Alice Bob and Charlie
Alice
H2
C2
H3
4. Assign C2. Bob get
unassigned
Bob
H4
5. Assign Bob. C1 gets
unassigned
C1
H5
Charlie
H6
2. Assign C1. Charlie gets
unassigned
3. Assign Charlie
6. Need to backtrack Redo,
with C2 and then C1
H7
Example
H1
1. Assign Alice Bob and Charlie
2. Assign C2. Bob gets
unassigned
3. Assign Bob
4. Try to Assign C1. They don’t
get their first choice
5. Assign C1. They get their
second choice
Alice
H2
C2
H3
Bob
H4
C1
H5
Charlie
H6
H7
Termination  success
If no couple ever gets unassigned – the algorithm
ends successfully
G - a graph on the couples, such that there is an edge
from ci to cp if ci causes cp to get unassigned
Want: a topological sort on G
Defining such a graph is hard:
- Whether ci gets cp to be unassigned depends on the
rest of the system (who else is assigned right now)
- Worst case bounds are not enough: Every couple
can potentially unassign many other couples – no
topological sort exists
Blobs and the dependency graph
Blob(ci,0) = set of hospitals doctor pairs which ci can
effect, if they were inserted as the first couple
From blobs to edges; if:
1. (H,d’) Blob(cp,0)
2. (H,d) Blob(ci,0)
3. Hospital H prefers d to d’
Then there is an edge ci  cp
Example:
(c2-husband, H2), (c2-wife, H3) Blob(c2,0)
Alice
H2
C2
H3
Bob
H4
C1
H5
(Bob,H5) Blob(c2,0)
(c1-husband, H5) Blob (c1,0) , and H5 prefers Bob
There is an edge from c2  c1
H1
H6
Not everyone can be first: controlling
dependencies using high order blobs
If a couple is not inserted first, they might see a different
picture, e.g. because the hospital they would naturally get
into is now taken by a couple who was there before them
Blob(ci,r) = set of hospitals doctor pairs which ci can effect, if
they were inserted as the first couple and an adversary
would be allowed to close r hospitals
We add an edge ci  cp for high order blobs as well:
(H,d’)B(ci,r) and (H,d)B(ci,r) with H preferring d to d’
High order blob example
H1
Alice
H2
C2
H3
Bob
H4
C1
H5
Charlie
H6
Example:
(c1-husband, H5), (c1-wife, H6), Blob(c1,0)
(c1-husband, H1), (c1-wife, H7), Blob(c1,1)
H7
Proof intuition
Build the dependency graph G based on blobs of order
r=3/
Prove that G is a DAG, and can be topologically sorted
Main Lemma: Blobs of size 3/ are conservative enough,
such that no couple will kick someone outside of their blob
Show that our algorithm implicitly generates the blob graph
and approximates a topological sort of it
Truthfulness in the Match
“Programs should be ranked in sequence, according to
the applicant's true preferences... It is highly unlikely that
either applicants or programs will be able to influence the
outcome of the Match in their favor by submitting a list
that differs from their true preferences.” NRMP
Problem: S1 can cheat
Hospital Preferences
Capacity is 1
Student Preferences
c=(c1,c2)
H3,H4
H1,H2
s2
H2
H4
s1
s1
H4
H1
H1
H2
H3
H3
H2
H1
H2
H3
H4
c1
s1
c1
s2
s1
c2
s1
s1
s2
c1  H1 , c2  H2 , s1  H3 , s2  H4
s1  H1 , s2  H2 , c1  H3 , c2  H4
The only stable
marriage
c2
A linear fraction of couples
• The number of married people is proportional
to the number of people
• Simulations
decent
success
for an
Thm : considershow
a random
market,
with rates
n singles,
constant
fraction
of couples
couples and
more than
20n hospitals.
With
constant
is no stable
• Is
there
a wayprobability,
to insert there
the couples,
to get a
outcome
stable
matching?
Proof idea – isolated markets
1. Find a small structure, which prevents a
stable outcome
•
A few hospitals and doctors, which (if left alone)
can not form a stable outcome
2. Show that this small structure exists with
constant probability
3. Show that no one outside the structure ever
enters a hospital in the isolated market
Instable structure
• For a single s and a
couple c, with
probability O(1/n2) we
have the structure
• If the structure occurs
– no “local” stable
outcome
• There are n singles and
n couples, so with
constant probability
this structure will occur
Doctor Preferences
Hospital Preferences
Capacity is 1
c=(c1,c2)
S
H1
H2
H1,H2
H2
…
…
whatever
H1
s
c2
…
…
…
c1
s
…
…
Isolated market
• The only solution is to insert someone else to h1,h2
thus avoiding the problem
• There is an excess of positions, so if a doctor goes to
h1,h2 there are hospitals which are left free. We need
to show that the doctor prefers them
• A quantitative version of the Rural Hospital Theorem
– Define a probabilistic process, show it’s a martingale, use
Azuma’s inequality
Extensions
• Roommate problems, multi-sided matching
• Many-to-one with discrete money and substitutable preferences
(Crawford and Knoer, 1981; Kelso and Crawford, 1982)
• Many-to-many with responsive preferences (Roth, 1984)
• Matching with contracts (Hatfield and Milgrom, 2005)
• Many-to-many matching with contracts (Echenique and Oveido,
2006)
• Matching in supply chains (Ostrovsky, 2008)
• Matching in networks with bilateral contracts (Hatfield, Kominers,
Nichifor, Ostrovsky and Westkamp, working paper)
• Matching with minimum quotas, regional caps, etc. (Biro, Fleiner,
Irving and Manlove, 2010, Kamada and Kojima, 2013)
29
Related topics
• Roth and Vande Vate (1990) – Random paths
to stability
• Jackson and Watts (2002)
• Ausubel and Milgrom (2000) on package
bidding
30
Questions?
31
Extra Slides
32
Chicken
33
1 hour
A
N minutes
N minutes
B
1 hour
• 50 people want to get from A to B
• There are two roads, each one has two segments. One
takes an hour, and the other one takes the number of
people on it
34
1 hour
A
N minutes
N minutes
B
1 hour
• In the Nash equilibrium, 25 people would take
each route, for a travel time of 85 minutes
35
1 hour
A
N minutes
N minutes
Free
B
1 hour
no time at all. Travel time goes to 100 minutes
36
```