k-colorable: color vertex with k at most different colors so that no neighbors with the same color can be connected.
Bipartite: graph G = \langle{V, E}\rangle is bipartite iff it contains no cycles of odd length. (partitioned vertex into X, Y so that all edges have one endpoint in X and the other in Y.)
forward: odd-length cycle -> not 2-colorable -> not bipartite
backward: BFS tree where each level is distance
Matching: a subset of edges in bipartite graph where each vertex can only appear once.
Maximum Matching: |M| = \min(|X|, |Y|)
Maximal Matching: Local Optimum
Perfect Matching: Bijection (require |X|=|Y|, a graph can have no perfect matching)
Alternating (Augmenting) Path: a path alternate between M and not M
Augmenting Path: an alternating path such that first and last vertices are not matched by M. (need not contain all edges of the matching; can be size of one)
Augmenting Path are used to invert maching to get a bigger maching set
Theorem: a maximum match has no augmenting path (if so, then we can create larger match)
Finding augmenting path:
Exercise: proof a graph with all vertices degree at most 2 is either a path or a cycle
finding augmenting path is easy in Bipartite Graph, but hard in general graph. Blossom_algorithm
Hall's Theorem: Let G = \langle{X, Y, E}\rangle be a bipartite. There is a matching covering all the vertices in X (perfect matching) \iff (\forall S \subseteq X)(|S| \leq |N(S)|) (N is neighbors)
Application: randomly make 13 piles of 4 cards. show I can select a card from each pile to make up all 13 ranks
Stable Matching: // TODO: define
perfect matching
no unstable pairs
The Gale-Shapley proposal algorithm
Valid Partner: partners in at least one stable matching
\text{best}(m) = \text{highest ranked valid partner of } m
Theorem: Gale-Shapley returns \{(m, \text{best}(m)) | m \in M)\}
Theorem: Gale-Shapley returns \{(\text{worst}(w), w) | w \in W)\}
Table of Content