170 likes | 182 Views
Learn about X-Matching, Maximal Matching, Range of a set, Matching Network, Matching Flow, Edge Cover, and Hall’s Matching Theorem. Explore examples and proofs in Tucker’s Applied Combinatorics.
E N D
Some Definitions Tucker, Applied Combinatorics, Sec. 4.3, prepared by Jo E-M Y X Bipartite Graph Matching A set of independent edges Edges only between X and Y X-Matching Maximal Matching The largest possible number of edges All vertices in X are used Note: an X-matching is necessarily maximal. Tucker, Section 4.3
More Definitions R(A) Range of a set A of vertices Edge Cover R(A) is the set of vertices adjacent to at least one vertex in A A = red, R(A) = blue A set of vertices so that every edge is incident to at least one of them Tucker, Section 4.3
Matching Network All edges infinite capacity a z All edges capacity 1 By converting the bipartite graph to a network, we can use network flow techniques to find matchings. Tucker, Section 4.3
Matching Network All edges infinite capacity a z All edges capacity 1 Matching a – z flow Tucker, Section 4.3
Matching Network All edges infinite capacity a z All edges capacity 1 X – matching saturation at a Tucker, Section 4.3
Matching Network All edges infinite capacity a z All edges capacity 1 Maximal matching Maximal flow Tucker, Section 4.3
P = a, black on left, red on right P = z, red on left, black on right Matching Network All edges infinite capacity S = red vertices, an edge cover a z All edges capacity 1 A = red on left, B = red on right Edge cover means that all edges have at least one red endpoint: P to P, to , to P. Thus only uncovered edges, would go from P to . Edge cover Finite a – z cut Tucker, Section 4.3
P = a, black on left, red on right P = z, red on left, black on right Matching Network All edges infinite capacity S = red vertices, NOT an edge cover a z All edges capacity 1 A = red on left, B = red on right An infinite cut would go through an edge with two black endpoints, which corresponds to an uncovered edge. Not an edge cover Infinite a – z cut Tucker, Section 4.3
Theorem 1 Recall Corollary 3a from Section 4.2: The size of a maximal flow is equal to the capacity of a minimal cut. Since…. Then, The size of a maximal matching is equal to the size of a minimal edge cover. Matching a – z flow and Edge cover Finite a – z cut Tucker, Section 4.3
Finding Matchings All edges infinite capacity a z All edges capacity 1 Take any matching, convert to a network, and then use the augmenting flow algorithm to find a maximal flow, hence a maximal matching. Tucker, Section 4.3
An easy way to think about it • Start with any matching. • From an unmatched vertex in X, alternate between nonmatching and matching edges until you hit an unmatched vertex in Y. • Then switch between the nonmatching and matching edges along to path to pick up one more matching edge. • Continue this until no unmatched vertex in X leads to an unmatched vertex in Y. Tucker, Section 4.3
Start with any matching Start at an unmatched vertex in X End at an unmatched vertex in Y Find an alternating path Switch matching to nonmatching and vice versa A maximal matching! Example Tucker, Section 4.3
Theorem 2Hall’s Matching Theorem A bipartite graph has an X-matching if and only if for every subset A of X, |R(A)| is greater than or equal to |A|. X – matching True for all A in X Tucker, Section 4.3
Proof ofHall’s Matching Theorem “ ”: An X-matching implies that for every subset A of X, |R(A)| is greater than or equal to |A|. For any A, the X – matching gives at least one vertex in R(A)for every vertex in A. X – matching Tucker, Section 4.3
Proof ofHall’s Matching Theorem “ ”: If |R(A)| is greater than or equal to |A| for every subset A of X, then there is an X-matching. • First note that if M is a maximal matching, then . • Taking A = X, we have that since the range of Xis contained in Y. Thus . • Also, by Theorem 1, if S is a minimal edge cover, then . • Note that if , then M must be an X – matching. • Thus, it suffices to show that for all edge covers S. Tucker, Section 4.3
Proof of Hall’s Matching Theorem Since , . Now let A be the vertices in X but not in S, so that . Thus, . Now, S is an edge-cover, so if it doesn’t contain on the X side, it must contain all the vertices a goes to on the Y side in order to cover the edges in between. Thus , so . Thus, But , hence , so as needed. /// “ ”: Continued… we need to show that for all edge covers S. Tucker, Section 4.3
Example To Try Make up a random bipartite graph with about 20 vertices total. Swap with someone, and then both of you find an X-matching Tucker, Section 4.3