In my previous post, I had talked about the optimal strategy to maximize your probability of finding the perfect match. Now I’ll move on to the problem of how we might construct a social mechanism to find the best matches for people. First we need to answer what “best match” means. I’ll assume that the most efficient set of matches, from a social-optimal point of view, are stable matches. A stable match is the one where there is no incentive for individuals to leave their current pairing and move on to a better match.
Let’s provide a very simple setup for the problem: There are N (say 100) men, and N women (we could assume unequal numbers, but the argument would still hold), and each man and woman ranks the others from 1 up to N. For example, we would allow a man to rank the women from 1 to 50, and the rest could be “No Match”, i.e. the man would rather go unmatched than be paired with any of them.
An unstable match would be one where there are men and women who are not married to each other, but prefer each other to their actual mates, therefore having an incentive to break their current match. An unstable matching leads to a situation where Brad is paired with Jenn, and Mike is paired with Angelina. But Brad prefers Angelina to Jenn, and Angelina prefers Brad to Mike, thus giving an incentive for Brad and Angelina to leave their current partners and run off with each other. A stable matching is one where there are no unstable matches.
Now, is it always possible to find a stable match given everyone’s preference rankings? The answer is, surprisingly, “Yes”. The mechanism for achieving it is simple, and was initially proposed by mathematicians Gale and Shapley. The iterative matching algorithm (or procedure) proceeds as follows:
- In the first stage, each man proposes to his favorite woman. Each woman who receives more than one proposal rejects everyone except her favorite among the men who have proposed to her. However, she does not accept the proposal, but keeps him on a string to allow for the possibility that someone better might come along later.
- The men who were rejected now propose to their second choices. Each woman chooses her favourite from the group consisting of the new proposers and the man on her string, if any. She rejects the rest and keeps the, possibly new, favorite in suspense.
If we iterate this process, eventually every woman would have received a proposal. As soon as the last woman gets her proposal, the “courtship” is declared over, and every woman accepts the man on her string.
The resulting match from this process is provably stable. Suppose Brad and Jenn are not married to each other, but Brad prefers Jenn to his own wife. Then Brad must have proposed to Jenn at some stage and been rejected in favour of someone that Jenn liked better. Thus Jenn prefers her husband to Brad and there is no instability.
It turns out, however, that there are several possible stable matches and the (male-proposal) Gale-Shapley algorithm just finds one of them. We could have also constructed a similar algorithm with females proposing. It turns out that the stable matching generated from females proposing would be different from the one generated when men propose.
In fact, when men propose, the matching is Male-Optimal. This means, among all stable pairings, every man finds a woman who is the highest on his list that he can feasibly get paired with. This matching is not optimal for women. When women propose, the resulting matching is female-optimal. Interestingly enough, we cannot find a matching that is simultaneously male and female-optimal.
Real world match-making, of course, is a lot more complicated, but formulating it as this simple game has found applications that people care about. One example is the US Medical-Residency matching program. Students submit preference ranking for hospitals, and the residency programs, in turn, have preferences for the students. Students apply to the programs, and the hospitals accept matches, in iterative stages. The hospitals can accept multiple offers. A version of the algorithm above developed by Al Roth – a Harvard Economics professor – is currently used for the US residency-matching program.
Match-making algorithms find use in a broad range of Economic activities. In fact, markets can also be viewed as a large-scale match-making service, matching buyers with sellers (often through double-auctions). Here the goal is to develop an efficient market exchange mechanism such that goods would be exchanged between the traders who value it the most. In this setting however, the matching algorithms described above are no longer valid due to the presence of an externality, money. That’s why the algorithm above does not produce stable matches in the presence of dowries, where the parties can offer money to incentivize someone to propose to, or accept, a non-favorite choice.
Another issue that arises in designing such mechanisms is whether the system can be “gamed”. Going back to our example of stable marriages, can Ms. Machiavelli manipulate her choices in order to secure a higher-ranked match for herself? Is it possible for a residency applicant to game the system by manipulating his reported ranking? It’s an argument that I’ll keep for a later post.