Stable Matching

1.  Stable Matchings

    --  Consider two node sets U and V ("men" and "women")

    --  For simplicity: Assume |U| = |V| = n.

    --  Each node has a ranked order of the nodes on the other side. (different for different nodes)

        Examples: Hospitals & residents, colleges & applicants.

    --  Stable matching: A perfect matching (i.e., matches each node of U to a distinct node of V) such that: if u in U and v in V are not

matched, then either u likes its mate v' better than v, or v likes its mate u' better than u.

 

2.  Gale-Shapley Proposal Algorithm

    --  While there is an unattached man u

        -- u proposes to the top woman v on his preference list who hasn't rejected him yet

        -- Each woman entertains only the best proposal received so far

           [Invariant: current engagements = a matching]

    --  Terminates with a stable matching after <= n^2 iterations.

        -- Each man makes <= n proposals ==> <= n^2 iterations.

        -- Terminates with a perfect matching.

            -- If not, some man rejected by all women. ==> All n women engaged at conclusion of algorithm ==> All n men engaged at end, as well [contradiction]

        -- Terminates with a stable matching. Consider some u, v not matched to each other.

            -- Case 1: u never proposed to v. ==> u matched to someone he prefers to v.

            -- Case 2: u proposed to v. ==> v got a better offer, ends up matched to someone she prefers to u. 

            

你可能感兴趣的:(Stable Matching)