0% found this document useful (0 votes)
13 views94 pages

CourseM2-Chap Matching

This chapter discusses matching theory in microeconomics, focusing on two-sided matching problems where agents from two equal-sized sets are matched based on their preferences. It highlights applications such as the National Resident Matching Program for doctors in the U.S. and outlines the structure of stable matchings, Nash implementation, and the Gale-Shapley algorithm for achieving optimal matches.

Uploaded by

Raphaël Dealet
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)
13 views94 pages

CourseM2-Chap Matching

This chapter discusses matching theory in microeconomics, focusing on two-sided matching problems where agents from two equal-sized sets are matched based on their preferences. It highlights applications such as the National Resident Matching Program for doctors in the U.S. and outlines the structure of stable matchings, Nash implementation, and the Gale-Shapley algorithm for achieving optimal matches.

Uploaded by

Raphaël Dealet
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/ 94

Microeconomics

Chapter 3 Matching

Philippe Solal

GATE Lyon Saint-Etienne, Université de Saint-Etienne

Solal Microeconomics 1/1


Plan of the chapter and references
Matching theory is the part of economics that focuses on the
question of who gets what, particularly when the resources to be
allocated are heterogenous and indivisible: who works at which
jobs, which students go to which school, who receives which
transplantable organ, etc. For this reason, a substantial literature
grown from the seminal article by Gale and Shapley (1962). In a
general matching problem, a set of agents has to be matched,
either to some other set of agents (two-sided matching) or to itself
or to a set of objects (one-sided matching).
In this chapter, we concentrate on two-sided matching problems.
More specifically, we focus the attention on the situation where a
community of agents is divided into two sets of equal size; each
agent has a preference relation over the members of the other set,
and each agent should be matched with exactly one agent from
the other set. This matching problem is the so-called one-to-one
matching problem or marriage problem.
Solal Microeconomics 2/1
Plan of the chapter and references
Matching theory is the part of economics that focuses on the
question of who gets what, particularly when the resources to be
allocated are heterogenous and indivisible: who works at which
jobs, which students go to which school, who receives which
transplantable organ, etc. For this reason, a substantial literature
grown from the seminal article by Gale and Shapley (1962). In a
general matching problem, a set of agents has to be matched,
either to some other set of agents (two-sided matching) or to itself
or to a set of objects (one-sided matching).
In this chapter, we concentrate on two-sided matching problems.
More specifically, we focus the attention on the situation where a
community of agents is divided into two sets of equal size; each
agent has a preference relation over the members of the other set,
and each agent should be matched with exactly one agent from
the other set. This matching problem is the so-called one-to-one
matching problem or marriage problem.
Solal Microeconomics 2/1
Plan of the chapter and references

A typical application is the National resident Matching


Program (NRPD), the market for new doctors in the United
States.
Starting in the early 1950’s, the medical groups organized a
clearinghouse.
A medical student applies to hospitals and goes to interviews
in the final year of medical school, and then submits a
ranking over the set of hospitals to the clearinghouse (the
NRDP). At the same time hospitals submit a ranking over the
set of candidates.
Once all the rankings have been collected, the clearinghouse
uses an algorithm to suggest a match between hospitals and
applicants, and hospitals and applicants are informed.

Solal Microeconomics 3/1


Plan of the chapter and references

The rest of this chapter is organized as follows.


1 One-to-one matching problems
Matching problem as a social choice problem
Stable matching
The structure of stable matchings
The Core and the set of stable matchings
2 Nash implementation
Nash implementation of the stable social choice function
An impossibility result for resolute and stable social choice
functions
3 The Gale-Shapley algorithm
The Deferred Acceptance algorithm
The U-optimal stable matching
Strategy-proofness

Solal Microeconomics 4/1


Plan of the chapter and references
References
Gale D., Shapley L., 1962. College admissions and the
stability of the marriage. American Mathematical Monthly,
69: 9-15.
Manlove D., 2013. Algorithmics of matching under
preferences. Series on Theoretical Computer Science, World
Scientific.
Niederle M., Roth A., Somnez T., 2008. Matching, in Durlauf
S. and Blume L.E. (eds), The New Palgrave Dictionary of
Economics, Macmillan.
Roth A., 2008. Deferred acceptance algorithms: history,
theory, practice, and open questions. Review of Economic
Design 36: 535-569.
Roth A., Sotomayor M., 1990. Two-sided matching: A study
in game theoretic modeling and analysis. Cambridge
University Press.
Solal Microeconomics 5/1
One-to-one matching problems
Matching problems can be casted into the framework of
Social choice theory.
Assume that the cardinality of N is even.
Agents in N belong to one of two disjoints sets, say U and S,
i.e. S ∩ U 6= ∅.
We also assume |S| = |U |.
Each agent in U is matched to exactly one agent in S, and
each agent in S is matched to exactly one agent in U. This
situation is called a one-to-one matching and represents a
social state. Formally, a matching is a bijective function
µ : U −→ S, i.e. the inverse function µ−1 : S −→ U exists; for
each u ∈ U, we have µ−1 (µ(u)) = u, and for each s ∈ S,
µ(µ−1 (s)) = s; the set of social states X is the set of all such
bijective functions.
For each u ∈ U, µ(u) ∈ S is called the mate/partner of u at µ;
and, for each s ∈ S, µ−1 (s) ∈ U is the mate/partner of s at µ.
Solal Microeconomics 6/1
One-to-one matching problems
Matching problems can be casted into the framework of
Social choice theory.
Assume that the cardinality of N is even.
Agents in N belong to one of two disjoints sets, say U and S,
i.e. S ∩ U 6= ∅.
We also assume |S| = |U |.
Each agent in U is matched to exactly one agent in S, and
each agent in S is matched to exactly one agent in U. This
situation is called a one-to-one matching and represents a
social state. Formally, a matching is a bijective function
µ : U −→ S, i.e. the inverse function µ−1 : S −→ U exists; for
each u ∈ U, we have µ−1 (µ(u)) = u, and for each s ∈ S,
µ(µ−1 (s)) = s; the set of social states X is the set of all such
bijective functions.
For each u ∈ U, µ(u) ∈ S is called the mate/partner of u at µ;
and, for each s ∈ S, µ−1 (s) ∈ U is the mate/partner of s at µ.
Solal Microeconomics 6/1
One-to-one matching problems
Matching problems can be casted into the framework of
Social choice theory.
Assume that the cardinality of N is even.
Agents in N belong to one of two disjoints sets, say U and S,
i.e. S ∩ U 6= ∅.
We also assume |S| = |U |.
Each agent in U is matched to exactly one agent in S, and
each agent in S is matched to exactly one agent in U. This
situation is called a one-to-one matching and represents a
social state. Formally, a matching is a bijective function
µ : U −→ S, i.e. the inverse function µ−1 : S −→ U exists; for
each u ∈ U, we have µ−1 (µ(u)) = u, and for each s ∈ S,
µ(µ−1 (s)) = s; the set of social states X is the set of all such
bijective functions.
For each u ∈ U, µ(u) ∈ S is called the mate/partner of u at µ;
and, for each s ∈ S, µ−1 (s) ∈ U is the mate/partner of s at µ.
Solal Microeconomics 6/1
One-to-one matching problems
Matching problems can be casted into the framework of
Social choice theory.
Assume that the cardinality of N is even.
Agents in N belong to one of two disjoints sets, say U and S,
i.e. S ∩ U 6= ∅.
We also assume |S| = |U |.
Each agent in U is matched to exactly one agent in S, and
each agent in S is matched to exactly one agent in U. This
situation is called a one-to-one matching and represents a
social state. Formally, a matching is a bijective function
µ : U −→ S, i.e. the inverse function µ−1 : S −→ U exists; for
each u ∈ U, we have µ−1 (µ(u)) = u, and for each s ∈ S,
µ(µ−1 (s)) = s; the set of social states X is the set of all such
bijective functions.
For each u ∈ U, µ(u) ∈ S is called the mate/partner of u at µ;
and, for each s ∈ S, µ−1 (s) ∈ U is the mate/partner of s at µ.
Solal Microeconomics 6/1
One-to-one matching problems
Matching problems can be casted into the framework of
Social choice theory.
Assume that the cardinality of N is even.
Agents in N belong to one of two disjoints sets, say U and S,
i.e. S ∩ U 6= ∅.
We also assume |S| = |U |.
Each agent in U is matched to exactly one agent in S, and
each agent in S is matched to exactly one agent in U. This
situation is called a one-to-one matching and represents a
social state. Formally, a matching is a bijective function
µ : U −→ S, i.e. the inverse function µ−1 : S −→ U exists; for
each u ∈ U, we have µ−1 (µ(u)) = u, and for each s ∈ S,
µ(µ−1 (s)) = s; the set of social states X is the set of all such
bijective functions.
For each u ∈ U, µ(u) ∈ S is called the mate/partner of u at µ;
and, for each s ∈ S, µ−1 (s) ∈ U is the mate/partner of s at µ.
Solal Microeconomics 6/1
One-to-one matching problems
Matching problems can be casted into the framework of
Social choice theory.
Assume that the cardinality of N is even.
Agents in N belong to one of two disjoints sets, say U and S,
i.e. S ∩ U 6= ∅.
We also assume |S| = |U |.
Each agent in U is matched to exactly one agent in S, and
each agent in S is matched to exactly one agent in U. This
situation is called a one-to-one matching and represents a
social state. Formally, a matching is a bijective function
µ : U −→ S, i.e. the inverse function µ−1 : S −→ U exists; for
each u ∈ U, we have µ−1 (µ(u)) = u, and for each s ∈ S,
µ(µ−1 (s)) = s; the set of social states X is the set of all such
bijective functions.
For each u ∈ U, µ(u) ∈ S is called the mate/partner of u at µ;
and, for each s ∈ S, µ−1 (s) ∈ U is the mate/partner of s at µ.
Solal Microeconomics 6/1
One-to-one matching problems

Example: consider the situation where |U | = |S| = 3. The


following diagram represents a matching where a pair of partners
(u, µ(u)) is represented by the arrow u −→ µ(u) ∈ S:
u1 s1

u2 s2

u2 s3

Solal Microeconomics 7/1


One-to-one matching problems

Each u ∈ U as a (linear) preference relation u ∈ L over the


agents in S, and each s ∈ S as a (linear) preference relation
s ∈ L over the agents in U. Denote by LU the set of all linear
preference profiles (u )u∈U on S. The same can be done for
each s ∈ S, and we use notation LS .
Given u ∈ U and u ∈ LU , we extend this preference relation,
initially defined on S, to the set of matchings X in the
following natural way: agent u ∈ U prefers matching µ to
0
matching µ if he/she prefers his/her partner under µ to
0 0
his/her partner under µ : µ(u) u µ (u). We still use u to
represent the preference relation over X. The same can be
done for each s ∈ S. Therefore, when an agent is matched
with the same agent in two different matchings, he/she
considers these two matchings as equivalent. In other words,
individual preferences over X are weak orders.
Solal Microeconomics 8/1
One-to-one matching problems

Each u ∈ U as a (linear) preference relation u ∈ L over the


agents in S, and each s ∈ S as a (linear) preference relation
s ∈ L over the agents in U. Denote by LU the set of all linear
preference profiles (u )u∈U on S. The same can be done for
each s ∈ S, and we use notation LS .
Given u ∈ U and u ∈ LU , we extend this preference relation,
initially defined on S, to the set of matchings X in the
following natural way: agent u ∈ U prefers matching µ to
0
matching µ if he/she prefers his/her partner under µ to
0 0
his/her partner under µ : µ(u) u µ (u). We still use u to
represent the preference relation over X. The same can be
done for each s ∈ S. Therefore, when an agent is matched
with the same agent in two different matchings, he/she
considers these two matchings as equivalent. In other words,
individual preferences over X are weak orders.
Solal Microeconomics 8/1
One-to-one matching problems

A social choice function F : LU × LS −→ 2X \ {∅} assigns a


set of one-to-one matchings F(`) to each feasible preference
profile ` ∈ LU × LS . In the context of matchings, social choice
functions are often called matching rules.
Questions: Do there exist desirable axioms for matching
problems? How to construct social choice functions which
satisfy these axioms? Are these social choice functions, if
they exist, Nash implementable?

Solal Microeconomics 9/1


One-to-one matching problems
Before introducing formally a natural axiom for F, let us consider
an example with 6 agents. Assume that the preference profile
` ∈ LU × LS is as follows:
Agent u1 s1 u1 s2 u1 s3 Agent s1 u2 s1 u1 s1 u3
Agent u2 s2 u2 s1 u2 s3 Agent s2 u1 s2 u2 s2 u3
Agent u3 s1 u3 s2 u3 s3 Agent s3 u1 s3 u2 s3 u3
Assume further that the matching F(`) =: µ is the following:
u1 s1

u2 s2

µ − 1 ( s1 ) = u 3 s3 = µ (u1 )

Matching µ is not desirable because the unmatched pair (u1 , s1 )


would prefer to be matched: s1 u1 µ(u1 ) and u1 s1 µ−1 (s1 ).
Solal Microeconomics 10 / 1
One-to-one matching problems
Assume now that preferences remain the same:
Agent u1 s1 u1 s2 u1 s3 Agent s1 u2 s1 u1 s1 u3
Agent u2 s2 u2 s1 u2 s3 Agent s2 u1 s2 u2 s2 u3
Agent u3 s1 u3 s2 u3 s3 Agent s3 u1 s3 u2 s3 u3
0 0
But assume that F(`) =: µ , where µ is as follows:
u1 s1

u2 s2

u3 s3

u1 and u2 are matched with their top partner. So, they do not
want to be matched with another agent; u3 is matched with
his/her worst agent in S. Because u3 is ranked last by each agent
in S, there is no agent in S who would prefer to be matched with
u3 . We say that this matching is stable. 
Solal Microeconomics 11 / 1
One-to-one matching problems

A matching µ ∈ X is blocked by a unmatched pair of agents


(u, s) ∈ U × S under ` ∈ LU × LS if:

s u µ(u) and u s µ−1 (s),

that is u and s prefer each other to their respective partner


under µ.
A matching µ ∈ X is stable under ` ∈ LU × LS if it is not
blocked by any pair of unmatched agents. Denote by X` ⊆ X
the set of stable matchings under ` ∈ LU × LS .
We differ the question of existence of a stable matching for
each ` ∈ LN . Instead, we investigate the structure of X` .

Solal Microeconomics 12 / 1
One-to-one matching problems

Knuth (1976) proves that, for each ` ∈ LN , the set of stable


matchings X` has a lattice structure. To introduce lattice
structures, we need some definitions.
Recall that the pair (X, ) is a partially ordered set (or a
partial order) if the binary relation  is Reflexive,
Antisymmetric and Transitive.
Let (X, ) be a partially ordered set. An element x ∈ X is an
upper bound (lower bound) for a nonempty subset Y ⊆ X if:

∀y ∈ Y, xy (y  x).

If the set of upper bounds (lower bounds) for Y has a lowest


(greatest) element, then this element is the supremum
W
(infimum) of Y in X. The supremum is denoted by Y and
V
the infimum by Y.

Solal Microeconomics 13 / 1
One-to-one matching problems

Knuth (1976) proves that, for each ` ∈ LN , the set of stable


matchings X` has a lattice structure. To introduce lattice
structures, we need some definitions.
Recall that the pair (X, ) is a partially ordered set (or a
partial order) if the binary relation  is Reflexive,
Antisymmetric and Transitive.
Let (X, ) be a partially ordered set. An element x ∈ X is an
upper bound (lower bound) for a nonempty subset Y ⊆ X if:

∀y ∈ Y, xy (y  x).

If the set of upper bounds (lower bounds) for Y has a lowest


(greatest) element, then this element is the supremum
W
(infimum) of Y in X. The supremum is denoted by Y and
V
the infimum by Y.

Solal Microeconomics 13 / 1
One-to-one matching problems

Knuth (1976) proves that, for each ` ∈ LN , the set of stable


matchings X` has a lattice structure. To introduce lattice
structures, we need some definitions.
Recall that the pair (X, ) is a partially ordered set (or a
partial order) if the binary relation  is Reflexive,
Antisymmetric and Transitive.
Let (X, ) be a partially ordered set. An element x ∈ X is an
upper bound (lower bound) for a nonempty subset Y ⊆ X if:

∀y ∈ Y, xy (y  x).

If the set of upper bounds (lower bounds) for Y has a lowest


(greatest) element, then this element is the supremum
W
(infimum) of Y in X. The supremum is denoted by Y and
V
the infimum by Y.

Solal Microeconomics 13 / 1
One-to-one matching problems

Knuth (1976) proves that, for each ` ∈ LN , the set of stable


matchings X` has a lattice structure. To introduce lattice
structures, we need some definitions.
Recall that the pair (X, ) is a partially ordered set (or a
partial order) if the binary relation  is Reflexive,
Antisymmetric and Transitive.
Let (X, ) be a partially ordered set. An element x ∈ X is an
upper bound (lower bound) for a nonempty subset Y ⊆ X if:

∀y ∈ Y, xy (y  x).

If the set of upper bounds (lower bounds) for Y has a lowest


(greatest) element, then this element is the supremum
W
(infimum) of Y in X. The supremum is denoted by Y and
V
the infimum by Y.

Solal Microeconomics 13 / 1
One-to-one matching problems

Note that if Y has a supremum (infimum), it is unique.


Indeed, let Z ⊆ X be the set of upper bounds (lower bounds)
for Y. Assume, by way of contradiction, that z and z0 are two
lowest (greatest) elements for Z. Then, z0  z and z  z0 . By
antisymmetry of , we have z = z0 .
To be careful with the following: Assume that X = R and the
binary relation is the usual relation ≥, which is in fact
total/complete. Let Y = [0, 1) ∪ {2} ⊆ X. Then, the
supremum of [0, 1) in Y is 2, and the supremum [0, 1) in X is
equal to 1.
Let (2X ⊆) be the collection of all subsets of a nonempty set
X. Let C = {Ci }i be a subcollection of 2X . Then,
_ [ ^ \
C= Ci and C= Ci .
i i

Solal Microeconomics 14 / 1
One-to-one matching problems

A lattice is a partially ordered set (X, ) such that each


two-element subset {x, y} ⊆ X has a supremum and an
infimum in X, i.e.
(i) {x, y} exists in X, and this supremum is denoted by x ∨ y.
W

(ii) {x, y} exists in X, and this infimum is denoted by x ∧ y.


V

Furthermore if this property holds for each subset Y of X, i.e.


W V
Y and Y exist in X, then the lattice is called a complete
lattice. In fact, if (X, ) is a lattice and X is a finite set, then it
is a complete lattice.

Solal Microeconomics 15 / 1
One-to-one matching problems
Examples
The totally ordered real line (R, ≥) is a lattice where, for each
{x, y} ⊆ R, x ∨ y = max{x, y} and x ∧ y = min{x, y}.
For any n ∈ N, (Rn , ≥n ) is a partially ordered set where, for
each {x, y} ⊆ Rn , x ≥n y if, for each i ∈ [n], xi ≥ yi . It
constitutes also a lattice where x ∨ y = (xi ∨ yi )i∈[n] and
x ∧ y = (xi ∧ yi )i∈[n] . The same is true for (Nn ≥n ), where
N = (0, · · · , 0).
V n

The partially ordered set (2X , ⊆), where X is nonempty and


finite, is a complete lattice.
The set X = {(0, 0), (−1, 1), (2, 1), (1, 2), (5, 5)} ⊆ N × N,
ordered by ≥2 , is a partially ordered set, but is not a lattice.
Indeed, the set of upper bounds for {(0, 0), (−1, 1)} is
Z = {(1, 2), (2, 1), (5, 5)}, and Z does not have a lowest
element because (2, 1) and (1, 2) are not comparable through
≥2 . These two elements are the two minimal elements of Z.
Solal Microeconomics 16 / 1
One-to-one matching problems
Examples
The totally ordered real line (R, ≥) is a lattice where, for each
{x, y} ⊆ R, x ∨ y = max{x, y} and x ∧ y = min{x, y}.
For any n ∈ N, (Rn , ≥n ) is a partially ordered set where, for
each {x, y} ⊆ Rn , x ≥n y if, for each i ∈ [n], xi ≥ yi . It
constitutes also a lattice where x ∨ y = (xi ∨ yi )i∈[n] and
x ∧ y = (xi ∧ yi )i∈[n] . The same is true for (Nn ≥n ), where
N = (0, · · · , 0).
V n

The partially ordered set (2X , ⊆), where X is nonempty and


finite, is a complete lattice.
The set X = {(0, 0), (−1, 1), (2, 1), (1, 2), (5, 5)} ⊆ N × N,
ordered by ≥2 , is a partially ordered set, but is not a lattice.
Indeed, the set of upper bounds for {(0, 0), (−1, 1)} is
Z = {(1, 2), (2, 1), (5, 5)}, and Z does not have a lowest
element because (2, 1) and (1, 2) are not comparable through
≥2 . These two elements are the two minimal elements of Z.
Solal Microeconomics 16 / 1
One-to-one matching problems
Examples
The totally ordered real line (R, ≥) is a lattice where, for each
{x, y} ⊆ R, x ∨ y = max{x, y} and x ∧ y = min{x, y}.
For any n ∈ N, (Rn , ≥n ) is a partially ordered set where, for
each {x, y} ⊆ Rn , x ≥n y if, for each i ∈ [n], xi ≥ yi . It
constitutes also a lattice where x ∨ y = (xi ∨ yi )i∈[n] and
x ∧ y = (xi ∧ yi )i∈[n] . The same is true for (Nn ≥n ), where
N = (0, · · · , 0).
V n

The partially ordered set (2X , ⊆), where X is nonempty and


finite, is a complete lattice.
The set X = {(0, 0), (−1, 1), (2, 1), (1, 2), (5, 5)} ⊆ N × N,
ordered by ≥2 , is a partially ordered set, but is not a lattice.
Indeed, the set of upper bounds for {(0, 0), (−1, 1)} is
Z = {(1, 2), (2, 1), (5, 5)}, and Z does not have a lowest
element because (2, 1) and (1, 2) are not comparable through
≥2 . These two elements are the two minimal elements of Z.
Solal Microeconomics 16 / 1
One-to-one matching problems
Examples
The totally ordered real line (R, ≥) is a lattice where, for each
{x, y} ⊆ R, x ∨ y = max{x, y} and x ∧ y = min{x, y}.
For any n ∈ N, (Rn , ≥n ) is a partially ordered set where, for
each {x, y} ⊆ Rn , x ≥n y if, for each i ∈ [n], xi ≥ yi . It
constitutes also a lattice where x ∨ y = (xi ∨ yi )i∈[n] and
x ∧ y = (xi ∧ yi )i∈[n] . The same is true for (Nn ≥n ), where
N = (0, · · · , 0).
V n

The partially ordered set (2X , ⊆), where X is nonempty and


finite, is a complete lattice.
The set X = {(0, 0), (−1, 1), (2, 1), (1, 2), (5, 5)} ⊆ N × N,
ordered by ≥2 , is a partially ordered set, but is not a lattice.
Indeed, the set of upper bounds for {(0, 0), (−1, 1)} is
Z = {(1, 2), (2, 1), (5, 5)}, and Z does not have a lowest
element because (2, 1) and (1, 2) are not comparable through
≥2 . These two elements are the two minimal elements of Z.
Solal Microeconomics 16 / 1
One-to-one matching problems

Let X be set of matchings under ` ∈ LU × LS . Define the


binary relation  on X as follows:
0 0
µ  µ if ∀u ∈ U, µ (u) u µ (u).
0 0
If µ  µ , then all members of U prefer µ to µ . Because u is
0
reflexive, it can be the case that µ(u) = µ (u) for some u.
0 0
Thus, µ  µ means that if µ 6= µ , then all members U prefer
0
µ at least as well as µ , with at least one u ∈ U such that
0
µ (u) 6 = µ (u).
Because each preference relation u , u ∈ U, is reflexive,
antisymmetric and transitive, so is  on X. But the binary
relation  on X is not complete: (X, ) is a partially ordered
set.

Solal Microeconomics 17 / 1
One-to-one matching problems

Let X be set of matchings under ` ∈ LU × LS . Define the


binary relation  on X as follows:
0 0
µ  µ if ∀u ∈ U, µ (u) u µ (u).
0 0
If µ  µ , then all members of U prefer µ to µ . Because u is
0
reflexive, it can be the case that µ(u) = µ (u) for some u.
0 0
Thus, µ  µ means that if µ 6= µ , then all members U prefer
0
µ at least as well as µ , with at least one u ∈ U such that
0
µ (u) 6 = µ (u).
Because each preference relation u , u ∈ U, is reflexive,
antisymmetric and transitive, so is  on X. But the binary
relation  on X is not complete: (X, ) is a partially ordered
set.

Solal Microeconomics 17 / 1
One-to-one matching problems

Let X be set of matchings under ` ∈ LU × LS . Define the


binary relation  on X as follows:
0 0
µ  µ if ∀u ∈ U, µ (u) u µ (u).
0 0
If µ  µ , then all members of U prefer µ to µ . Because u is
0
reflexive, it can be the case that µ(u) = µ (u) for some u.
0 0
Thus, µ  µ means that if µ 6= µ , then all members U prefer
0
µ at least as well as µ , with at least one u ∈ U such that
0
µ (u) 6 = µ (u).
Because each preference relation u , u ∈ U, is reflexive,
antisymmetric and transitive, so is  on X. But the binary
relation  on X is not complete: (X, ) is a partially ordered
set.

Solal Microeconomics 17 / 1
One-to-one matching problems

0
Given a pair of matchings {µ, µ } in X, the supremum and
the infimum are defined by:
0 0
∀u ∈ U, (µ ∨ µ )(u) = µ(u) if µ (u) u µ (u);
0 0
∀u ∈ U, (µ ∧ µ )(u) = µ(u) if µ (u) ≺u µ (u).
0
First of all, we show if µ and µ are stable matchings, then
0 0
µ ∨ µ and µ ∧ µ are well-defined, i.e. both constitute two
matchings in X.

Solal Microeconomics 18 / 1
One-to-one matching problems
Proposition
0 0 0
If µ ∈ X` and µ ∈ X` , then µ ∨ µ ∈ X and µ ∧ µ ∈ X.
Furthermore, we have:
0 0
∀s ∈ S, (µ ∨ µ )−1 (s) = µ−1 (s) if and only if µ−1 (s) ≺s (µ )−1 (s),
0 0
∀s ∈ S, (µ ∧ µ )−1 (s) = µ−1 (s) if and only if µ−1 (s) s (µ )−1 (s).

Proof.
0
Consider first µ ∨ µ . We have to prove that for each distinct u and
0 0 0 0
u in U, (µ ∨ µ )(u) 6= (µ ∨ µ )(u ). Assume, for the sake of
0
contradiction, that there are two distinct agents u and u in U such
that:
0 0 0
(µ ∨ µ )(u) = (µ ∨ µ )(u ) = s.
0 0
Assume that (µ ∨ µ )(u) = µ(u) = s, meaning that s u µ (u) .
Solal Microeconomics 19 / 1
One-to-one matching problems
Proof.
0
Because µ and µ are matchings, s = µ(u) = µ(u0 ) and
0 0
µ (u) = µ (u0 ) are not possible. Therefore,
0 0 0 0 0
(µ ∨ µ )(u ) = µ (u ) = s = µ (u) = (µ ∨ µ )(u).
0 0
Thus, s u0 µ(u ) and (µ ∨ µ )−1 (s) = {u, u0 }. Consider the
0 0
situation where (µ ∨ µ )−1 (s) = u. Because µ is a stable matching
0
and s u µ (u ), then we necessarily have
0
( µ 0 ) −1 (s ) = u  s u = µ −1 (s ), (1)
0
otherwise (u, s) would block µ . Consider now the situation
0 0
where (µ ∨ µ )−1 (s) = u . Because µ is a stable matching and
0 0 0
µ (u ) = s u0 µ(u ), then we necessarily have
0 0
( µ ) −1 (s ) = u  s u = ( µ ) −1 (s ), (2)
Solal Microeconomics 20 / 1
One-to-one matching problems
Proof.
0
otherwise (u , s) would block µ. From (1) and (2) and the
0
antisymmetry of s , we obtain u = u , a contradiction. Conclude
0
that µ ∨ µ ∈ X.
0
The proof showing that µ ∧ µ ∈ X is similar, and so omitted.
Regarding the second part of the statement of the proposition.
0
(=⇒) Assume that (µ ∨ µ )−1 (s) = µ−1 (s) = u. Because
0 0
µ ∨ µ ∈ X, we have (µ ∨ µ )(u) = µ(u) = s. By definition of
0 0 0
µ ∨ µ , this means that s u µ (u). Because µ is a stable matching
0 0 −1
and s u µ (u), we necessarily have (µ ) (s) s µ−1 (s) = u,
0 0
otherwise (u, s) would block µ . So, (µ )−1 (s) s µ−1 (s), as
desired.
0 0 0
(⇐=) If µ−1 (s) ≺s (µ )−1 (s) and (µ ∨ µ )−1 (s) = (µ )−1 (s). To
0 0
show: a contradiction arises. Denote by u = (µ )−1 (s). By
0 0 0 0
definition of µ ∨ µ , we have µ (u ) = s u0 µ(u ), which
contradicts the stability of µ.
Solal 0 −1 Microeconomics 21 / 1
One-to-one matching problems
Proposition
The pair (X` , ) forms a (complete) lattice. In particular, it exists a
greatest (and a least) stable matching with respect to .

Proof.
0 0
It suffices to verify that for each pair {µ, µ } ∈ X` , µ ∨ µ ∈ X` and
0 0
µ ∧ µ ∈ X` , i.e. the pair {µ, µ } has a supremum and infimum in
0
X` . Let us show that µ ∨ µ is stable. Assume, for the sake of
0
contradiction, that µ ∨ µ ∈ X \ X` . Then, there is (u, s) that blocks
0
µ ∨ µ . On the one hand, by definition of a blocking pair, we have:
0 0
s u (µ ∨ µ )(u) and u s (µ ∨ µ )−1 (s).
0
The relation s u (µ ∨ µ )(u) means that s u µ(u) and
0 0
s u µ (u); and u s (µ ∨ µ )−1 (s) means that either u s (µ )−1 (s)
0 −1
or u s (µ ) (s).
Solal Microeconomics 22 / 1
One-to-one matching problems

Proof.
If u s (µ )−1 (s), then (u, s) blocks µ, a contradiction with the fact
0 0
that µ ∈ X` . If u s (µ )−1 (s), then (u, s) blocks µ , another
0
contradiction. Conclude that µ ∨ µ ∈ X` . The proof showing that
0
µ ∧ µ ∈ X` is similar, and so omitted.
Because (X` , ) is a lattice and X` ⊆ X is a finite set, (X` , ) is a
complete lattice, meaning that each Y ⊆ X` possesses a
W V
supremum and infimum in X` . Therefore, X` and X` exist
and belong to X` and so constitute the greatest and the least stable
matching respectively.

Solal Microeconomics 23 / 1
One-to-one matching problems
Example borrowed from Knuth (1976): |U | = |S| = 4 and
` ∈ LU × LS is as follows.
u1 s1 u1 s2  u1 s3 u1 s4 s1 u4  s1 u3 s1 u2 s1 u1
u2 s2 u2 s1  u2 s4 u2 s3 s2 u3  s2 u4 s2 u1 s2 u2
u3 s3 u3 s4  u3 s1 u3 s2 s3 u2  s3 u1 s3 u4 s3 u3
u4 s4 u4 s3  u4 s2 u4 s1 s4 u1  s4 u2 s4 u3 s3 u4
The set of stable matching X` contains 10 elements including the
following ones:
u1 s1 u1 s1

u2 s2 u2 s2
µ (1) µ (2)
u3 s3 u3 s3

u4 s4 u4 s4

Solal Microeconomics 24 / 1
One-to-one matching problems

Compute the supremum of µ(1) and µ(2) , we get:


u1 s1

u2 s2
µ (1) ∨ µ (2)
u3 s3

u4 s4

Of course, µ(1) ∨ µ(2) is stable since each agent u ∈ U is


matched with his or her best partner. In fact,
µ (1) ∨ µ (2) = X` .
W

Solal Microeconomics 25 / 1
One-to-one matching problems

Now compute µ(1) ∧ µ(2) . We get:


u1 s1

u2 s2
µ (1) ∧ µ (2)
u3 s3

u4 s4

We can easily verify that µ(1) ∧ µ(2) ∈ X` and that every agent
u ∈ U prefers µ(1) and µ(2) to µ(1) ∧ µ(2) . On the contrary,
each agent in S prefers µ(1) ∧ µ(2) to µ(1) and µ(2) and so to
µ (1) ∨ µ (2) .

Solal Microeconomics 26 / 1
One-to-one matching problems
The fact that (X` , ) is a complete lattice is interesting for at
least two reasons. First, this fact implies that there is a
greatest stable matching for the members of U (the U-optimal
stable matching). Second, if we know two incomparable
0
(w.r.t. to ) stable matchings µ and µ (some members of U
0 0
prefer µ to µ, while other members of U prefer µ to µ ), we
0
can easily compute two other stable matchings µ ∨ µ and
0
µ ∧ µ.
The following figure is a mnemonic:
0
µ ∨µ

0
µ µ

0
µ∧µ
Solal Microeconomics 27 / 1
One-to-one matching problems

So far, we have been concerned with the set of stable


matchings. In the definition of a stable matching, only
coalitions of size two are feasible: given a matching, a
feasible blocking coalition is a pair of unmatched agents who
prefer each other to their respective partner in the matching
under consideration.
The core is a solution concept which indicates that a social
state/outcome (here a matching) fails to be in the core if it is
blocked by some coalition of agents.
Question: in the context of one-to-one matching problems,
what are the consequences of ignoring coalitions other than
pairs?
Answer: Nothing is lost by ignoring coalitions other than
pairs.

Solal Microeconomics 28 / 1
One-to-one matching problems
0
Formally, a matching µ ∈ X dominates another matching
µ ∈ X if there exists a coalition T ⊆ U ∪ S which blocks µ in
the following sense: for each pair {u, s} formed by u ∈ T ∩ U
and s ∈ T ∩ S, it holds that:
0 0
1. µ (u) ∈ T, µ (u) 6 = µ (u);

0 0
2. (µ )−1 (s) ∈ T, ( µ ) −1 (s ) 6 = µ −1 (s );
0 0
3. µ (u) u µ (u) and (µ )−1 (s) s µ−1 (s).
0
That is, coalition T can enforce the set of matchings in µ that
0
concerns its members if each u ∈ T has a partner µ (u) ∈ T
and vice versa, and if each member of T (strictly) prefers his
0
or her partner in µ than his or her partner in µ.

Solal Microeconomics 29 / 1
One-to-one matching problems
Given a one-to-one matching problem (X, `), its core,
denoted by Core(X, `) is the set of matchings that are not
dominated.
Proposition
For each one-to-one matching problem (X, `), Core(X, `) = X` .

Proof.
First, if µ ∈ X \ X` , then there is a blocking pair (u, s) such that
s u µ(u) and u s µ−1 (s). It follows that µ is dominated by any
0 0
µ ∈ X such that µ (u) = s, and so µ ∈ X \ Core(X, `). Therefore,
µ ∈ Core(X, `) implies µ ∈ X` , and so Core(X, `) ⊆ X` .
0
Second, if µ ∈ X \ Core(X, `), then µ is dominated by some µ ∈ X
through a coalition T. By definition, T blocks µ, which means that
0
for each s ∈ T ∩ S, (µ )−1 (s) s µ−1 (s). Let s ∈ T ∩ S and
0 −1
u = (µ ) (s). By definition of a blocking coalition u ∈ T ∩ U and
s u µ (u).
Solal Microeconomics 30 / 1
One-to-one matching problems

Proof.
Putting together u s µ−1 (s) and s u µ(u), we conclude that
(u, s) blocks µ, and so µ ∈ X \ X` . Therefore, µ ∈ X` implies
µ ∈ Core(X, `), and so Core(X, `) ⊇ X` . Combining
Core(X, `) ⊆ X` and Core(X, `) ⊇ X` , we arrive at the desired
conclusion.

Solal Microeconomics 31 / 1
One-to-one matching problems

It is worth mentioning that the Core, i.e. the set of stable


matchings, can be axiomatically characterized by four
axioms that we have already encountered in this course, but
adapted to the context of one-to-one matchings: Pareto
optimality, Consistency, Converse consistency and
Anonymity. This result is due to Sasaki and Toda (1992).

Proposition
The Core is the unique solution on the set of one-to-one matching
problems which satisfies Pareto optimality, Consistency, Converse
consistency and Anonimity

Sasaki H., Toda M., 1992. Consistency and characterization of


the Core of two-side matching problems. Journal of
Economic Theory, 56:218-227.

Solal Microeconomics 32 / 1
Nash implementation

We continue to take for granted that, for each ` ∈ LU × LS ,


X` 6= ∅.
Stability (ST) F : LU × LS −→ 2X \ {∅} is a stable social
choice function if

∀` ∈ LU × LS , F(`) ⊆ X` .

Question: Are stable social choice functions Nash


implementable?
By Maskin’s result (see Chap. 2), we know that a social
choice function is Nash implementable if it satisfies
Monotonocity and No veto power.
It remains to verify whether a stable solution satisfies both
axioms.

Solal Microeconomics 33 / 1
Nash implementation
Recall the definition of Monotonicity for (not necessarily resolute)
social choice functions.
Monotonicity (M) F : LU × LS −→ 2X \ ∅ is monotonic if, for
0
each µ ∈ X, each ` ∈ LU × LS and each ` ∈ LU × LS , it holds
that:
0 
µ ∈ F(`) ∧ `0 N
  
µ ` =⇒ µ ∈ F(` ) ,
0
where ` N
µ ` means that
0
∀u ∈ U, C(u , µ(u)) ⊆ C(u , µ(u)) and
0
∀s ∈ S, C(s , µ−1 (s)) ⊆ C(s , µ−1 (s)),
or equivalently,
   0 
∀s ∈ S, µ(u) u s =⇒ µ(u) u s ,
 −1 0
µ (s) s u =⇒ µ−1 (s) s u .
  
∀u ∈ U,
Solal Microeconomics 34 / 1
Nash implementation

No veto power (NVP) F : LU × LS −→ 2X \ ∅ satisfies No


veto power if for each j ∈ U ∪ S, each µ ∈ X and each
` ∈ LU × LS , it holds that:

Top(u ) = µ(u), u 6= j, Top(s ) = µ−1 (s), s 6= j =⇒ [µ ∈ F(`)].


 

If each agent, except possibly j, top ranks his/her partner


under µ, then µ must be selected by F.

Proposition
The social choice function FS : LU × LS −→ 2X \ {∅} defined as

∀` ∈ LU × LS , FS (`) = X` ,

is Nash implementable.

Solal Microeconomics 35 / 1
Nash implementation
Proof.
In view of Maskin’s result, it suffices to verify that FS satisfies (M)
and (NVP).
(i) FS satisfies (M). Pick any µ ∈ X` at ` ∈ LU × LS . Pick any
0 0
alternative preference profile ` such that ` µ ` and assume, for
the sake of contradiction, that µ ∈ X \ X`0 . By definition of a
unstable matching, there is an unmatched pair (u, s) which blocks
0 0 0 0
µ at ` , i.e., s u µ(u) and u s µ−1 (s), and so s 6∈ C(µ, u ) and
0 0 0
u 6∈ C(µ, s ). By ` µ ` , µ(u) is weakly better ranked by u at `
0
than at `, and µ−1 (s) is weakly better ranked by s at ` than at `.
0 0
Therefore, if s u µ(u) and u s µ−1 (s) hold, then s u µ(u) and
u s µ−1 (s), which contradicts that µ ∈ X` .
(ii) FS satisfies (NVP). If at least n − 1 agents top rank their
partner assigned by µ under `, then at least n − 1 agents have no
incentive to be matched with another agent. So, there is no
blocking pair, i.e. µ ∈ X` = F(`).
Solal Microeconomics 36 / 1
Nash implementation
Two interesting results by Tadenuma and Toda (1998) are
worth mentioning. The first result is an existence result: it
indicates that there exists at least one stable social choice
function F, distinct from FS , which is Nash implementable.
The second one is an impossibility result: there is no resolute
social choice function which is stable and Nash
implementable.

Proposition
Assume that |U | = |S| ≥ 3.
1 There exists at least one stable social choice function
F : LU × LS −→ 2X \ {∅}, distinct from FS , which is Nash
implementable.
2 There does not exist a resolute social choice function
F : LU × LS −→ X which is stable and Nash implementable.
Solal Microeconomics 37 / 1
Nash implementation
Proof.
Proof of point 1 is constructive and quite involved, and so we
omit it. The reader is referred to Lemma 1, Proposition 2 and
Proposition 3 in Tadenuma and Toda (1998).
Proof of point 2 is also constructive. Consider the situation where
|U | = |S| = 3. The proof for situations where these sets contain
more than three elements is similar. The proof consists in
showing that a resolute and stable F cannot satisfy (M), a
necessary condition for Nash implementation (see Chap. 2).
0
Consider the following preference profile ` ∈ LU × LS :
0 0 0 0
Agent u1 s1 u1 s2 u1 s3 Agent s1 u2 s1 u1 s1 u3
0 0 0 0
Agent u2 s2 u2 s1 u2 s3 Agent s2 u1 s2 u2 s2 u3
0 0 0 0
Agent u3 s1 u3 s3 u3 s2 Agent s3 u1 s3 u3 s3 u2

Solal Microeconomics 38 / 1
Nash implementation
Proof.
Then, X`0 = {µ(1) , µ(2) }, where

µ(1) := µ(1) (ui ) = si : i ∈ {1, 2, 3} and




µ(2) := µ(2) (u1 ) = s2 , µ(2) (u2 ) = s1 , µ(2) (u3 ) = s3 .




Now, consider the preference relation u1 ∈ LU defined as:

s1 u1 s3 u1 s2 .
0
Since µ(1) (u1 ) = s1 , C(u1 , s1 ) = C(u1 , s1 ) = S. Consider the
0
profile (u1 , `−u1 ). Under this profile, µ(2) is no longer a stable
matching since (u1 , s3 ) forms a blocking pair:
0
s3 u1 µ(2) (u1 ) = s2 and u1 s3 (µ(2) )−1 (s3 ) = u3 .

Solal Microeconomics 39 / 1
Nash implementation
Proof.
In fact, we have X(u 0
, ` −u )
= {µ(1) }. It follows that if F satisfies
1 1
0
stability, then F(u1 , `−u1 ) = µ(1) . We also see that
0 0
` µ(1) (u1 , `−u1 ). By (M) and the fact that F is resolute, we get
0
F(` ) = µ(1) .
Finally, let s1 ∈ LS be the preference relation defined as:

u2 s1 u3 s1 u1 .
0
Since (µ(2) )−1 (s1 ) = u2 , C(s1 , u2 ) = C(s1 , u2 ) = U. Consider
0
the profile (s1 , `−s1 ). Under this profile, µ(1) is no longer a stable
matching since (u3 , s1 ) forms a blocking pair:
0
s1 u3 µ(1) (u3 ) = s3 and u3 s1 (µ(1) )−1 (s3 ) = u1 .

In fact, we have X(s 0


, ` −s )
= { µ (2) } .
Solal 1 1 Microeconomics 40 / 1
Nash implementation

Proof.
0
It follows that if F satisfies stability, then F(s1 , `−s1 ) = µ(2) . We
0 0
also see that ` µ(2) (s1 , `−s1 ). By (M) and the fact that F is
0
resolute, we get F(` ) = µ(2) , which contradicts the equality
0
F(` ) = µ(1) (see above). Conclude that if F is resolute and stable,
it does not satisfy (M). As (M) is a necessary condition for Nash
implementation, F is not Nash implementable. In words, if F is
resolute and satisfies stability, it is not Nash implementable.

Recommended reading
Kara T., Somnez T., 1996. Nash implementation of matching
rules. Journal of Economic Theory, 68:425-439.
Tadenuma K. and Toda, M., 1998. Implementable stable
solutions to pure matchings. Mathematical Social Sciences,
35: 121-132.
Solal Microeconomics 41 / 1
Nash implementation

Proof.
0
It follows that if F satisfies stability, then F(s1 , `−s1 ) = µ(2) . We
0 0
also see that ` µ(2) (s1 , `−s1 ). By (M) and the fact that F is
0
resolute, we get F(` ) = µ(2) , which contradicts the equality
0
F(` ) = µ(1) (see above). Conclude that if F is resolute and stable,
it does not satisfy (M). As (M) is a necessary condition for Nash
implementation, F is not Nash implementable. In words, if F is
resolute and satisfies stability, it is not Nash implementable.

Recommended reading
Kara T., Somnez T., 1996. Nash implementation of matching
rules. Journal of Economic Theory, 68:425-439.
Tadenuma K. and Toda, M., 1998. Implementable stable
solutions to pure matchings. Mathematical Social Sciences,
35: 121-132.
Solal Microeconomics 41 / 1
The Gale-Shapley algorithm

It remains to address two issues:


Existence of stable matchings: Is the set of stable matchings
X` nonempty for each preference profile ` ∈ LU × LS ?
Computational aspect of stable matchings: Is there a (fast)
algorithm for finding a stable matching?
Gale and Shapley (1962) solve both questions by providing the
so-called Deferred Acceptance algorithm (DA). This algorithm
ensures not only that the set of stable matching is nonempty for
each preference profile, but also that the U-optimal matching (the
greatest element of the lattice (X, )) is selected, i.e. the stable
matching which is preferred by all members of U to each other
stable matching.

Solal Microeconomics 42 / 1
The Gale-Shapley algorithm

It remains to address two issues:


Existence of stable matchings: Is the set of stable matchings
X` nonempty for each preference profile ` ∈ LU × LS ?
Computational aspect of stable matchings: Is there a (fast)
algorithm for finding a stable matching?
Gale and Shapley (1962) solve both questions by providing the
so-called Deferred Acceptance algorithm (DA). This algorithm
ensures not only that the set of stable matching is nonempty for
each preference profile, but also that the U-optimal matching (the
greatest element of the lattice (X, )) is selected, i.e. the stable
matching which is preferred by all members of U to each other
stable matching.

Solal Microeconomics 42 / 1
The Gale-Shapley algorithm
The U-proposing (DA) algorithm is defined as follows for each
` ∈ LU × LS :
Step 1
Step 1.1: Each agent u in U proposes to his/her top ranked
agent in S, i.e. Top(u ).
Step 1.2: Each agent in S accepts tentatively the most preferred
proposal (if any), and rejects any other proposal.
..
.
Step k ≥ 2
Step k.1: Each agent u in U that is rejected at Step k − 1
proposes his/her most preferred agent in S who hasn’t yet
rejected him/her.
Step k.2: Each agent in S considers this new proposal, holds
his/her most preferred acceptable to date, and rejects the rest.
Stop: When no further proposals are made, match each s ∈ S to
the agent u whose proposal s is holding.
Solal Microeconomics 43 / 1
The Gale-Shapley algorithm
The U-proposing (DA) algorithm is defined as follows for each
` ∈ LU × LS :
Step 1
Step 1.1: Each agent u in U proposes to his/her top ranked
agent in S, i.e. Top(u ).
Step 1.2: Each agent in S accepts tentatively the most preferred
proposal (if any), and rejects any other proposal.
..
.
Step k ≥ 2
Step k.1: Each agent u in U that is rejected at Step k − 1
proposes his/her most preferred agent in S who hasn’t yet
rejected him/her.
Step k.2: Each agent in S considers this new proposal, holds
his/her most preferred acceptable to date, and rejects the rest.
Stop: When no further proposals are made, match each s ∈ S to
the agent u whose proposal s is holding.
Solal Microeconomics 43 / 1
The Gale-Shapley algorithm

Example Assume now that preferences remain the same:

Agent u1 s1 u1 s2 u1 s3 Agent s1 u2 s1 u3 s1 u1


Agent u2 s1 u2 s3 u2 s2 Agent s2 u1 s2 u2 s2 u3
Agent u3 s2 u3 s1 u3 s3 Agent s3 u1 s3 u2 s3 u3

Step 1: Agent u1 proposes to s1 , u2 proposes to s1 and u3 to s2 .


Agent s1 considers the two proposals he/she receives, accepts u2
and rejects u1 since u2 s1 u1 . Agent s2 receives only one proposal
from u3 , and so accepts it. Agent s3 receives no proposal, so s3 is
tentatively unmatched. At the end of Step 1, s3 is unmatched, u1
is also unmatched because his/her proposal has been rejected,
and (u2 , s1 ) and (u3 , s2 ) form the two pairs of partners.

Solal Microeconomics 44 / 1
The Gale-Shapley algorithm
Step 2: The unmatched agent u1 proposes to his/her second most
preferred agent in S, i.e. agent u1 proposes to s2 . Agent s2 ,
matched to u3 , considers this new proposal. Because u1 s2 u3 ,
he/she accepts u1 and rejects u3 . At the end of Step 2, u3 is
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 3: The unmatched agent u3 proposes to his/her second most
preferred agent in S, i.e. agent u3 proposes to s1 . Agent s1 ,
matched to u2 , considers this new proposal. Because u2 s1 u3 ,
he/she holds u2 and rejects u3 . At the end of Step 3, u3 remains
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 4: The unmatched agent u3 proposes to his/her third most
preferred agent in S, i.e. agent u1 proposes to s3 . Agent s3 , who is
unmatched, considers this new proposal and accepts it. At the
end of Step 4, (u1 , s2 ), (u2 , s1 ), and (u3 , s3 ) form a matching. STOP.
Solal Microeconomics 45 / 1
The Gale-Shapley algorithm
Step 2: The unmatched agent u1 proposes to his/her second most
preferred agent in S, i.e. agent u1 proposes to s2 . Agent s2 ,
matched to u3 , considers this new proposal. Because u1 s2 u3 ,
he/she accepts u1 and rejects u3 . At the end of Step 2, u3 is
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 3: The unmatched agent u3 proposes to his/her second most
preferred agent in S, i.e. agent u3 proposes to s1 . Agent s1 ,
matched to u2 , considers this new proposal. Because u2 s1 u3 ,
he/she holds u2 and rejects u3 . At the end of Step 3, u3 remains
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 4: The unmatched agent u3 proposes to his/her third most
preferred agent in S, i.e. agent u1 proposes to s3 . Agent s3 , who is
unmatched, considers this new proposal and accepts it. At the
end of Step 4, (u1 , s2 ), (u2 , s1 ), and (u3 , s3 ) form a matching. STOP.
Solal Microeconomics 45 / 1
The Gale-Shapley algorithm
Step 2: The unmatched agent u1 proposes to his/her second most
preferred agent in S, i.e. agent u1 proposes to s2 . Agent s2 ,
matched to u3 , considers this new proposal. Because u1 s2 u3 ,
he/she accepts u1 and rejects u3 . At the end of Step 2, u3 is
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 3: The unmatched agent u3 proposes to his/her second most
preferred agent in S, i.e. agent u3 proposes to s1 . Agent s1 ,
matched to u2 , considers this new proposal. Because u2 s1 u3 ,
he/she holds u2 and rejects u3 . At the end of Step 3, u3 remains
unmatched, s3 is unmatched, and (u2 , s1 ) and (u1 , s2 ) form the
two pairs of partners.
Step 4: The unmatched agent u3 proposes to his/her third most
preferred agent in S, i.e. agent u1 proposes to s3 . Agent s3 , who is
unmatched, considers this new proposal and accepts it. At the
end of Step 4, (u1 , s2 ), (u2 , s1 ), and (u3 , s3 ) form a matching. STOP.
Solal Microeconomics 45 / 1
The Gale-Shapley algorithm

Conclude that under `,

Agent u1 s1 u1 s2 u1 s3 Agent s1 u2 s1 u3 s1 u1


Agent u2 s1 u2 s3 u2 s2 Agent s2 u1 s2 u2 s2 u3
Agent u3 s2 u3 s1 u3 s3 Agent s3 u1 s3 u2 s3 u3 ,

The U-proposing (DA) algorithm returns a unique matching


represented by the following diagram:

u1 s1

u2 s2

u3 s3

Note that this one-to-one matching is stable! 

Solal Microeconomics 46 / 1
The Gale-Shapley algorithm
Proposition
For each preference profile ` ∈ LU × LS , the U-proposing (DA)
algorithm has the following properties:
1 It terminates after a finite number of steps.
2 It returns a unique one-to-one matching denoted by µU,` ∈ X.
3 This matching is stable, i.e. µU,` ∈ X` ⊆ X.

Proof.
Consider any ` ∈ LU × LS .
Point 1. Agents in U propose to agents in S in decreasing order of
preference. Once an agent in S is matched, he/she never becomes
unmatched: he/she only “trades up”. At each step, at most |U |
agents propose to a new agent. For each agent there are at most
|S| proposals (one for each agent in S). So after (at most) |U | × |S|
steps/proposals, the U-proposing (DA) algorithm terminates.
Solal Microeconomics 47 / 1
The Gale-Shapley algorithm

Proof.
Point 2. To show: all agents in U and all agents in S get matched.
The proof is by contradiction. Assume, for the sake of
contradiction, that there is u ∈ U who is unmatched upon
termination of the U-proposing (DA) algorithm (Point 1). Because
|S| = |U |, there is s ∈ S who is also unmatched. From the
definition of the (DA) algorithm, once an agent in S is matched,
he/she never becomes unmatched. Therefore, conclude that s was
never proposed to. But, by the definition of the (DA) algorithm, u
has proposed to everyone in S since he/she ends up unmatched.
A contradiction with the fact that s was never proposed to.
Conclude that the U-proposing (DA) returns a unique matching,
say µU,` ∈ X. The uniqueness part is a consequence of the
deterministic feature of the algorithm.

Solal Microeconomics 48 / 1
The Gale-Shapley algorithm
Proof.
Point 3. To show µU,` ∈ X` . By definition of a stable matching, we
have to show that µU,` contains no blocking pair. Assume, for the
sake of contradiction, that µU,` contains a blocking pair
(u, s) ∈ U × S:

s u µU,` (u) and u s (µU,` )−1 (s).

We distinguish two cases:


(i) Agent u never proposed to s. Because agents in U propose in
decreasing order of preference, we obtain that µU,` (u) u s, a
contradiction with the fact the (u, s) is a blocking pair.
(ii) Agent u proposed to s. This implies that s has rejected u
during the execution of the algorithm. In such a case, we obtain
that (µU,` )−1 (s) s u, a contradiction with the fact the (u, s) is a
blocking pair. From (i) and (ii), conclude that µU,` ∈ X` .
Solal Microeconomics 49 / 1
The Gale-Shapley algorithm
Despite the fact that F(DA) : LU × LS −→ X,
` 7−→ F(DA) (`) = µU,` ∈ X` cannot be implemented in Nash
equilibrium, it satisfies an interesting axiom of optimality.
U-optimality A stable (and resolute) social choice function
F : LU × LS −→ X is U-optimal if:
∀` ∈ LU × LS , ∀µ ∈ X` , ∀u ∈ U, F(`)(u) u µ(u).
It always exists a “best” stable matching for all agents in U among
the set of stable matchings, i.e. that each agent in U prefers this
“best” matching to each other stable matching: this corresponds
to the greatest stable matching of the lattice (X` , ).
Proposition
The social choice function F(DA) : LU × LS −→ X is U-optimal, i.e.

∀` ∈ LU × LS , F(DA) (`) =
_
X` .

. Solal Microeconomics 50 / 1
The Gale-Shapley algorithm
Proof.
It suffices to prove that, for each ` ∈ LU × LS , µU,` is U-optimal.
Assume, for the sake of contradiction, that there is ` ∈ LU × LS
such that µ`,U is not U-optimal.
Assume there is u ∈ U who, in µU,` , is paired with an agent other
than his/her top ranked agent. Agent u proposes in decreasing
order of preference. If µU,` (u) is not U-optimal, then there is
µ ∈ X` such that µ (u) u µU,` (u) and µ (u) 6= µU,` (u). This means
that during the execution of the (DA) algorithm, µ (u) ∈ S has
rejected u. Assume that u is the first agent who have been rejected
by a possible partner in X` , and that µ (u) ∈ S is the first possible
partner who has rejected u.
When u is rejected by µ(u), the latter forms or reaffirms
0
engagement with another agent in U, say u0 , i.e. u µ(u) u. Let
0 0
µ(u ) be the partner of u under µ. Of course, µ(u0 ) 6= µ(u) by
definition of a matching.
Solal Microeconomics 51 / 1
The Gale-Shapley algorithm

Proof.
0
At step where u has been rejected, u has not yet been rejected
since u is the first one to be rejected by a possible partner. Thus, at
0 0
this step, µ (u) u0 µ (u ). But, we also have u µ(u) u. Therefore
0
(u , µ(u)) is a blocking pair under µ, a contradiction with that fact
that µ ∈ X` .

Solal Microeconomics 52 / 1
The Gale-Shapley algorithm
Unfortunately there is a counterpart to the U-optimality of
F(DA) : in µU,` , agents in S are matched to their worst partner
among the possible partners in stable matchings (see the
result about the lattice structure of X` ).
Another bad news is that there is no stable and resolute
social choice function F which is strategy-proof, i.e., if
F : LU × LS −→ X is stable, then
0
∃i ∈ N, ∃` = (i , `−i ) ∈ LU × LS , ∃ i ∈ L, such that:
0 0
F (i , `−i ) i F (`), where F (i , `−i ) 6= F (`).
This impossibility result is not a consequence of the
combination of the Muller-Satterthwaite result for weak
orders with the Tademuda-Toda result. Indeed, we only
know that:
(M) =⇒ (SP) and [F resolute and satisfies (ST)] =⇒ ¬(M).
Roth (1982) is the first author to provide a direct proof of this
Solal Microeconomics 53 / 1
The Gale-Shapley algorithm
Unfortunately there is a counterpart to the U-optimality of
F(DA) : in µU,` , agents in S are matched to their worst partner
among the possible partners in stable matchings (see the
result about the lattice structure of X` ).
Another bad news is that there is no stable and resolute
social choice function F which is strategy-proof, i.e., if
F : LU × LS −→ X is stable, then
0
∃i ∈ N, ∃` = (i , `−i ) ∈ LU × LS , ∃ i ∈ L, such that:
0 0
F (i , `−i ) i F (`), where F (i , `−i ) 6= F (`).
This impossibility result is not a consequence of the
combination of the Muller-Satterthwaite result for weak
orders with the Tademuda-Toda result. Indeed, we only
know that:
(M) =⇒ (SP) and [F resolute and satisfies (ST)] =⇒ ¬(M).
Roth (1982) is the first author to provide a direct proof of this
Solal Microeconomics 53 / 1
The Gale-Shapley algorithm
Proposition
There is no (resolute) social choice function F : LU × LS −→ X
which is stable and strategy-proof.

Proof.
Assume that |U | = |S| = 3, and pick any resolute and stable (ST)
social choice function F : LU × LS −→ X. To prove that F is not
strategy-proof, it suffices to exhibit a preference profile
` ∈ LU × LS where at least one agent has no incentive to report his
or her true preference relation. Assume that ` = (i )i∈N is as
follows:

Agent u1 s2 u1 s1 u1 s3 Agent s1 u1 s1 u3 s1 u2


Agent u2 s1 u2 s2 u2 s3 Agent s2 u3 s2 u1 s2 u2
Agent u3 s1 u3 s2 u3 s3 Agent s3 u1 s3 u2 s3 u3

Solal Microeconomics 54 / 1
The Gale-Shapley algorithm
Proof.
Then, X` = {µU,` , µS,` }.

µU,` u1 s1 µS,` u1 s1

u2 s2 u2 s2

u3 s3 u3 s3

0
By (ST) of F, F(`) ∈ X` . Now, assume that agent s1 reports s1
instead of s1 :
0 0
Agent s1 u1 s1 u2 s1 u3 .

Then, (u2 , s1 ) forms a blocking pair in µU,` , which means that this
0
matching is no longer stable under (s1 , `−s1 ). In fact,
0
X(0 ,`−s ) = {µS,` }. By (ST) of F, F(s1 , `−s1 ) = µS,` .
s1
Solal 1 Microeconomics 55 / 1
The Gale-Shapley algorithm
Proof.
0
Similarly, assume that agent u1 reports u1 instead of u1 :
0 0
Agent u1 s2 u1 s3 u1 s1 .

Then, (u1 , s3 ) forms a blocking pair in µS,` , and


0
X(0 ,`−u ) = {µU,` }. By stability of F, F(u1 , `−u1 ) = µU,` .
u1 1
0
So, if F(`) = µU,` , then s1 has an incentive to report s1 instead of
0
s1 . Indeed, since F(s1 , `−s1 ) = µS,` , we have:

(µS,` )−1 (s1 ) = u1 s1 u3 = (µU,` )−1 (s1 ).


0
If F(`) = µS,` , then u1 has an incentive to report u1 instead of u1
0
since F(u1 , `−u1 ) = µU,` and

µU,` (u1 ) = s2 u1 s1 = µS,` (u1 ). 


Solal Microeconomics 56 / 1
The Gale-Shapley algorithm

Remark: by combining the Roth impossibility result with the


Muller-Satterthwaite result for weak orders and the Maskin
result, we get the Tademuda-Toda impossibility result:

[F resolute and satisfies (ST)] =⇒ ¬(SP)

(M) =⇒ (SP)
[F Nash implementable] =⇒ (M).

Therefore, if F is resolute and stable (ST), then:

¬(SP) =⇒ ¬(M) =⇒ F ¬[Nash implementable],

which is the Tademuda-Toda impossibility result for resolute


social choice functions.
Solal Microeconomics 57 / 1
The Gale-Shapley algorithm

Remark: by combining the Roth impossibility result with the


Muller-Satterthwaite result for weak orders and the Maskin
result, we get the Tademuda-Toda impossibility result:

[F resolute and satisfies (ST)] =⇒ ¬(SP)

(M) =⇒ (SP)
[F Nash implementable] =⇒ (M).

Therefore, if F is resolute and stable (ST), then:

¬(SP) =⇒ ¬(M) =⇒ F ¬[Nash implementable],

which is the Tademuda-Toda impossibility result for resolute


social choice functions.
Solal Microeconomics 57 / 1
The Gale-Shapley algorithm

As a corollary, the social choice function F(DA) is not


Strategy-proof.
Nevertheless, thanks to Dubbins and Freedman (1981), we
know F(DA) is Strategy-proof for each agent in U, which
means that F(DA) is Strategy-proof for one side of the
“market”.

Proposition
Let F(DA) : LU × LS −→ X be the social choice function generated
by the U-proposing (DA) algorithm. Then,
0
∀` =: (u , `−u ) ∈ LU × LS , ∀u ∈ U, ∀ u ∈ LU

it holds that: 0
µU,` (u) u µU,(u ,`−i ) (u).

Solal Microeconomics 58 / 1
The Gale-Shapley algorithm

As a corollary, the social choice function F(DA) is not


Strategy-proof.
Nevertheless, thanks to Dubbins and Freedman (1981), we
know F(DA) is Strategy-proof for each agent in U, which
means that F(DA) is Strategy-proof for one side of the
“market”.

Proposition
Let F(DA) : LU × LS −→ X be the social choice function generated
by the U-proposing (DA) algorithm. Then,
0
∀` =: (u , `−u ) ∈ LU × LS , ∀u ∈ U, ∀ u ∈ LU

it holds that: 0
µU,` (u) u µU,(u ,`−i ) (u).

Solal Microeconomics 58 / 1
The Gale-Shapley algorithm

To prove the result by Dubbins and Freedman (1981), we


need an intermediary result, called the blocking lemma or
Hwang’s lemma. This way of proving Dubbins-Freedman’s
result is borrowed from Gale and Sotomayor (1985) and
Demange, Gale and Sotomayor (1987).

Proposition
(Blocking lemma) Consider any ` ∈ LU × LU , any µ ∈ X (stable or
not). Let T ⊆ U be the subset of agents in U who (strictly) prefer µ
to F(DA) (`) =: µU,` . If T 6= ∅, then there is (u, s) ∈ U × S which
blocks µ such that u ∈ U \ T and s ∈ µ(T ), where µ(T ) ⊆ S is the
image of the set T under µ, i.e. the subset of agents in S matched
with agents in T.

Solal Microeconomics 59 / 1
The Gale-Shapley algorithm
Remark:
1 Because u ∈ U \ T, we have µU,` (u) u µ (u).
2 Because s ∈ µ(T ), we have µ−1 (s) = u0 ∈ T, and so
0 0
s u0 µU,` (u ) where s 6= µU,` (u ); and by stability of µU,` ,
0
(µU,` )−1 (s) s u .
Proof.
(of the blocking lemma). We distinguish two cases:
(i) µ(T ) 6= µU,` (T ). Pick any s ∈ µ(T ) \ µU,` (T ). By point 2. of the
0
above remark, µ−1 (s) = u0 ∈ T, and s u0 µU,` (u ) where
0 0
s 6= µU,` (u ). Let u = (µU,` )−1 (s), where u 6= u since u ∈ U \ T.
0
By stability of µU,` , u s u . Because u ∈ U \ T, by point 1. of the
above remark, we have s u µ(u) and, of course, s 6= µ(u) since
0
s = µ(u0 ) where u 6= u. To summarize, we have s u µ(u) and
0
u s u = µ−1 (s), meaning that the (unmatched pair) (u, s) blocks
the matching µ.
Solal Microeconomics 60 / 1
The Gale-Shapley algorithm

Proof.
(ii) µ(T ) = µU,` (T ) =: V ⊆ S. In the (DA) algorithm, denote by
u ∈ U the last agent rejected by a member of V; denote by s the
(last) agent s ∈ V ⊆ S who rejects the tentative partner u to accept
a member in T. Of course, u 6∈ T for if so, after been rejected by s,
u would have make a proposal to a member of V since
µU,` (T ) =: V, contradicting that s is the last agent in V who
received such a proposal from a member of T ⊆ U. On the one
hand, wehave:
s u µU,` (u) ∧ µU,` (u) u µ(u) =⇒ s u µ (u),


where the left-hand side comes from the fact u is rejected by s in


the (DA) algorithm, and u ∈ U \ T. On the other hand, because u
is the last agent to be rejected by s ∈ V in the (DA) algorithm, s
has rejected µ−1 (s) ∈ T before u, and so u s µ−1 (s). Thus, (u, s)
forms a blocking pair for µ.
Solal Microeconomics 61 / 1
The Gale-Shapley algorithm

Proof.
(of the Strategy-proofness for U). By way of contradiction,
0
assume that ∃u ∈ U, ∃ i 6=i :
0 0
µU,(u ,`−i ) (u) u µU,` (u), µU,` (u) 6= µU,(u ,`−i ) (u).
0
Because µU,(u ,`−i ) is a matching, we have T 6= ∅. Thus, we can
0
apply the blocking lemma: there is (u0 , s0 ) which blocks µU,(u ,`−i )
0 0 0
under `. Furthermore, u ∈ U \ T and s ∈ µU,(u ,`−i ) (T ), which
0 0 0
means that µU,` (u ) u0 µU,(u ,`−i ) (u ). Next,
0 0 0
(µU,` )−1 (s ) s0 (µU,(u ,`−i ) )−1 (s ), since otherwise
0 0
(µU,` )−1 (s ) ∈ T and s would block µU,` under `, contradicting
the fact that µU,` is stable.

Solal Microeconomics 62 / 1
The Gale-Shapley algorithm

Proof.
Since only u misrepresents his or her preference relation in
0
(u , `−i ),
0 0 0 0 0 0
µU,` (u ) u0 µU,(u ,`−i ) (u ) and (µU,` )−1 (s ) s0 (µU,(u ,`−i ) )−1 (s )
0 0
means that µU,(u ,`−i ) is unstable under (u , `−i ), a contradiction
with the fact that it is the output of the (DA) algorithm.

Note that in the above proof, we can assume that the


members of a coalition C ⊆ U has an incentive to
misrepresent his or her preferences without affecting the
result. This implies that not only F(DA) is Strategy-proof for
each agent in U, but also that F(DA) is Coalitional
strategy-proof with respect to U.
Solal Microeconomics 63 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
To summarize, we have learned the following facts:
The stable social choice function FS is well-defined, and, for
each ` ∈ LU × LS , FS (`) =: X` forms a complete lattice.
Core(X, `) = FS (`) for each (X, `).
The Core is the unique solution which satisfies Consistency,
its converse, Pareto efficiency and Anonymity.
FS is Nash implementable.
There is no resolute social choice function which is either
Stable and Nash implementable or Stable and Strategy-proof.
The U-proposing (DA) algorithm computes, for each
preference profile, a unique stable matching in polynomial
time: =⇒ F(DA) is not Nash implementable and not
Strategy-proof.
Nevertheless, F(DA) is U-optimal and (Coalitional)
Strategy-proof for agents in U, and can also be axiomatically
characterized (Kojima, Manea, 2010).
Solal Microeconomics 64 / 1
The Gale-Shapley algorithm
References
Demange G., Gale D., Sotomayor M., 1987. A further note the
stable matching problem. Discrete Applied Mathematics,
16:217-222.
Dubins L.E., Freedman D.A., 1981. Machiavelli and the
Gale-Shapley algorithm. American Mathematical Monthly,
88: 485-494.
Gale D., Sotomayor M., 1985. Some remarks on the stable
matching problem. Discrete Applied Mathematics,
11:223-232.
Kojima I., Manea M., 2010. Axioms for deferred acceptance.
Econometrica, 78: 633-653.
Knuth D., 1976. Marriages Stables. Montréal, les Presses de
l’Université de Montréal.
Roth A., 1982. The economics of matching: stability and
incentives. Mathematics of Operations Research, 7:617-628.
Solal Microeconomics 65 / 1

You might also like