Stable matching in a bipartite graph
ID: stable-matching-in-a-bipartite-graph
A stable matching in a bipartite graph pairs two groups so that no acceptable unpaired pair would both rather be together. Give a finite bipartite graph a strict preference ordering at each vertex over its neighbours of a vertex. An edge means that both endpoints regard the pair as acceptable; every acceptable partner ranks above being unmatched. Lists may be incomplete, and and may have unequal cardinalities. A matching in a graph is stable when it has no blocking pair in stable matching.
Write for the partner of a vertex , or if is an unmatched vertex in a matching. An unused edge is a blocking pair in stable matching precisely whenwhere denotes the strict preference at and ranks below every neighbour of a vertex. Both inequalities matter: wanting a different partner alone cannot upset a stable matching. A stable matching need not be a perfect matching; the Gale-Shapley algorithm still finds one with incomplete lists and unequal sides.
Here is an original example on the complete bipartite graph , with and . Read each row from best to worst:There are two stable matchings,For , the only unpaired partners preferred by left vertices are wanting and wanting . But prefers its partner to , and prefers its partner to . Hence neither is a blocking pair in stable matching. For , the left vertices want with , with or , and with or . In every case the right vertex prefers its current partner: has , has , and has .
By contrast, is a perfect matching with a blocking pair in stable matching : prefers to , while prefers to . The abandoned partners need not agree to the change; stability tests the incentives of the two endpoints of the unused edge.
There are permutations of right partners. The following table lists every blocking pair in stable matching for each perfect matching; the middle column gives the partners of in that order:This exhausts the stable matchings: any nonperfect matching in a graph here leaves an unmatched vertex on each side, and those two form a blocking pair in stable matching because every cross-pair is acceptable. Notice that every left vertex prefers and every right vertex prefers . Stability can accommodate opposing interests without selecting a single universally preferred outcome.
A stable matching addresses the possibility of mutually beneficial departures. Its definition contains no numerical total social benefit or maximum-weight matching objective. For example, assigning benefit to each edge of and zero to every other edge makes the unique maximum-weight matching, yet still blocks it under the displayed preference relations. Such external benefits need not represent participants' rankings.
New to topics? Read the docs here!
