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.