Table of Contents
Chapter 1
Section 1.1: The Stable Matching Problem
The problem stems from the question that could one design a college admissions process, or a job recruiting process, that was self-enforcing, i.e. self-interest would prevent offers from being retracted and redirected, and all the offers would be stable?
This problem can be reduced to a simple problem, the solution to which can be extended to solve the Stable Matching Problem in general: given a set of n men and n women and an order of preference for each man and woman, find a stable matching such that everyone ends up married to somebody and nobody is married to more than one person. This problem is solved–efficiently–by the Gale-Shapley algorithm.
Section 1.1.1: Pseudo-code for the Gale-Shapley Algorithm
A sketch of the Gale-Shapley algorithm (from Page 6 of the textbook) to this problem is given below:
Initially all m and w are free
While there is a man m who is free and hasn’t proposed to every woman
Choose such a man m
Let w be the highest-ranked woman in m’s preference list to whom m has not yet proposed
If w is free then
(m, w) become engaged
Else w is currently engaged to m’
If w prefers m’ to m then
m remains free
Else w prefers m to m’
(m,w) become engaged
m’ becomes free
Endif
Endif
Endwhile
Return the set S of engaged pairs
Section 1.1.2: Analysis the Gale-Shapley Algorithm
The algorithm terminates after n^2 steps at most, since every man can at most propose to each of n women. Therefore, it is O(n^2). The proof for the algorithm is given on Page 7 of the textbook.
