Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference
|
|
- Sheryl Warner
- 6 years ago
- Views:
Transcription
1 S / T Matching in bipartite and general graphs 1 3. Matching in bipartite and general graphs Let G be a graph. A matching M in G is a set of nonloop edges with no shared endpoints. Let M be a matching in G. A vertex of G is saturated by M if it is incident to an edge in M; otherwise the vertex is unsaturated by M. A matching that saturates all vertices in G is a perfect matching. A matching in G is maximal if it is not a subset of a matching of larger cardinality. A maximum matching is a matching of the maximum size among all matchings in G. S / T Matching in bipartite and general graphs 3 Sources for this lecture The material for this lecture has been prepared with the help of [Wes, Chapter 3], [Jun, Section 7.2 and Chapter 12] and [Die, Chapter 2]. [Die] [Lov] R. Diestel, Graph Theory, 2nd Edition, Graduate Texts in Mathematics 173, Springer, New York NY, L. Lovász and M. D. Plummer, Matching Theory, North-Holland, Amsterdam, The monograph [Lov] is a comprehensive reference to matching theory. S / T Matching in bipartite and general graphs 2 In this lecture we study matchings in bipartite and general graphs. Our main topics of interest are: 1. Necessary and sufficient conditions for a graph to have a perfect matching (equivalently, a 1-factor). Hall s matching theorem for bipartite graphs. Tutte s 1-factor theorem for general graphs. 2. The size of a maximum matching in a graph. König-Egerváry theorem for bipartite graphs. Berge-Tutte formula for general graphs. 3. Efficient algorithms for finding a maximum matching in a given graph G. 4. A small digression: stable matchings. Not considered: weighted matchings; see [Jun, Chapter 13]. S / T Matching in bipartite and general graphs 4 Symmetric difference For convenience, we identify a matching M in G with the graph induced by the edges in M. Let G and H be graphs. The symmetric difference G H is the graph defined by V (G H) := V (G) V (H), E(G H) := (E(G) E(H)) (E(H) E(G)). Lemma A.6 Every component of the symmetric difference of two matchings is either a path or an even cycle. (Note that some of the paths above may have length zero.)
2 S / T Matching in bipartite and general graphs 5 S / T Matching in bipartite and general graphs 7 Augmenting paths and maximum matchings Let G be a graph and let M be a matching in G. An M-alternating path is a nontrivial path in G whose edges are alternately in M and not in M. An M-alternating path whose endpoints are unsaturated by M is an M-augmenting path. The following theorem characterizing maximum matchings in an arbitrary graph is due to Berge (1957). Theorem A.26 A matching M in G is a maximum matching if and only if there exists no M-augmenting path. Matching in bipartite graphs Recall the theorem of König (1931) and Egerváry (1931): Theorem A.27 For a bipartite graph G, the cardinality of a maximum matching in G is equal to the minimum size of a vertex cover of G. Thus, given a matching M in a bipartite graph G, we can prove that M is a maximum matching by exhibiting a vertex cover C that satisfies M = C. S / T Matching in bipartite and general graphs 6 S / T Matching in bipartite and general graphs 8 Proof: ( ) Suppose that P is an M-augmenting path. Then, M P is a matching with cardinality M + 1. Thus, M is not a maximum matching. ( ) Suppose that M is not a maximum matching. We must prove that there exists an M-augmenting path P. Since M is not a maximum matching, there exists a matching M with M = M + 1. By Lemma A.6, every component of M M is either an even cycle or a path. Moreover, M M consists of an odd number of edges with one more edge from M than from M. Since each even cycle in M M must use equally many edges from M and from M, we have that M M contains an odd-length path P, which is both M- and M -alternating. Thus, P is an M-augmenting path since both of its endpoints must be incident with an edge in M. Hall s theorem Let G be a bipartite graph and let X, Y be a bipartition of its vertex set. Let S X. We denote by N(S) the vertices in G adjacent to a vertex in S. The following theorem is due to P. Hall (1935). Theorem A.28 There exists a matching in G that saturates every vertex in X if and only if N(S) S for all S X. Proof: ( ) Let M be a matching that saturates X and let S X. Since N(S) must contain the vertices matched to the vertices S in M, we have N(S) S.
3 S / T Matching in bipartite and general graphs 9 Proof: ( ) We apply the König-Egerváry theorem. Suppose G has no matching that saturates every vertex in X. Then, α (G) < X. Let C X Y be a vertex cover of size α (G) and put S := X C. We have N(S) C Y since all edges with one endpoint in S must have the other endpoint in C Y by definition of a vertex cover. Since C = C X + C Y and C < X = C X + S, we have N(S) C C X < S. The following is an example application of Hall s theorem. Theorem A.29 A regular bipartite graph has a perfect matching. Proof: Let G be a k-regular bipartite graph. Every bipartition X, Y of G satisfies k X = k Y, hence X = Y. Let S X. Every vertex in N(S) is adjacent to at most k vertices in S. Since there are k S edges with one endpoint in S and the other in N(S), we must have k N(S) k S. Thus, N(S) S. S / T Matching in bipartite and general graphs 11 An algorithm for maximum matching Theorem A.26 gives us a way to determine a maximum matching in a graph: given a (possibly empty) matching M, search for a M-augmenting path. If an M-augmenting path P exists, we obtain a larger matching M P; otherwise M is a maximum matching. At most n(g)/2 iterations suffice to produce a maximum matching. Finding augmenting paths in a bipartite graph is straightforward; the general case is more subtle, we will sketch the procedure at the end of this lecture. S / T Matching in bipartite and general graphs 10 Remarks The condition N(S) S is often called Hall s matching condition or simply Hall s condition. Hall s theorem is perhaps the most often applied result from graph theory. In the exercises we will consider some applications of Hall s theorem. Many proofs of Hall s theorem are known. For example, [Die, Chapter 2] contains three independent proofs (one of which was just given); in a subsequent lecture/exercise we will see a proof using network flow theory. S / T Matching in bipartite and general graphs 12 Augmenting paths: the bipartite case Procedure bipartite-augment takes as input a bipartite graph G and a matching M in G. The output is either an M-augmenting path or a vertex cover of G of size M. The procedure uses the following local data structures: X, Y an arbitrary bipartition of G; S X; T Y p[v] contain vertices that are unsaturated or reachable from an unsaturated vertex in X by an M-alternating path; is either undefined or contains a vertex that follows v V (G) in an M-alternating path terminating at an unsaturated vertex of X.
4 S / T Matching in bipartite and general graphs 13 Procedure bipartite-augment(g, M) (1) X, Y a bipartition of G; (2) for each v V (G) do p[v] undef end for (3) S the vertices in X unsaturated by M; T ; (4) for each unmarked x S do (5) for each xy E(G) M do (6) if y is unsaturated then (7) output y, x, p[x], p[p[x]],... as an M-augmenting path; (8) halt (9) end if (10) w the vertex for which yw M; (11) p[y] x; p[w] y; (12) T T {y}; S S {w} (13) end for (14) mark x; (15) end for (16) output T (X S) as a vertex cover for G S / T Matching in bipartite and general graphs 15 Theorem A.30 A set T (X S) output by Procedure bipartite-augment is a vertex cover of cardinality M. Proof: To show that T (X S) is a vertex cover it suffices to show that there is no edge joining S to Y T. Let e = uv E(G), where u X, v Y. Suppose u S. If e / M, then v T after u is marked. If e M, then u S implies that u is reachable from an unsaturated vertex in X by a nontrivial M-alternating path. The edge incident with u in such a path must be e. Hence, v T. Because all vertices in T are saturated and no edge uv M satisfies u T and v X S, we have that M contains precisely T edges with one endpoint in S and the other in T. The remaining edges in M have one endpoint in X S. Because all vertices in X S are saturated, M = T + X S = T (X S). S / T Matching in bipartite and general graphs 14 Correctness sketch S / T Matching in bipartite and general graphs 16 Lemma A.7 The for-loop on lines 4 15 maintains the invariants (i) the set S contains only vertices in X that are either unsaturated or reachable from an unsaturated vertex in X by an M-alternating path; and (ii) the set T contains only saturated vertices in Y that are reachable from an unsaturated vertex in X by an M-alternating path; and (iii) v, p[v], p[p[v]],... is an alternating path from v to an unsaturated vertex in X whenever p[v] undef. Whenever T (X S) is output as a vertex cover, the sets S, T are maximal with respect to the conditions in (i) and (ii). Invariant (iii) in Lemma A.7 shows that any path output by bipartite-augment is an M-augmenting path. Thus, by Theorem A.30 bipartite-augment outputs either an M-augmenting path or a vertex cover of size M. The size of a vertex cover is an upper bound on the size of a maximum matching. Thus, M is a maximum matching if and only if bipartite-augment outputs a vertex cover. The correctness proof for procedure bipartite-augment constitutes an algorithmic proof of the König-Egerváry theorem.
5 S / T Matching in bipartite and general graphs 17 Remarks The bipartite matching algorithm based on bipartite-augment can be implemented to run in time O(n(G)e(G)). The algorithm of Hopcroft and Karp (1973) solves the maximum matching problem for bipartite graphs in time O( n(g)e(g)); see [Wes, p ] and [Jun, p. 191,502]. In a subsequent lecture/exercise we will use a maximum flow algorithm to compute a maximum matching in a bipartite graph. (This is essentially the Hopcroft-Karp algorithm.) Balinsky and Gonzales (1991) describe an O(n(G)e(G)) time algorithm for maximum bipartite matching based on strong spanning trees. S / T Matching in bipartite and general graphs 19 Gale-Shapley proposal algorithm Stable matchings always exist. The following proposal algorithm due to Gale and Shapley (1962) always produces a stable matching. Input: preference rankings for each of the n men and n women. Iteration: each man proposes to the highest ranked woman (in his preference) who has not previously rejected him. If each woman receives exactly one proposal, stop and use the resulting matching. Otherwise, every woman proposed says maybe to the most attractive proposal and rejects the other proposals, if any. S / T Matching in bipartite and general graphs 18 Stable matchings We briefly consider matching with preferences. Consider the problem of establishing n stable marriages between n men and n women. If man x and woman a are paired with other partners such that x prefers a over his current partner, and a prefers x over her current partner, then the pair x,a is unstable. A perfect matching is stable subject to the preference rankings of each man and woman if there exists no unstable pair. S / T Matching in bipartite and general graphs 20 Theorem A.31 The Gale-Shapley proposal algorithm always produces a stable matching. Proof: Denote by A i the set of women who receive at least one proposal during iteration i. By the structure of the algorithm, A i A i+1 (equality can hold). The algorithm finds a matching when A i is the set of all women. This must happen either on the round some man x proposes to the last woman on his preference list (because then x has proposed to all the women) or during some preceding round. The matching output by the algorithm is always stable. To reach a contradiction, suppose that x,a is an unstable pair, i.e. x prefers a over his partner b, and a prefers x over her partner y. Then, by the structure of the algorithm, x has proposed to a before b, so a would have rejected y who she prefers less than x, a contradiction.
6 S / T Matching in bipartite and general graphs 21 22,916 positions to 31,083 applicants. Remarks The matching output by the proposal algorithm has the property that, among all possible stable matchings, every man is happiest in the matching produced by the proposal algorithm (exercise). For women, no such property holds. (Unless the women do the proposing, of course.) For example, it can happen that every woman ends up with the least preferred partner. The proposal algorithm was actually devised and implemented already in 1952 in the United States to organize the chaos of matching the graduates of medical schools to residency positions. a a In 2002, the National Resident Matching Program ( offered S / T Matching in bipartite and general graphs 23 Tutte s 1-factor theorem Let G be a graph and let S V (G). Denote by G S the graph obtained by deleting the vertices in S from G. Denote by o(g S) the number of odd components in G S. The following theorem is due to Tutte (1947). Theorem A.32 A graph G has a 1-factor if and only if o(g S) S for every S V (G). Proof: ( ) Each odd component of G S has a vertex matched to a distinct vertex of S. Thus, o(g S) S. ( ) See e.g. [Wes, p ] or [Jun, p ]. S / T Matching in bipartite and general graphs 22 Decomposition and factors Let G be a graph. A decomposition of G is a set of subgraphs of G such that every edge of G occurs in exactly one subgraph. Let k 1. A (k-)factor in G is a (k-regular) spanning subgraph. A (k-)factorization of G is a decomposition of G into (k-)factors. A 1-factor in G corresponds to a perfect matching. A 1-factorization of G corresponds to a partition of E(G) into perfect matchings. Example. A 1-factorization of K 6 : = S / T Matching in bipartite and general graphs 24 The following theorem demonstrates the use of Tutte s theorem; the theorem is originally due to Petersen (1891). Theorem A.33 Every 3-regular graph G without a cut-edge has a 1-factor. Proof: We verify Tutte s condition for G. Let S V (G). For S = the claim holds since each component H satisfies 2e(H) = 3n(H), so n(h) must be even. Otherwise, let H be an odd component in G S and denote by m the number of edges with exactly one endpoint in H. Clearly, 2e(H) = 3n(H) m is even, so m must be odd. We cannot have m = 1 since then G would contain a cut-edge, so m 3. Thus, each odd component of G S is connected to S by at least three edges. Since each vertex in S is incident to at most three such edges, 3o(G S) 3 S, which implies Tutte s condition. The claim does not hold for an arbitrary 3-regular graph (exercise).
7 S / T Matching in bipartite and general graphs 25 Matching in general graphs The König-Egerváry theorem does not hold for an arbitrary graph G; consider an odd cycle. Nevertheless, we have α (G) β(g) 2α (G) (exercise). Computing β(g) for an arbitrary graph G is NP-hard. The following formula is due to Berge (1958) and is known as the Berge-Tutte formula: 2α (G) = min {n(g) (o(g S) S )}. S V (G) Thus, given a matching M in G, we can prove that M is a maximum matching by exhibiting a subset S V (G) such that 2 M = n(g) (o(g S) S ). S / T Matching in bipartite and general graphs 27 Proof: (continued) We verify Tutte s condition for G. Let S V (G ). Tutte s condition holds for S = because G is connected and n(g ) = n(g) + d 0 (mod 2). The last equality holds because for all S V (G). o(g S) + S o(g S) S n(g) (mod 2) Next, suppose V (K d ) S. Then, G S is connected. Hence, o(g S ) 1 S. Otherwise we have V (K d ) S. Put S := S V (K d ). Now, o(g S ) S = o(g S) ( S + d) = o(g S) S d 0. Therefore, o(g S ) S and Tutte s condition holds for G. S / T Matching in bipartite and general graphs 26 Proof: (of the Berge-Tutte formula) Put d := max S V (G) {o(g S) S }. From S = we obtain d 0. If d = 0, Tutte s condition holds for G and we are done. So, suppose d 1. It suffices to show that G has a matching M that saturates n(g) d vertices. (Clearly, at least d vertices are left unsaturated by every matching in G.) The join G H of two graphs G, H is the graph obtained from the disjoint union of G and H by adding the edges {uv : u V (G), v V (H)}. Put G := G K d. We show that G has a 1-factor. By deleting from the 1-factor the at most d edges incident with vertices of K d we obtain a matching in G that saturates at least n(g) d vertices. S / T Matching in bipartite and general graphs 28 Augmenting paths: the general case Consider the graph G below. Edges in M are indicated in bold. y u v a If we search for M-augmenting paths starting at u, then we reach x either using uv, va,ax or using uv, va,ab,bc, cd,dx. Only the latter of these M-alternating paths can be extended to an M-augmenting path. (This situation cannot arise in the bipartite case. Why?) x b d c
8 S / T Matching in bipartite and general graphs 29 The previous observation points out the following obstacle: In searching for M-augmenting paths starting at an unsaturated vertex u, we may arrive at a vertex x both along an edge in M and along an edge not in M. Both alternatives must be considered when continuing the search from x, or otherwise we may miss an M-augmenting path in the search. The straightforward solution of searching through all M-alternating paths starting at u is very expensive since there are in general exponentially many such paths. Edmonds (1965) gave an elegant solution to this problem (which we shall only sketch along the lines in [Wes, p ]). For a detailed exposition, see [Jun, Section 12.4]. S / T Matching in bipartite and general graphs 31 Edmonds blossom algorithm Edmonds blossom algorithm searches for an M-augmenting path starting from an unsaturated vertex u. Whenever a flower is encountered, the corresponding blossom is contracted to a single vertex. The contracted vertex is then considered in the search as any other vertex. Repeated contractions can occur. Let B be an odd cycle in a graph G. We denote by G/B the graph obtained by contracting B to a single vertex β, where β / V (G). The graph G/B is defined by: V (G/B) := (V (G) V (B)) {β}, E(G/B) := {uv : uv E(G), u, v V (G) V (B)} {uβ : uv E(G), u V (G) V (B), v V (B)}. S / T Matching in bipartite and general graphs 30 S / T Matching in bipartite and general graphs 32 Flower, stem, blossom Let M be a matching in a graph G and let u V (G) be unsaturated. A flower is the union of two M-alternating paths from u to a vertex x such that (i) one path reaches x along an edge in M, the other along an edge not in M; and (ii) the union contains exactly one cycle. The stem of the flower is the maximal common initial path starting at u, the root of the flower. The blossom of the flower is the odd cycle obtained by deleting the stem (apart from its last vertex). The base of the blossom is the vertex common to the stem and blossom. Similarly, the matching M/B is obtained from M by removing the edges in E(B) and replacing the endpoint in V (B) by β for the edge in M with exactly one endpoint in V (B). Theorem A.34 Let M be a matching in a graph G and let B be the blossom of a flower with root u. Then, G contains an M-augmenting path starting at u if and only if G/B contains an M/B-augmenting path starting at u; or, at β if u V (B). (See [Jun, Lemma ] and [Jun, Lemma ].) Note that the base and root of a flower may be equal.
9 S / T Matching in bipartite and general graphs 33 In what follows we sketch the augmenting path search procedure for a general graph G with a matching M, omitting details how the contraction and expansion of blossoms is done in practice. We now search from a fixed unsaturated source vertex u (whereas bipartite-augment searches from all unsaturated vertices at once). To settle the nonexistence of an M-augmenting path we need to consider every unsaturated vertex u. The search procedure expands two sets S, T V (G) that contain vertices reachable from u along even- and odd-length M-alternating paths, respectively. Unless undefined, p[v] contains a vertex that precedes v on an alternating path from u. When a discovered blossom B is contracted, we put G G/B and M M/B. Furthermore, we put p[v] β for all v V (G/B) such that p[v] V (B). S / T Matching in bipartite and general graphs 35 Remarks When appropriately implemented, Edmonds blossom algorithm runs in time O(n(G) 3 ), see [Jun, p ]. Micali and Vazirani (1980) give an algorithm for maximum matching in an arbitrary graph that runs in time O( n(g)e(g)). The analysis of the algorithm appears in Vazirani (1994); for discussion and implementation issues, see the references in [Jun, p. 363]. S / T Matching in bipartite and general graphs 34 Procedure (sketch) general-augment-from(g, M, u) (1) S {u}; T ; (2) for each unmarked x S do (3) for each xy E(G) M such that y / T do (4) if y is unsaturated then (5) output y, x, p[x], p[p[x]],... as an M-augmenting path (expanding blossoms if necessary); halt (6) end if (7) if y S then (8) contract the blossom B of the flower defined by the paths y, x, p[x], p[p[x]],... and y, p[y], p[p[y]],...; (9) p[β] p[the base of B]; S (S V (B)) {β}; break (10) end if (11) w the vertex for which yw M; (12) p[y] x; p[w] y; T T {y}; S S {w} (13) end for (14) mark x; (15) end for (16) output no M-augmenting path starting at u
Matching and Covering
Matching and Covering Matchings A matching of size k in a graph G is a set of k pairwise disjoint edges The vertices belonging to the edges of a matching are saturated by the matching; the others are unsaturated
Graph Theory: Matchings and Factors
Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT Kharagpur pallab@cse.iitkgp.ernet.in Matchings A matching of size k in a graph G is a set of k
Theorem 3.1 (Berge) A matching M in G is maximum if and only if there is no M- augmenting path.
3 Matchings Hall s Theorem Matching: A matching in G is a subset M E(G) so that no edge in M is a loop, and no two edges in M are incident with a common vertex. A matching M is maximal if there is no matching
Matching Theory. Figure 1: Is this graph bipartite?
Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to
2. Lecture notes on non-bipartite matching
Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 15th, 013. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested in finding
1 Matchings in Graphs
Matchings in Graphs J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 Definition Two edges are called independent if they are not adjacent
Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.
18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have
Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching. A maximal matching cannot be enlarged by adding another edge.
Matchings A matching is a set of (non-loop) edges with no shared endpoints. The vertices incident to an edge of a matching M are saturated by M, the others are unsaturated. A perfect matching of G is a
5.1 Min-Max Theorem for General Matching
CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: General Matching Date: 4/01/008 Lecturer: Lap Chi Lau Scribe: Jennifer X.M. WU In this lecture, we discuss matchings in general graph.
1 The Arthur-Merlin Story
Comp 260: Advanced Algorithms Tufts University, Spring 2011 Prof. Lenore Cowen Scribe: Andrew Winslow Lecture 1: Perfect and Stable Marriages 1 The Arthur-Merlin Story In the land ruled by the legendary
Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs.
18.438 Advanced Combinatorial Optimization September 17, 2009 Lecturer: Michel X. Goemans Lecture 3 Scribe: Aleksander Madry ( Based on notes by Robert Kleinberg and Dan Stratila.) In this lecture, we
1 Matching in Non-Bipartite Graphs
CS 369P: Polyhedral techniques in combinatorial optimization Instructor: Jan Vondrák Lecture date: September 30, 2010 Scribe: David Tobin 1 Matching in Non-Bipartite Graphs There are several differences
5 Matchings in Bipartite Graphs and Their Applications
5 Matchings in Bipartite Graphs and Their Applications 5.1 Matchings Definition 5.1 A matching M in a graph G is a set of edges of G, none of which is a loop, such that no two edges in M have a common
Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs
CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009
List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,
List of Theorems Mat 416, Introduction to Graph Theory 1. Ramsey s Theorem for graphs 8.3.11. Theorem 1 The numbers R(p, q) exist and for p, q 2, R(p, q) R(p 1, q) + R(p, q 1). If both summands on the
Module 7. Independent sets, coverings. and matchings. Contents
Module 7 Independent sets, coverings Contents and matchings 7.1 Introduction.......................... 152 7.2 Independent sets and coverings: basic equations..... 152 7.3 Matchings in bipartite graphs................
Advanced Combinatorial Optimization September 15, Lecture 2
18.438 Advanced Combinatorial Optimization September 15, 2009 Lecture 2 Lecturer: Michel X. Goemans Scribes: Robert Kleinberg (2004), Alex Levin (2009) In this lecture, we will present Edmonds s algorithm
MTL 776: Graph Algorithms Lecture : Matching in Graphs
MTL 776: Graph Algorithms Lecture : Matching in Graphs Course Coordinator: Prof. B. S. Panda Note: The note is based on the lectures taken in the class. It is a draft version and may contain errors. It
Topics in Combinatorial Optimization February 5, Lecture 2
8.997 Topics in Combinatorial Optimization February 5, 2004 Lecture 2 Lecturer: Michel X. Goemans Scribe: Robert Kleinberg In this lecture, we will: Present Edmonds algorithm for computing a maximum matching
Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft)
Lecture notes on: Maximum matching in bipartite and non-bipartite graphs (Draft) Lecturer: Uri Zwick June 5, 2013 1 The maximum matching problem Let G = (V, E) be an undirected graph. A set M E is a matching
Maximum Matching Algorithm
Maximum Matching Algorithm Thm: M is maximum no M-augmenting path How to find efficiently? 1 Edmonds Blossom Algorithm In bipartite graphs, we can search quickly for augmenting paths because we explore
Paths, Trees, and Flowers by Jack Edmonds
Paths, Trees, and Flowers by Jack Edmonds Xiang Gao ETH Zurich Distributed Computing Group www.disco.ethz.ch Introduction and background Edmonds maximum matching algorithm Matching-duality theorem Matching
Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs
Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs Ermelinda DeLaViña and Iride Gramajo Department of Computer and Mathematical Sciences University of Houston-Downtown Houston, Texas
Ma/CS 6b Class 4: Matchings in General Graphs
Ma/CS 6b Class 4: Matchings in General Graphs By Adam Sheffer Reminder: Hall's Marriage Theorem Theorem. Let G = V 1 V 2, E be a bipartite graph. There exists a matching of size V 1 in G if and only if
Solutions to Problem Set 2
Massachusetts Institute of Technology Michel X. Goemans 18.453: Combinatorial Optimization 017 Spring Solutions to Problem Set -3 Let U be any minimizer in the Tutte-Berge formula. Let K 1,, K k be the
Key Graph Theory Theorems
Key Graph Theory Theorems Rajesh Kumar MATH 239 Intro to Combinatorics August 19, 2008 3.3 Binary Trees 3.3.1 Problem (p.82) Determine the number, t n, of binary trees with n edges. The number of binary
Exercise set 2 Solutions
Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T
K 4 C 5. Figure 4.5: Some well known family of graphs
08 CHAPTER. TOPICS IN CLASSICAL GRAPH THEORY K, K K K, K K, K K, K C C C C 6 6 P P P P P. Graph Operations Figure.: Some well known family of graphs A graph Y = (V,E ) is said to be a subgraph of a graph
Paths, Flowers and Vertex Cover
Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is
Matchings, Ramsey Theory, And Other Graph Fun
Matchings, Ramsey Theory, And Other Graph Fun Evelyne Smith-Roberge University of Waterloo April 5th, 2017 Recap... In the last two weeks, we ve covered: What is a graph? Eulerian circuits Hamiltonian
PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS
SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING 1 2 ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms
Paths, Flowers and Vertex Cover
Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)
Bipartite Roots of Graphs
Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only
Discrete mathematics , Fall Instructor: prof. János Pach
Discrete mathematics 2016-2017, Fall Instructor: prof. János Pach - covered material - Lecture 1. Counting problems To read: [Lov]: 1.2. Sets, 1.3. Number of subsets, 1.5. Sequences, 1.6. Permutations,
Math 776 Graph Theory Lecture Note 1 Basic concepts
Math 776 Graph Theory Lecture Note 1 Basic concepts Lectured by Lincoln Lu Transcribed by Lincoln Lu Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved
Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1
Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,
Graph Theory II. Po-Shen Loh. June edges each. Solution: Spread the n vertices around a circle. Take parallel classes.
Graph Theory II Po-Shen Loh June 009 1 Warm-up 1. Let n be odd. Partition the edge set of K n into n matchings with n 1 edges each. Solution: Spread the n vertices around a circle. Take parallel classes..
Lecture 7: Bipartite Matching
Lecture 7: Bipartite Matching Bipartite matching Non-bipartite matching What is a Bipartite Matching? Let G=(N,A) be an unrestricted bipartite graph. A subset X of A is said to be a matching if no two
Graph Algorithms Matching
Chapter 5 Graph Algorithms Matching Algorithm Theory WS 2012/13 Fabian Kuhn Circulation: Demands and Lower Bounds Given: Directed network, with Edge capacities 0and lower bounds l for Node demands for
Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.
Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible
Lecture 8: Non-bipartite Matching. Non-partite matching
Lecture 8: Non-bipartite Matching Non-partite matching Is it easy? Max Cardinality Matching =? Introduction The theory and algorithmic techniques of the bipartite matching have been generalized by Edmonds
Assignment and Matching
Assignment and Matching By Geetika Rana IE 680 Dept of Industrial Engineering 1 Contents Introduction Bipartite Cardinality Matching Problem Bipartite Weighted Matching Problem Stable Marriage Problem
by conservation of flow, hence the cancelation. Similarly, we have
Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can
Matchings. Saad Mneimneh
Matchings Saad Mneimneh 1 Stable matching Consider n men and n women. A matching is a one to one correspondence between the men and the women. In finding a matching, however, we would like to respect the
6. Lecture notes on matroid intersection
Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm
Matching and Factor-Critical Property in 3-Dominating-Critical Graphs
Matching and Factor-Critical Property in 3-Dominating-Critical Graphs Tao Wang a,, Qinglin Yu a,b a Center for Combinatorics, LPMC Nankai University, Tianjin, China b Department of Mathematics and Statistics
Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.
1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one
Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.
Abstract We discuss a class of graphs called perfect graphs. After defining them and getting intuition with a few simple examples (and one less simple example), we present a proof of the Weak Perfect Graph
Topics on Computing and Mathematical Sciences I Graph Theory (3) Trees and Matchings I
Topics on Computing and Mathematical Sciences I Graph Theory (3) Trees and Matchings I Yoshio Okamoto Tokyo Institute of Technology April 23, 2008 Y. Okamoto (Tokyo Tech) TCMSI Graph Theory (3) 2008-04-23
Chain Packings and Odd Subtree Packings. Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH
Chain Packings and Odd Subtree Packings Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH 1992 Abstract A chain packing H in a graph is a subgraph satisfying given
MATH 682 Notes Combinatorics and Graph Theory II
1 Matchings A popular question to be asked on graphs, if graphs represent some sort of compatability or association, is how to associate as many vertices as possible into well-matched pairs. It is to this
9 Connectivity. Contents. 9.1 Vertex Connectivity
9 Connectivity Contents 9.1 Vertex Connectivity.............................. 205 Connectivity and Local Connectivity............... 206 Vertex Cuts and Menger s Theorem................. 207 9.2 The Fan
Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.
CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.
Fundamental Properties of Graphs
Chapter three In many real-life situations we need to know how robust a graph that represents a certain network is, how edges or vertices can be removed without completely destroying the overall connectivity,
Vertex-Colouring Edge-Weightings
Vertex-Colouring Edge-Weightings L. Addario-Berry a, K. Dalal a, C. McDiarmid b, B. A. Reed a and A. Thomason c a School of Computer Science, McGill University, University St. Montreal, QC, H3A A7, Canada
Figure 2.1: A bipartite graph.
Matching problems The dance-class problem. A group of boys and girls, with just as many boys as girls, want to dance together; hence, they have to be matched in couples. Each boy prefers to dance with
Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1.
Lecturer: Scribe: Meena Mahajan Rajesh Chitnis Matchings in Graphs Meeting: 1 6th Jan 010 Most of the material in this lecture is taken from the book Fast Parallel Algorithms for Graph Matching Problems
Maximum flows & Maximum Matchings
Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings
Number Theory and Graph Theory
1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com
1. Lecture notes on bipartite matching February 4th,
1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)
On Galvin s Theorem and Stable Matchings. Adam Blumenthal
On Galvin s Theorem and Stable Matchings by Adam Blumenthal A thesis submitted to the Graduate Faculty of Auburn University in partial fulfillment of the requirements for the Degree of Master of Science
Graph Connectivity G G G
Graph Connectivity 1 Introduction We have seen that trees are minimally connected graphs, i.e., deleting any edge of the tree gives us a disconnected graph. What makes trees so susceptible to edge deletions?
1 Bipartite maximum matching
Cornell University, Fall 2017 Lecture notes: Matchings CS 6820: Algorithms 23 Aug 1 Sep These notes analyze algorithms for optimization problems involving matchings in bipartite graphs. Matching algorithms
GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016
GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS ZOÉ HAMEL March 3, 2016 1. Introduction Let G = (V (G), E(G)) be a graph G (loops and multiple edges not allowed) on the set of vertices V (G) and the set
Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn
Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple
Matching 4/21/2016. Bipartite Matching. 3330: Algorithms. First Try. Maximum Matching. Key Questions. Existence of Perfect Matching
Bipartite Matching Matching 3330: Algorithms A graph is bipartite if its vertex set can be partitioned into two subsets A and B so that each edge has one endpoint in A and the other endpoint in B. A B
Matchings and Covers in bipartite graphs
Matchings and Covers in bipartite graphs A bipartite graph, also called a bigraph, is a set of graph vertices decomposed into two disjoint sets such that no two graph vertices within the same set are adjacent.
AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.
AMS 550.47/67: Graph Theory Homework Problems - Week V Problems to be handed in on Wednesday, March : 6, 8, 9,,.. Assignment Problem. Suppose we have a set {J, J,..., J r } of r jobs to be filled by a
Ma/CS 6b Class 2: Matchings
Ma/CS 6b Class 2: Matchings By Adam Sheffer Send anonymous suggestions and complaints from here. Email: adamcandobetter@gmail.com Password: anonymous2 There aren t enough crocodiles in the presentations
Sources for this lecture 2. Shortest paths and minimum spanning trees
S-72.2420 / T-79.5203 Shortest paths and minimum spanning trees 1 S-72.2420 / T-79.5203 Shortest paths and minimum spanning trees 3 Sources for this lecture 2. Shortest paths and minimum spanning trees
Some Upper Bounds for Signed Star Domination Number of Graphs. S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour.
Some Upper Bounds for Signed Star Domination Number of Graphs S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour Abstract Let G be a graph with the vertex set V (G) and edge set E(G). A function
Perfect Matchings in Claw-free Cubic Graphs
Perfect Matchings in Claw-free Cubic Graphs Sang-il Oum Department of Mathematical Sciences KAIST, Daejeon, 305-701, Republic of Korea sangil@kaist.edu Submitted: Nov 9, 2009; Accepted: Mar 7, 2011; Published:
On the Relationships between Zero Forcing Numbers and Certain Graph Coverings
On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,
The Structure of Bull-Free Perfect Graphs
The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint
VIZING S THEOREM AND EDGE-CHROMATIC GRAPH THEORY. Contents
VIZING S THEOREM AND EDGE-CHROMATIC GRAPH THEORY ROBERT GREEN Abstract. This paper is an expository piece on edge-chromatic graph theory. The central theorem in this subject is that of Vizing. We shall
PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS
SECOND PART: WIRELESS NETWORKS.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms A.y.
Design And Analysis of Algorithms Lecture 6: Combinatorial Matching Algorithms.
Design And Analysis of Algorithms Lecture 6: Combinatorial Matching Algorithms. February 14, 2018 In this lecture, we will study algorithms for constructing matchings on graphs. A matching M E has maximum
Graph theory - solutions to problem set 1
Graph theory - solutions to problem set 1 1. (a) Is C n a subgraph of K n? Exercises (b) For what values of n and m is K n,n a subgraph of K m? (c) For what n is C n a subgraph of K n,n? (a) Yes! (you
Characterizations of Trees
Characterizations of Trees Lemma Every tree with at least two vertices has at least two leaves. Proof. 1. A connected graph with at least two vertices has an edge. 2. In an acyclic graph, an end point
Line Graphs and Circulants
Line Graphs and Circulants Jason Brown and Richard Hoshino Department of Mathematics and Statistics Dalhousie University Halifax, Nova Scotia, Canada B3H 3J5 Abstract The line graph of G, denoted L(G),
Math 778S Spectral Graph Theory Handout #2: Basic graph theory
Math 778S Spectral Graph Theory Handout #: Basic graph theory Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved the Königsberg Bridge problem: Is it possible
A new NC Algorithm for Perfect Matching in Bipartite Cubic Graphs
A new NC Algorithm for Perfect Matching in Bipartite Cubic Graphs Roded Sharan Avi Wigderson Institute of Computer Science, Hebrew University of Jerusalem, Israel. E-mail: roded@math.tau.ac.il, avi@cs.huji.ac.il
V10 Metabolic networks - Graph connectivity
V10 Metabolic networks - Graph connectivity Graph connectivity is related to analyzing biological networks for - finding cliques - edge betweenness - modular decomposition that have been or will be covered
B r u n o S i m e o n e. La Sapienza University, ROME, Italy
B r u n o S i m e o n e La Sapienza University, ROME, Italy Pietre Miliari 3 Ottobre 26 2 THE MAXIMUM MATCHING PROBLEM Example : Postmen hiring in the province of L Aquila Panconesi Barisciano Petreschi
Graph Theory S 1 I 2 I 1 S 2 I 1 I 2
Graph Theory S I I S S I I S Graphs Definition A graph G is a pair consisting of a vertex set V (G), and an edge set E(G) ( ) V (G). x and y are the endpoints of edge e = {x, y}. They are called adjacent
A study of Matchings in Graphs
PROJECT REPORT A study of Matchings in Graphs Submitted in partial fulfilment of the requirements for the award of the degree of Bachelor of Technology in Computer Science & Engineering Submitted by Chetan
DO NOT RE-DISTRIBUTE THIS SOLUTION FILE
Professor Kindred Math 104, Graph Theory Homework 3 Solutions February 14, 2013 Introduction to Graph Theory, West Section 2.1: 37, 62 Section 2.2: 6, 7, 15 Section 2.3: 7, 10, 14 DO NOT RE-DISTRIBUTE
Lecture 6: Graph Properties
Lecture 6: Graph Properties Rajat Mittal IIT Kanpur In this section, we will look at some of the combinatorial properties of graphs. Initially we will discuss independent sets. The bulk of the content
Non-zero disjoint cycles in highly connected group labelled graphs
Non-zero disjoint cycles in highly connected group labelled graphs Ken-ichi Kawarabayashi Paul Wollan Abstract Let G = (V, E) be an oriented graph whose edges are labelled by the elements of a group Γ.
5. Lecture notes on matroid intersection
Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a
1. Lecture notes on bipartite matching
Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in
Part II. Graph Theory. Year
Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 53 Paper 3, Section II 15H Define the Ramsey numbers R(s, t) for integers s, t 2. Show that R(s, t) exists for all s,
7. NETWORK FLOW II. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013 Kevin Wayne
7. NETWORK FLOW II Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 203 Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos bipartite matching disjoint paths extensions
Paths, Flowers and Vertex Cover
Paths, Flowers and Vertex Cover Venkatesh Raman, M. S. Ramanujan and Saket Saurabh The Institute of Mathematical Sciences, Chennai, India. {vraman msramanujan saket}@imsc.res.in Abstract. It is well known
Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Midterm 1
CS 70 Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Midterm 1 PRINT Your Name:, (last) SIGN Your Name: (first) PRINT Your Student ID: CIRCLE your exam room: 1 Pimentel 141 Mccone
The strong chromatic number of a graph
The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same
Two Characterizations of Hypercubes
Two Characterizations of Hypercubes Juhani Nieminen, Matti Peltola and Pasi Ruotsalainen Department of Mathematics, University of Oulu University of Oulu, Faculty of Technology, Mathematics Division, P.O.
COMP260 Spring 2014 Notes: February 4th
COMP260 Spring 2014 Notes: February 4th Andrew Winslow In these notes, all graphs are undirected. We consider matching, covering, and packing in bipartite graphs, general graphs, and hypergraphs. We also
REU 2006 Discrete Math Lecture 5
REU 2006 Discrete Math Lecture 5 Instructor: László Babai Scribe: Megan Guichard Editors: Duru Türkoğlu and Megan Guichard June 30, 2006. Last updated July 3, 2006 at 11:30pm. 1 Review Recall the definitions
Popular matchings with two-sided preferences and one-sided ties
Popular matchings with two-sided preferences and one-sided ties Ágnes Cseh 1, Chien-Chung Huang 2, and Telikepalli Kavitha 3 1 TU Berlin, Germany. cseh@math.tu-berlin.de 2 Chalmers University, Sweden.