1 / 17

Understanding Bipartite Graphs and Matchings

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.

klewis
Download Presentation

Understanding Bipartite Graphs and Matchings

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  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

  4. Matching Network All edges infinite capacity a z All edges capacity 1 Matching a – z flow Tucker, Section 4.3

  5. Matching Network All edges infinite capacity a z All edges capacity 1 X – matching saturation at a Tucker, Section 4.3

  6. Matching Network All edges infinite capacity a z All edges capacity 1 Maximal matching Maximal flow Tucker, Section 4.3

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

More Related