OR 215Spring 1998
Network FlowsM. Hartmann
STABLE MATCHING PROBLEMS
Stable Marriage Problem
Propose and Reject Algorithm
Bipartite Stable Matching
Linear Programming Formulation
Non-Bipartite Stable Matching
STABLE MARRIAGE PROBLEM
A certain community consists of n men and n women. Each person has a strict preference over members of the opposite sex, for example:
Bengt: Anita, Christine, ElenaAnita: Peter, Reid, Bengt
Peter: Christine, Elena, AnitaChristine: Reid, Bengt, Peter
Reid: Elena, Anita, ChristineElena: Bengt, Peter, Reid
Note: The preferences must be strict, i.e. Elena cannot be indifferent between Bengt and Peter.
For a given matching, a man-woman pair is unstable if they are not married to each other, but prefer each other to their current mates. A perfect matching is said to be stable if it has no unstable pairs.
• Is the matching Bengt-Christine, Peter-Anita, Reid-Elena stable?
• Is the matching Bengt-Christine, Peter-Elena, Reid-Anita stable?
PROPOSE AND REJECT ALGORITHM
We will show constructively that every set of preferences admits a stable perfect matching.
Consider the following algorithm:
• Initially, all men and women are single.
• In each iteration, a man who is single proposes to the woman he prefers most among the women to whom he has not yet proposed.
• The woman that receives the proposal accepts it if she is single or if she prefers the proposing man to her current mate.
• In the latter case, the man disavowed becomes single again, and the algorithm continues to its next iteration.
• This courtship process ends when each single man has proposed to all of the women.
Suppose we replace Bengt by Cyrus, with preferences:
Cyrus: Christine, Elena, AnitaAnita: Peter, Reid, Cyrus
Peter: Christine, Elena, AnitaChristine: Reid, Peter, Cyrus
Reid: Elena, Anita, ChristineElena: Cyrus, Peter, Reid
A possible sequence of proposals:
• Cyrus proposes to Christine, who accepts.
• Peter proposes to Christine, who disavows Cyrus in favor of Peter.
• Reid proposes to Elena, who accepts.
• Cyrus proposes to Elena, who disavows Reid in favor of Cyrus.
• Reid proposes to Anita, who accepts.
The final matching is Cyrus-Elena, Peter-Christine and Reid-Anita, which is stable.
Questions: 1. Does the propose and reject algorithm always produce a perfect matching? 2. Does it produce a stable matching? ANALYSIS
If there is a single man when the algorithm terminates, then there must also be a single woman. When the single man proposed to her, she either accepted his proposal or rejected it because she was already matched to a man she prefered to him, a contradiction.
Suppose that the resulting perfect matching is not stable, and consider an unstable man-woman pair. If the man prefers this woman to his mate, then he must have proposed to her at some earlier stage and been rejected or disavowed in favor of someone prefered by the woman. Consequently, since no woman ever switches to a man she prefers less, the matching is stable.
Theorem. For every set of preferences, the stable marriage problem admits a stable perfect matching. Further, the propose and reject algorithm constructs a stable perfect matching in O(n2) time.
• How long does it take for the women to make their decision to accept or reject?
MAN / WOMAN-OPTIMAL MATCHINGS
Consider the stable matching produced by the propose and reject algorithm:
• Cyrus-Elena, Peter-Christine, Reid-Anita
If we interchange the roles of men and women, the propose and reject algorithm produces a different stable matching: