Stable Matching Problem
- Let be two sets.
- A set is called a matching if no two pairs in have the same first or second element.
- A matching is perfect if each element of and each element of appears in exactly one pair in .
- A preference list for is a list of elements of in the order of preference. (similarly for )
- An unstable pair is a pair such that prefers to his current partner, and prefers to her current partner.
- A matching is stable if (i) it is perfect, and (ii) there is no instability with respect to .
- A set is called a matching if no two pairs in have the same first or second element.
Stable Matching Problem
Does there exist a stable matching for every set of preference lists? Given a set of preference lists, can we efficiently construct a stable matching if there is one?
Example 1
given , and the following preference lists:
- :
- :
- :
- : there is a unique stable matching: .
Example 2
given , and the following preference lists:
- :
- :
- :
- : there are two stable matchings: and .
Gale-Shapley Algorithm
- Gale-Shapley Algorithm is guaranteed to terminate and produce a stable matching for any set of preference lists.
Initially all m ∈ M and w ∈ W are free
while ∃ m ∈ M who is free and hasn't proposed to every w ∈ W
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
(m, w) become engaged
else some pair (m', w) already exists
if w prefers m to m'
(m, w) become engaged
m' becomes free
else
(m', w) remain engaged
Return the set of engaged pairs
- (1.1) remains engaged from the point at which she receives her first proposal; and the sequence of partners to which she is engaged gets better and better for her.
- (1.2) The sequence of women to whom proposes gets worse and worse for him.
- (1.3) G-S Algorithm terminates after at most iterations of the while loop.
- (1.4) If is free at some point in the execution of the algorithm, then there is a woman to whom has not yet proposed.
- (1.5) The set of pairs returned at termination is a perfect matching.
- (1.6) Consider an execution of the algorithm that returns a set of paris . Then is a stable matching.
- (1.7) Every execution (i.e., every choice of the order men propose) of the G-S Algorithm results in the set
- is a valid partner of if there is a stable matching that contains the pair .
- is the best valid partner of (denoted as ) if is a valid partner of and no woman whom ranks higher than is a valid partner of his.
- (1.8) In the stable matching , each woman is paired with her worst valid partner.
- A man is a valid partner of a woman if there a stable matching that contains the pair .
- A man is the worst valid partner of a woman if is a valid partner of and, and no man whom ranks lower than is a valid partner of hers.
Interval Scheduling
- Given a set of requests
- Each request is specified by a start time and a finish time , where .
- Two requests and are compatible if their intervals do not overlap, i.e., or .
- A set of requests is compatible if every pair of requests in is compatible.
- The interval scheduling problem is to find a maximum-cardinality compatible set of requests.
Weighted Interval Scheduling
- As in the interval scheduling problem, we are given a set of requests, each specified by a start time and a finish time .
- In addition, each request has an associated value (or weight) .
- The goal is to find a compatible subset of intervals of maximum total value.
- The case in which is simply the interval scheduling problem.
Bipartite Matching Problem
- Given a bipartite graph , the bipartite matching problem is to find a maximum matching in the graph.
- If , then there is a perfect matching if and only if the maximum matching has size
- (see also Matching in Bipartite graph)
Independent Set Problem
- The independent set problem is to find an maximal independent set in a given graph.
- The Interval Scheduling Problem is a special case of the independent set problem. (The requests can be represented as a graph, where each request is a vertex, and two requests are connected by an edge if they are not compatible. The interval scheduling problem is equivalent to finding a maximum independent set in this graph)
- The Bipartite Matching Problem is a special case of the independent set problem. (Given a bipartite graph ,todo )
- No efficient algorithm is known for the general independent set problem, and it is conjectured that no such algorithm exists.
- The independent set problem is NP-complete.
Competitive Facility Location
- The geographic region is divided into zones .
- Each zone has a value , which is the revenue obtained by either of the compenies if it opens a franchise there.
- Certain pairs of zones are adjacent, and local zoning laws prevent two adjacent zones from each containing a franchise, regardless of which company owns them.
- We model this problem as a graph , where (zones) and (adjacent zones).
- Our game consists of two players, and , alternately selecting nodes in , with going first.
- todo