The block triangular form and bipartite matchings

Size: px
Start display at page:

Download "The block triangular form and bipartite matchings"

Transcription

1 Outline The block triangular form and bipartite matchings Jean-Yves L Excellent and Bora Uçar GRAAL, LIP, ENS Lyon, France CR-07: Sparse Matrix Computations, November /48 CR09

2 Outline Outline 1 The block triangular form The BTF, computation and properties Bipartite matching 2 2/48 CR09

3 Definitions: Reducibility The BTF, computation and properties Bipartite matching Reducible matrix: An n n square matrix is reducible if there exists an n n permutation matrix P such that ( ) PAP T A11 A = 12, O A 22 where A 11 is an r r submatrix, A 22 is an (n r) (n r) submatrix, where 1 r < n. Irreducible matrix: There is no such permutation matrix. Theorem: An n n square matrix is irreducible iff its directed graph is strongly connected. 3/48 CR09

4 The BTF, computation and properties Bipartite matching Definitions: Fully indecomposability Fully indecomposable matrix: There is no permutation matrices P and Q such that «A11 A 12 PAQ =, O A 22 with the same condition on the blocks and their sizes as above. Decomposable matrix: There are permutation matrices P and Q such that the permuted matrix PAQ is of the form above. In general we are interested in fully indecomposable A 11 and A 22. That is, the matrices in the block triangular form 0 1 A 11 A 12 A 1K O A 22 A 2K PAQ = C.. A, O O A KK where each A kk is fully indecomposable. 4/48 CR09

5 Solving Ax = b in BTF The BTF, computation and properties Bipartite matching Find Ax = b using PAQy = Pb, with 0 1 A 11 A 12 A 1K O A 22 A 2K PAQ = C.. A, O O A KK where A kk contains indices r(k)-tor(k + 1) 1. A PAQ permute A in into BTF x Pb permute b for k = K downto 1 do I 1 : r(k) 1 indices above the kth block J r(k) : r(k + 1) 1 indices of the kth block x(j) A(J, J)\x(J) x(i ) x(i ) A(I, J) x(j) x Qx undo the permutation 5/48 CR09

6 BTF: Basic definitions The BTF, computation and properties Bipartite matching Bipartite graph representation is used for rectangular matrices and also unsymmetric matrices. The bipartite graph H of a matrix A has two sets of vertices (R and C) corresponding to respectively the row and columns indices of A. a r,c 0 (r, c) H(A) A bipartite graph with m rows and n columns has the Hall property if every set of k column vertices is adjacent to at least k row vertices for all 0 k n. Hall theorem A bipartite graph has a column matching iff it has the Hall property. 6/48 CR09

7 Strong Hall property The BTF, computation and properties Bipartite matching A bipartite graph with m rows and n columns has the strong Hall property if every set of k column vertices is adjacent to at least k + 1 row vertices for all 0 k < n. Any matrix that is not strong Hall can be permuted in block triangular form. Decomposable matrix: There are permutation matrices P and Q such that A 11 A 12 A 1K O A 22 A 2K PAQ =......, O O A KK with each diagonal block being square and fully indecomposable. 7/48 CR09

8 Finding the BTF The BTF, computation and properties Bipartite matching The block triangular form is based on a canonical decomposition of bipartite graphs known as the Dulmage-Mendelsohn decomposition (late 50s, early 60s; Pothen 84, Pothen and Fan 90, Duff and U. 09). A two (or three) step algorithm (for square, full rank sparse matrices) 1 Find a perfect matching in the bipartite graph of the matrix, 2 Permute the matrix to have a zero free diagonal, 3 Find the strong components of the directed graph of the permuted matrix. 8/48 CR09

9 Permutation matrices The BTF, computation and properties Bipartite matching A permutation matrix is a square (0, 1)-matrix where each row and column has a single 1. If P is a permutation matrix, PP T = I, i.e., it is an orthogonal matrix. Let, A = 2 3 and suppose we want to permute columns as [2, 1, 3]. Define p 2,1 = 1, p 1,2 = 1, p 3,3 = 1, and B = AP (if column j to be at position i, set p ji = 1) B = 2 = /48 CR09

10 The BTF, computation and properties Bipartite matching Matching in bipartite graphs and permutations A matching in a graph is a set of edges no two of which share a common vertex. We will be mostly dealing with matchings in bipartite graphs. In matrix terms, a matching in the bipartite graph of a matrix corresponds to a set of nonzero entries no two of which are in the same row or column. A vertex is said to be matched if there is an edge in the matching incident on the vertex, and to be unmatched otherwise. In a perfect matching, all vertices are matched. The cardinality of a matching is the number of edges in it. A maximum cardinality matching or a maximum matching is a matching of maximum cardinality. 10/48 CR09

11 The BTF, computation and properties Bipartite matching Matching in bipartite graphs and permutations Given a square matrix whose bipartite graph has a perfect matching, such a matching can be used to permute the matrix such that the matching entries are along the main diagonal. r 1 r 2 c 1 c 2 r 3 c = /48 CR09

12 The BTF The block triangular form The BTF, computation and properties Bipartite matching A two (or three) step algorithm 1 Find a perfect matching in the bipartite graph of the matrix, 2 Permute the matrix to have a zero free diagonal, 3 Find the strong components of the directed graph of the permuted matrix. The strong components found in the last step are independent of the matching found in the first step. 12/48 CR09

13 The BTF The block triangular form The BTF, computation and properties Bipartite matching The strong components found in the last step are independent of the!"#$%&'()**'+$,-.')#/'0%1/-/%1/%"'$2',)"+30%& matching found in the first step (figure from J. Gilbert).! # $ % " & '! # $ % " & '! # & $ " ' %! # & $ " ' %!! ## $$ %% && '' "" $! % # " ' &! # $ % " & '! # & $ " ' %! # & $ " ' % 13/48 CR09 $!!# %$ #% '& &' ""

14 Matching: Definitions The BTF, computation and properties Bipartite matching A matching M is a set of edges if no two edges in M are incident on the same vertex. A vertex is said to be matched (with respect to a given matching) if there is an edge in the matching incident on the vertex, and to be unmatched otherwise. 14/48 CR09

15 Matching: Definitions The BTF, computation and properties Bipartite matching M-alternating walk is a sequence of edges where every second edge is in M. M-alternating tour is an alternating walk that starts and ends at the same vertex. M-alternating path is a path whose edges are alternately in M and not in M. u M v denotes that vertex u reaches vertex v with an M-alternating path (we assume that u and v are different, in other words an alternating path has at least one edge). M-alternating cycle is an alternating walk without repeated vertices other than the start and end vertices. 15/48 CR09

16 The BTF, computation and properties Bipartite matching Finding the BTF (general sparse matrix case) A two (or three) step algorithm 1 Find a maximum cardinality matching in the bipartite graph of the matrix, 2 Decompose into strong Hall blocks H C S C V C H R A H S R O A S. (1) V R O O A V The block A H, formed by the rows in the set H R and the columns in the set H C, is underdetermined; The block A S, formed by the rows in the set S R and the columns in the set S C, is square and can itself have a btf with the blocks on the diagonal being all square (fine decomposition); The block A V, formed by the rows in the set V R and the columns in the set V C, is overdetermined. 16/48 CR09

17 The BTF, computation and properties Bipartite matching Finding the BTF (general sparse matrix case) V R = {rows reachable via alt. path from some unmatched row} V C = {cols reachable via alt. path from some unmatched row} H R = { rows reachable via alt. path from some unmatched col} H C = { cols reachable via alt. path from some unmatched col } S R = R \ V R \ H R S C = C \ V C \ H C 17/48 CR09

18 The BTF, computation and properties Bipartite matching Finding the BTF (general sparse matrix case)!"#$%&'()'*+'#,-.*/+'0-$1-,232-*!! # $ % " & ' ( )!*!!!#! # $ % " & ' ( )!*!!!" #" $"! # $ % " & ' ( )!* # $ % " & ' ( )!*!!!% #% $%!!!# Figure from J. R. Gilbert. 18/48 CR09

19 The BTF, computation and properties Bipartite matching Dulmage-Mendelsohn decomposition: Properties The rows in H R are completely matched to the columns in H C. The columns in S C are completely matched to the rows in S R and vice versa. The columns in V C are completely matched to the rows in V R. The block triangular form is unique. In other words, any maximum matching yields the same sets H R, H C, S R, S C, V R, and V C. The previous two properties also imply that all entries of a maximum matching should reside in the blocks on the diagonal of the btf. In the block triangular form of a structurally rank deficient, square matrix, the horizontal and vertical blocks both should be present. The square block may be missing. 19/48 CR09

20 The BTF, computation and properties Bipartite matching Dulmage-Mendelsohn decomposition: Properties No edge joins V R and S C, or V R and H C, or S R and H C. The subgraph induced by V R and V C has the strong Hall property. The transpose of the subgraph induced by H R and H C has the strong!"#$%&'()'*+'#,-.*/+'0-$1-,232-* Hall property.!! # $ % " & ' ( )!*!!!#! # $ % " & ' ( )!*!!!" #" $"! # $ % " & ' ( )!* # $ % " & ' ( )!*!!!% #% $%!!!# 20/48 CR09

21 The BTF, computation and properties Bipartite matching Dulmage-Mendelsohn decomposition: Fine decomposition In the fine decomposition, the horizontal and vertical blocks have block diagonal structure where the individual blocks on the diagonal are horizontal and vertical, respectively. Find the connected components of A H and A V ; these will be the diagonal blocks in those submatrices with the same shape as the encompassing blocks. The fine decomposition of the square block A S is obtained by identifying fully indecomposable blocks. Include all rows and columns corresponding to the vertices in an alternating tour in a single block. 21/48 CR09

22 The BTF, computation and properties Bipartite matching Fine decomposition of the square block Two columns are equivalent if they lie on an alternating tour. This is an equivalence relation. Let C 1, C 2,..., C K be the equivalence classes, and let R k be the set of rows matched to C k.!"#$%&'#$()*+,-#./#'0#*12"'$0#32+421&5&2' # " # $ # %! # $ % " & '! # $ % " & '! "! $! % &'()*+,-! # $ % " & '! #! # $ % " & ' 6*)07(08,1)'/2, 94-5.*/')(*(0,1)'/2,34-5 $ % " Figure from J. R. Gilbert. & $ 22/48 CR09

23 The BTF, computation and properties Bipartite matching Fine decomposition of the square block Let C 1, C 2,..., C K be the equivalence classes, and let R k be the set of rows matched to C k. The row subsets R k and column subsets C k can be renumbered such that if C i has a nonzero in the row set R j, then j i (hence giving the block upper triangular form). The subgraph induced by R k and C k has strong Hall property. If non-matching edges are directed from rows to columns and the matching ones are shrunk into single vertices the resulting directed graph (the directed graph of the permuted matrix) has strongly connected components C 1, C 2,..., C K. A bipartite graph has the strong Hall property iff every pair of edges is on some alternating tour iff the graph is connected and every edge is in some perfect matching. 23/48 CR09

24 Augmenting paths An augmenting path with respect to a matching M is an alternating path that starts and ends at an unmatched vertex. Theorem [Berge, 57] A matching M is of size maximum cardinality iff there is no augmenting path with respect to M. Proof: Assume M is maximum and P an M-augmenting path. Then M = M \ E(P) E(P) \ M is also a matching with M = M + 1 contradiction. 24/48 CR09

25 Augmenting paths An augmenting path with respect to a matching M is an alternating path that starts and ends at an unmatched vertex. Theorem [Berge, 57] A matching M is of size maximum cardinality iff there is no augmenting path with respect to M. Proof (cont ): Assume no M-augmenting path exists, but there is a matching M such that M > M. Consider D = M \ M M \ M. Since both M and M are matchings, each vertex has at most two edges of D incident on it. Case 0: nothing to do. Case 2 (cycles): equal number of M and M edges (skip). Case 1 (paths): Since M > M, there should be at least one path who has one more edge in M than in M : an augmenting path wrt M contradiction. 25/48 CR09

26 Augmenting paths Theorem [Berge, 57] A matching M is of size maximum cardinality iff there is no augmenting path with respect to M. a 1 b 1 a 1 b 1 a 1 b 1 a 2 b 2 a 2 b 2 a 2 b 2 a 3 b 3 a 3 b 3 a 3 b 3 a 4 b 4 a 4 b 4 a 4 b 4 26/48 CR09

27 Bipartite matching algorithms The essence of bipartite cardinality matching algorithms is to start with an empty matching and then to augment it until no further augmentations are possible. The existing algorithms mostly differ in the way the augmenting paths are found and the way the augmentations are performed. 27/48 CR09

28 Components of a maximum matching algorithm Suppose that matching of size k has been found (i.e., there exist permutations to place entries on the first k diagonal positions). augmenting paths: try to find a matching of size k + 1 using a matching of size k, back-tracking with depth first search X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c6

29 Illustration of the algorithm 1 X X 2 X X X X 0 X X X X X X r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c6 29/48 CR09

30 Illustration of the algorithm 1 2 X X 0 X X X X 0 X X X X X X r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c6 30/48 CR09

31 Illustration of the algorithm X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 c1 c2 c3 c4 c5 r6 c X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c /48 CR09

32 Illustration of the algorithm X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 c1 c2 c3 c4 c5 r6 c X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c /48 CR09

33 Illustration of the algorithm X X X X 0 0 X 0 X X 0 0 X X X X X X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 r6 r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c6 c1 c2 c3 c4 c5 c /48 CR09

34 Illustration of the algorithm X X X X 0 0 X 0 X X 0 0 X X X X X X X X X 0 0 X 0 X X 0 0 X X X X X r1 r2 r3 r4 r5 r6 r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c6 c1 c2 c3 c4 c5 c6 34/48 CR09

35 Illustration of the algorithm X X X X 0 0 X 0 X X 0 0 X X X X X X X X X 0 X X 0 X 0 X 0 X X X X r1 r2 r3 r4 r5 r6 r1 r2 r3 r4 r5 r6 c1 c2 c3 c4 c5 c6 c1 c2 c3 c4 c5 c6 35/48 CR09

36 upper may triangular be found form in the of A,. book by The Duff blocket triangular al. [6]. form We implemented an algorithm similar to the one Rows in [5], but found it to be Columns slow on the denser problems we considered. This motivated the design of the variant of the O(m) maximum matching algorithm described below. We found that our implementation of this algorithm was competitive with Duff s 0 (m-) algorithm on sparser problems, while it was faster than the latter on denser problems. A description of our O(m) matching algorithm follows. The basic algorithm Algorithm 1. Maximum Matching Step 0. [Initialize] Set the matching M and the set of unmatched columns U to be empty. Step 1. [cheap matching] for each column vertex c E C do match c to the first unmatched row vertex r E c&(c), if there is such a row; if c cannot be matched, add c to U; end for Step 2. [augment u,., := 0 repeat matching] ACM Transactions on Mathematical Software, Vol. 16, No. 4, December (perform one pass of the augmenting procedure) for each column vertex c E U do search for an augmenting path from c, visiting only row vertices that have not been visited previously in this pass; mark all row vertices reached as visited, if an augmenting end for u:= u,,,; u,., := PI; until no augmenting path is found in a pass. path is found, augment M; else include c in U,,,; Inasmuch as an augmenting path has an unmatched column vertex at one end and an unmatched row vertex at the other, it is no loss of generality to search for augmenting paths from unmatched columns only. Since we are searching by alternating paths, the depth-first searches (dfs) have a simple structure. From 36/48 CR09

37 The basic algorithm: Analysis Each pass costs O(τ)-time, where τ = nnz(a). There are a total of n passes (at most), hence the runtime is O(nτ). Theorem: The cheap matching phase finds at least as many vertices as half the maximum cardinality. There are different proofs; one is based on the following theorem. König-Frobenius theorem: Let A be an m n matrix, where m n, and let k n be a nonnegative integer. A necessary and sufficient condition that the size of a maximum matching of A is n k is that it contains an s t submatrix with s + t = m + k. Suppose cheap matching obtained a cardinality of l; reorder rows and columns of A such that «A11 A 12 A =, O A 21 then by the above theorem (m l) + (n l) m + k, and hence l (n k)/2. 37/48 CR09

38 Definitions: Fully indecomposability (returning to Lecture on Graphs) Theorem: An n n square matrix A is fully indecomposable iff for some permutation matrix P, the matrix PA is irreducible and has a zero-free main diagonal. Proof: We will come later in the semester to the if part. Now we complete the proof. Use the König-Frobenius theorem. 38/48 CR09

39 Proof. /s x//-l. IMI The block triangular form IPI-<_ 2Ls /J/(s Us /J)/ <_ 2Lw/J + 1. A faster Thus, for algorithm each < r, IPil is one(at of theleast L/J / positive in theory) odd integers less than or equal to 2L/3 / 1. Also I/1, "", IPI contribute at most s- r distinct integers, and the total number of distinct integers is less than or equal to Lx/J / + Fx/ < 2Lv/J + 2, and the proof is complete. In view of Corollaries 3 and 4 and Theorem 3, the computation of the sequence {M} breaks into at most 2Lx/-] + 2 phases, within each of which all the augmenting paths found are vertex-disjoint and of the same length. Since these paths are vertex-disjoint, they are all augmenting paths relative to the matching with By Hopcroft which the phase and iskarp, 73. begun. This gives us an alternative way of describing the computation of a maximum matching. ALGORITHM A (Maximum matching algorithm). StepO. M. Step 1. Let l(m) be the length of a shortest augmenting path relative to M. Find a maximal 2 set of paths {Q, Q2,"", Q} with the properties that (a) for each i, Qi is an augmenting path relative to M and 1(21 -/(M); (b) the Q are vertex-disjoint. Halt if no such paths exist. - Step 2. M @ Qt; go to 1. COROLLARY 5. If the cardinality ofa maximum matching is s, then Algorithm A constructs a maximum matching within 2Lx/ + 2 executions of Step 1. This way of describing the construction of a maximum matching suggests that we should not regard successive augmentation steps as independent computations, but should concentrate instead on the efficient implementation of an entire phase (i.e., the execution of Step in Algorithm A). The next section shows the advantage of this approach in the case where G is a bipartite graph. A set is maximal with a given property if it has the property and is not properly contained in any set that has the property. 39/48 CR09

40 A faster algorithm: HK Remark: Let M 1 be a matching of size r and M 2 be a matching of size s, where s > r. Then, there exists s r many vertex disjoint M 1-augmenting paths. Remark: Let M be a matching. Suppose M = r, and s > r is the maximum cardinality of a matching. Then, there is an M-augmenting path of length 2 r/(s r) + 1 (all together r edges from M). Remark: If P is a shortest M-augmenting path and P is an (M P)-augmenting path, then P P + P P. Remark: Let M 0 = and consider the sequence M 0, M 1,... of matchings where P i is a shortest augmenting path relative to M i and M i+1 = M i P i. Then P i P i+1. If P i = P j, then P i and P j are vertex disjoint. Remark: Let s be the maximum cardinality of a matching. The number of distinct integers in the sequence P 0, P 1,..., P s is less than or equal to 2 s /48 CR09

41 IPI-<_ 2Ls /J/(s Us /J)/ <_ 2Lw/J + 1. The block triangular form Thus, for each < r, IPil is one of the L/J / positive odd integers less than or The run equal totime 2L/3 / of 1. Also HKI/1, "", IPI contribute at most s- r Lx/J / + Fx/ < 2Lv/J + 2, and the proof is complete. distinct integers, and the total number of distinct integers is less than or equal to In view of Corollaries 3 and 4 and Theorem 3, the computation of the sequence {M} breaks into at most 2Lx/-] + The HK algorithm finishes in 2 2 phases, within each of which all the augmenting paths found are vertex-disjoint and of the same length. Since these paths are vertex-disjoint, they are all augmenting s + paths 2 executions relative to the of matching Step 1. with which the phase is begun. This gives us an alternative way of describing the computation of a maximum matching. ALGORITHM A (Maximum matching algorithm). StepO. M. Step 1. Let l(m) be the length of a shortest augmenting path relative to M. Find a maximal 2 set of paths {Q, Q2,"", Q} with the properties that (a) for each i, Qi is an augmenting path relative to M and 1(21 -/(M); (b) the Q are vertex-disjoint. Halt if no such paths exist. - Step 2. M @ Qt; go to 1. COROLLARY 5. If the cardinality ofa maximum matching is s, then Algorithm A constructs a maximum matching within 2Lx/ + 2 executions of Step 1. This way of describing the construction of a maximum matching suggests The cost of Step 1 is O(m + n + τ) for a bipartite graph on m + n that we should not regard successive augmentation steps as independent vertices computations, and τ edges. but should concentrate instead on the efficient implementation of an entire phase (i.e., the execution of Step in Algorithm A). The next section shows the advantage of this approach in the case where G is a bipartite graph. A set is maximal with a given property if it has the property and is not properly contained in any set that has the property. 41/48 CR09

42 Then ( The block triangular form The run time of HK (P,/), where Lo O L, U U Li._ U (gi, {free girls}), E 0 U E U U El,_ 2 U {(u, 1))Iv e Li,_ and u e {free girls}}. An example of a graph ( is given in Fig. 3. The following properties of ( are immediate. The cost of(i) Step The vertices 1 is at O(m even + levels n + (Lo, τ) L2, for aare bipartite boys, and those graph at odd onlevels m + n are vertices and τ edges. girls. (ii) If (u, v) e/, then for some i, u e L + and v e Li. Build an auxiliary (iii) ( is acyclic. graph: (B) L o E o L E L E z L E L E L (G) (B) (G) (B) (G) FIG. 3. The graph used by Algorithm B. Dotted arrows indicate edges in current matching. Do a DFS-based search from unmatched vertices. Each discovered edge either becomes part of an augmenting path or there is no augmenting path using that edge. No need to revisit that edge. 42/48 CR09

43 The run time of HK The cost of Step 1 is O(m + n + τ) for a bipartite graph on m + n vertices and τ edges. There are at most O( n) executions of Step 1, hence the run time is O( n τ). 43/48 CR09

44 Summary Hall property: Let G = (U, V, E) be a bipartite graph. It is possible to match every vertex of U with a vertex of V if and only if for all U U, U N(U ). If Hall property holds then U can be matched into V. Dulmage-Mendelsohn decomposition of a matrix: 1 find a maximum cardinality matching in the bipartite graph of the matrix, 2 find the horizontal block by following alternating paths from unmatched columns, 3 find the vertical block by following alternating paths from unmatched rows, 4 the remaining row and cols form the square block, 5 find the connected components of the vertical and horizontal blocks, 6 find the strongly connected components of the square block (permuted to have a zero-free diagonal). 44/48 CR09

45 Summary Maximum cardinality matching algorithms: start with an empty matching, augment until there is no augmenting paths. 45/48 CR09

46 Illustration of maximum transversal ordering (matrix orani678) Original matrix Permuted matrix nz = nz = Better numerical stability Easier to factorize for solvers that work on A + A T 46/48 CR09

47 Question Prove that a k regular bipartite graph G = (U, V, E) has a perfect matching. k U = k V U = V 47/48 CR09

48 Question Prove that a k regular bipartite graph G = (U, V, E) has a perfect matching. k U = k V U = V Let U U. Let E U be the set of edges incident with U and let E N(U ) be the set of edges incident with the neighbors of the set U. We have E U E N(U ). Therefore, k U = E U E N(U ) = k N(U ) ; hence Hall s property holds. 48/48 CR09

A matching of maximum cardinality is called a maximum matching. ANn s/2

A matching of maximum cardinality is called a maximum matching. ANn s/2 SIAM J. COMPUT. Vol. 2, No. 4, December 1973 Abstract. ANn s/2 ALGORITHM FOR MAXIMUM MATCHINGS IN BIPARTITE GRAPHS* JOHN E. HOPCROFT" AND RICHARD M. KARP The present paper shows how to construct a maximum

More information

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.

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

More information

Sparse Linear Systems

Sparse Linear Systems 1 Sparse Linear Systems Rob H. Bisseling Mathematical Institute, Utrecht University Course Introduction Scientific Computing February 22, 2018 2 Outline Iterative solution methods 3 A perfect bipartite

More information

Computing the Block Triangular Form of a Sparse Matrix

Computing the Block Triangular Form of a Sparse Matrix Computing the Block Triangular Form of a Sparse Matrix ALEX POTHEN and CHIN-JU FAN The Pennsylvania State University We consider the problem of permuting the rows and columns of a rectangular or square,

More information

Matching Theory. Figure 1: Is this graph bipartite?

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

More information

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

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

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Module 7. Independent sets, coverings. and matchings. Contents

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

More information

1 Matchings in Graphs

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

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

MTL 776: Graph Algorithms Lecture : Matching in Graphs

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

More information

Design, Implementation, and Analysis of Maximum Transversal Algorithms

Design, Implementation, and Analysis of Maximum Transversal Algorithms Design, Implementation, and Analysis of Maximum Transversal Algorithms IAIN S. DUFF, RALandCERFACS KAMER KAYA, CERFACS BORA UÇAR,CNRSandENSLyon We report on careful implementations of seven algorithms

More information

Sparse matrices: Basics

Sparse matrices: Basics Outline : Basics Bora Uçar RO:MA, LIP, ENS Lyon, France CR-08: Combinatorial scientific computing, September 201 http://perso.ens-lyon.fr/bora.ucar/cr08/ 1/28 CR09 Outline Outline 1 Course presentation

More information

On the Balanced Case of the Brualdi-Shen Conjecture on 4-Cycle Decompositions of Eulerian Bipartite Tournaments

On the Balanced Case of the Brualdi-Shen Conjecture on 4-Cycle Decompositions of Eulerian Bipartite Tournaments Electronic Journal of Graph Theory and Applications 3 (2) (2015), 191 196 On the Balanced Case of the Brualdi-Shen Conjecture on 4-Cycle Decompositions of Eulerian Bipartite Tournaments Rafael Del Valle

More information

5 Matchings in Bipartite Graphs and Their Applications

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

More information

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.

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

More information

11.4 Bipartite Multigraphs

11.4 Bipartite Multigraphs 11.4 Bipartite Multigraphs Introduction Definition A graph G is bipartite if we can partition the vertices into two disjoint subsets U and V such that every edge of G has one incident vertex in U and the

More information

Discrete mathematics , Fall Instructor: prof. János Pach

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,

More information

1 Matching in Non-Bipartite Graphs

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

More information

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

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

More information

Advanced Combinatorial Optimization September 15, Lecture 2

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

More information

2. Lecture notes on non-bipartite matching

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

More information

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs.

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

More information

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference S-72.2420 / T-79.5203 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

More information

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS

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

More information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information

5.1 Min-Max Theorem for General Matching

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.

More information

Math 776 Graph Theory Lecture Note 1 Basic concepts

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

More information

Theorem 3.1 (Berge) A matching M in G is maximum if and only if there is no M- augmenting path.

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

More information

Lecture 10 Graph algorithms: testing graph properties

Lecture 10 Graph algorithms: testing graph properties Lecture 10 Graph algorithms: testing graph properties COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski Lecture 10: Testing Graph Properties 1 Overview Previous lectures: Representation

More information

Matching in Bipartite Graphs

Matching in Bipartite Graphs July 2, 2014 We have a bipartite graph G = (C, R, E) where R represents a set of resources and C represents a set of customers. The edge set shows a customer in C likes (willing to have) a subset of resources

More information

Perfect matchings in O(nlogn) time in regular bipartite graph

Perfect matchings in O(nlogn) time in regular bipartite graph Perfect matchings in O(nlogn) time in regular bipartite graphs Research project for computational optimization Presented by:qing Li April 26, 2011 Outline i.. ii.. iii.. iv.. What is d regular bipartite

More information

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

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

More information

Number Theory and Graph Theory

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

More information

Figure 2.1: A bipartite graph.

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

More information

Topics in Combinatorial Optimization February 5, Lecture 2

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

More information

Varying Applications (examples)

Varying Applications (examples) Graph Theory Varying Applications (examples) Computer networks Distinguish between two chemical compounds with the same molecular formula but different structures Solve shortest path problems between cities

More information

Prime Factorization Theory of Networks 1

Prime Factorization Theory of Networks 1 1 Prime Factorization Theory of Networks 1 Shuo-Yen Robert Li, The Chinese University of Hong Kong Guangyue Han, The University of Hong Kong Yixian Yang, Beijing University of Posts and Telecommunications

More information

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

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

More information

Math 170- Graph Theory Notes

Math 170- Graph Theory Notes 1 Math 170- Graph Theory Notes Michael Levet December 3, 2018 Notation: Let n be a positive integer. Denote [n] to be the set {1, 2,..., n}. So for example, [3] = {1, 2, 3}. To quote Bud Brown, Graph theory

More information

The Probabilistic Method

The Probabilistic Method The Probabilistic Method Po-Shen Loh June 2010 1 Warm-up 1. (Russia 1996/4 In the Duma there are 1600 delegates, who have formed 16000 committees of 80 persons each. Prove that one can find two committees

More information

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

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,

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

MATH 350 GRAPH THEORY & COMBINATORICS. Contents

MATH 350 GRAPH THEORY & COMBINATORICS. Contents MATH 350 GRAPH THEORY & COMBINATORICS PROF. SERGEY NORIN, FALL 2013 Contents 1. Basic definitions 1 2. Connectivity 2 3. Trees 3 4. Spanning Trees 3 5. Shortest paths 4 6. Eulerian & Hamiltonian cycles

More information

Superconcentrators of depth 2 and 3; odd levels help (rarely)

Superconcentrators of depth 2 and 3; odd levels help (rarely) Superconcentrators of depth 2 and 3; odd levels help (rarely) Noga Alon Bellcore, Morristown, NJ, 07960, USA and Department of Mathematics Raymond and Beverly Sackler Faculty of Exact Sciences Tel Aviv

More information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

More information

The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs

The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs Frankie Smith Nebraska Wesleyan University fsmith@nebrwesleyan.edu May 11, 2015 Abstract We will look at how to represent

More information

Induction Review. Graphs. EECS 310: Discrete Math Lecture 5 Graph Theory, Matching. Common Graphs. a set of edges or collection of two-elt subsets

Induction Review. Graphs. EECS 310: Discrete Math Lecture 5 Graph Theory, Matching. Common Graphs. a set of edges or collection of two-elt subsets EECS 310: Discrete Math Lecture 5 Graph Theory, Matching Reading: MIT OpenCourseWare 6.042 Chapter 5.1-5.2 Induction Review Basic Induction: Want to prove P (n). Prove base case P (1). Prove P (n) P (n+1)

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Ma/CS 6b Class 2: Matchings

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

More information

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

More information

by conservation of flow, hence the cancelation. Similarly, we have

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

More information

GRAPH DECOMPOSITION BASED ON DEGREE CONSTRAINTS. March 3, 2016

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

More information

1. Lecture notes on bipartite matching

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

More information

An Eternal Domination Problem in Grids

An Eternal Domination Problem in Grids Theory and Applications of Graphs Volume Issue 1 Article 2 2017 An Eternal Domination Problem in Grids William Klostermeyer University of North Florida, klostermeyer@hotmail.com Margaret-Ellen Messinger

More information

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1 Undirected Graphs Terminology. Free Trees. Representations. Minimum Spanning Trees (algorithms: Prim, Kruskal). Graph Traversals (dfs, bfs). Articulation points & Biconnected Components. Graph Matching

More information

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Discrete Mathematics August 20, 2014 Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Instructor: Sushmita Ruj Scribe: Ishan Sahu & Arnab Biswas 1 Paths, Cycles and Connectedness 1.1 Paths and Cycles 1. Paths

More information

Fundamental Properties of Graphs

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,

More information

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM EXERCISES Prepared by Natashia Boland 1 and Irina Dumitrescu 2 1 Applications and Modelling 1.1

More information

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS

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.

More information

11.1. Definitions. 11. Domination in Graphs

11.1. Definitions. 11. Domination in Graphs 11. Domination in Graphs Some definitions Minimal dominating sets Bounds for the domination number. The independent domination number Other domination parameters. 11.1. Definitions A vertex v in a graph

More information

Exercise set 2 Solutions

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

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected graph G with at least 2 vertices contains at least 2

More information

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial. 2301-670 Graph theory 1.1 What is a graph? 1 st semester 2550 1 1.1. What is a graph? 1.1.2. Definition. A graph G is a triple (V(G), E(G), ψ G ) consisting of V(G) of vertices, a set E(G), disjoint from

More information

An Introduction to Graph Theory

An Introduction to Graph Theory An Introduction to Graph Theory CIS008-2 Logic and Foundations of Mathematics David Goodwin david.goodwin@perisic.com 12:00, Friday 17 th February 2012 Outline 1 Graphs 2 Paths and cycles 3 Graphs and

More information

Paths, Flowers and Vertex Cover

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

More information

On vertex types of graphs

On vertex types of graphs On vertex types of graphs arxiv:1705.09540v1 [math.co] 26 May 2017 Pu Qiao, Xingzhi Zhan Department of Mathematics, East China Normal University, Shanghai 200241, China Abstract The vertices of a graph

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

6. Lecture notes on matroid intersection

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

More information

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise. Final exam This is a closed book exam. No calculators are allowed. Unless stated otherwise, justify all your steps. You may use lemmas and theorems that were proven in class and on assignments unless stated

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

V10 Metabolic networks - Graph connectivity

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

More information

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.

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

More information

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

More information

Algorithms: Lecture 10. Chalmers University of Technology

Algorithms: Lecture 10. Chalmers University of Technology Algorithms: Lecture 10 Chalmers University of Technology Today s Topics Basic Definitions Path, Cycle, Tree, Connectivity, etc. Graph Traversal Depth First Search Breadth First Search Testing Bipartatiness

More information

IMO Training 2008: Graph Theory

IMO Training 2008: Graph Theory IMO Training 2008: Graph Theory by: Adrian Tang Email: tang @ math.ucalgary.ca This is a compilation of math problems (with motivation towards the training for the International Mathematical Olympiad)

More information

Ma/CS 6b Class 4: Matchings in General Graphs

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

More information

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

More information

Small Survey on Perfect Graphs

Small Survey on Perfect Graphs Small Survey on Perfect Graphs Michele Alberti ENS Lyon December 8, 2010 Abstract This is a small survey on the exciting world of Perfect Graphs. We will see when a graph is perfect and which are families

More information

An Improved Measurement Placement Algorithm for Network Observability

An Improved Measurement Placement Algorithm for Network Observability IEEE TRANSACTIONS ON POWER SYSTEMS, VOL. 16, NO. 4, NOVEMBER 2001 819 An Improved Measurement Placement Algorithm for Network Observability Bei Gou and Ali Abur, Senior Member, IEEE Abstract This paper

More information

Mathematics and Computer Science

Mathematics and Computer Science Technical Report TR-2006-010 Revisiting hypergraph models for sparse matrix decomposition by Cevdet Aykanat, Bora Ucar Mathematics and Computer Science EMORY UNIVERSITY REVISITING HYPERGRAPH MODELS FOR

More information

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15 CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 02/26/15 1. Consider a model of a nonbipartite undirected graph in which

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

Graph Algorithms Matching

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

More information

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

More information

Finding Strongly Connected Components

Finding Strongly Connected Components Yufei Tao ITEE University of Queensland We just can t get enough of the beautiful algorithm of DFS! In this lecture, we will use it to solve a problem finding strongly connected components that seems to

More information

Disjoint directed cycles

Disjoint directed cycles Disjoint directed cycles Noga Alon Abstract It is shown that there exists a positive ɛ so that for any integer k, every directed graph with minimum outdegree at least k contains at least ɛk vertex disjoint

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Combinatorial problems in solving linear systems

Combinatorial problems in solving linear systems Combinatorial problems in solving linear systems Iain S. Duff 1,2, Bora Uçar 3 1 CERFACS, 42 Av. G. Coriolis, 31057, Toulouse, France iain.duff@stfc.ac.uk 2 Atlas Centre, RAL, Oxon, OX11 0QX, England 3

More information

Ma/CS 6b Class 5: Graph Connectivity

Ma/CS 6b Class 5: Graph Connectivity Ma/CS 6b Class 5: Graph Connectivity By Adam Sheffer Communications Network We are given a set of routers and wish to connect pairs of them to obtain a connected communications network. The network should

More information

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number:

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number: Name: Entry number: There are 6 questions for a total of 75 points. 1. Consider functions f(n) = 10n2 n + 3 n and g(n) = n3 n. Answer the following: (a) ( 1 / 2 point) State true or false: f(n) is O(g(n)).

More information

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY General definitions; Representations; Graph Traversals; Topological sort; Graphs definitions & representations Graph theory is a fundamental tool in sparse

More information

c 2004 Society for Industrial and Applied Mathematics

c 2004 Society for Industrial and Applied Mathematics SIAM J. MATRIX ANAL. APPL. Vol. 26, No. 2, pp. 390 399 c 2004 Society for Industrial and Applied Mathematics HERMITIAN MATRICES, EIGENVALUE MULTIPLICITIES, AND EIGENVECTOR COMPONENTS CHARLES R. JOHNSON

More information

Connection and separation in hypergraphs

Connection and separation in hypergraphs Theory and Applications of Graphs Volume 2 Issue 2 Article 5 2015 Connection and separation in hypergraphs Mohammad A. Bahmanian Illinois State University, mbahman@ilstu.edu Mateja Sajna University of

More information

Graph Theory Review. January 30, Network Science Analytics Graph Theory Review 1

Graph Theory Review. January 30, Network Science Analytics Graph Theory Review 1 Graph Theory Review Gonzalo Mateos Dept. of ECE and Goergen Institute for Data Science University of Rochester gmateosb@ece.rochester.edu http://www.ece.rochester.edu/~gmateosb/ January 30, 2018 Network

More information

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem David Glickenstein November 26, 2008 1 Graph minors Let s revisit some de nitions. Let G = (V; E) be a graph. De nition 1 Removing

More information