GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017)

Size: px
Start display at page:

Download "GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017)"

Transcription

1 GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) C. Croitoru croitoru@info.uaic.ro FII November 12, / 33

2 OUTLINE Matchings Analytical Formulation of the Maximum Matching Problem Perfect Matchings Tutte s Theorem Maximum Cardinality Matchings Berge s Theorem Maximum Cardinality Matchings Hopcroft-Karp Algorithm Network Flows Flow Network Flow, Flow Value, Maximum Flow Problem Augmenting Paths 2 / 33

3 Analytical Formulation of the Maximum Matching Problem G = (V, E) graph, M G family of all matchings in G Maximum Matching Problem: P1 Given a graph G = (V, E), find M M G such that M = max{ M M M G }. Let B = (b ij ) n m be the incidency matrix of G (a fixed ordering of the n vertices of G and { a fixed ordering of the m edges of G are considered) with 1 if the edge j is incident with vertex i b ij =. If e p is the p-dimensional 0 otherwise vector with all components 1, then the problem P1 can be written equivalently: P1 max{e T mx Bx e n, x 0, x i {0, 1} i = 1, m} P1 is an ILP (Integer Linear Programming) problem, which is NP-hard. We can try to solve P1, using the (relaxed) LP (linear Programming) problem associated LP1 max{e T mx Bx e n, x 0}. 3 / 33

4 Analytical Formulation of the Maximum Matching Problem The optimal solutions of LP can have non-integer components and also their optimal values can be larger than ν(g). For example, if G = C 2n+1, then ν(c 2n+1 ) = n, but the solution x i = 1 2 i = 1, 2n + 1 is optimal for the corresponding LP with optimal value n > n. 1/2 1/2 1/2 1/2 1/2 It follows that if the graph G has odd circuits, the problem P1 can not be solved using LP. More precisely, Theorem 2. (Balinski 1971) The extreme points of the polytope Bx e n, x 0, x R m, have components in {0, 1 2, 1}. The components 1 2 arises if and only if G has odd circuits. 4 / 33

5 Analytical Formulation of the Maximum Matching Problem Hence the problem P1 is easy if the graph is bipartite: solve the problem LP1 and the (integer) optimal solution found is an optimal solution for P1. Combinatorial adaptation of the simplex algorithm for solving linear programming problems led to the so called hungarian method for solving P1 for bipartite graphs. We will discuss a faster solution given by Hopcroft and Karp (1973). However, the theorem of duality in linear programming and the integrity of the optimal solution can be used obtain and explain the (already proven) results on mathchings in bipartite graphs: Theorem 3. (Hall, 1935) Let G = (S, T ; E) be a bipartite graph. There exists a mathching in G which saturates all the vertices in S if and only if N G (A) A A S. Theorem 4. (Konig,1930) Let G = (S, T ; E) be a bipartite graph. The maximum cardinality of a matching in G is equal with the minimum cardinality of a vertex cover ν(g) = n α(g) 5 / 33

6 Perfect Matchings Tutte s Theorem V (G) Let G be graph. Clearly, M 2, M M G. A perfect matching (or V (G) 1-factor) in G is a matching M with the property M = 2 (that is, S(M) = V (G)). A connected component of graph G is even ( odd) if the number of its vertices is even (odd).we denote by q(g) the number of odd connected components of G. Remark. Let G be a graph having a perfect matching. Clearly, each connected component of G is even. Hence q(g) = 0. Moreover, if S V (G) then for each odd connected component of the graph G S must exist an edge in the perfect matching of the graph with an extremity in this connected component and the other in S. Since the extremities of different edges are distinct, it follows that S q(g S). For S =, we obtain q(g ) = 0, hence q(g) = 0. 6 / 33

7 Perfect Matchings Tutte s Theorem Theorem 5. (Tutte, 1947) A graph G has a perfect matching if and only if (T ) q(g S) S S V. Proof. The necessity of condition (T ) has been already observed in the above discussion. We prove by induction on n = V that if a graph G = (V, E) satisfies (T ) then G has a perfect matching. For n = 1, 2 the theorem holds obviously. In the inductive step, let G be a graph with n 3 vertices which satisfies (T ), and suppose that any graph G with G < n and which satisfies (T ) has a perfect matching. Let S 0 V (G) such that q(g S 0 ) = S 0 and maximal with the property that we have equality in (T ) (for any superset S of S 0 (S 0 S q(g S) < S ). Note that the family of subsets of V (G) for which (T ) is satisfied with equality is non-empty, and therefore S 0 exists (for each vertex v 0 which is not vertex-cut, we have q(g {v 0 }) = 1 = {v 0 }, since each connected component is even, and in each connected component with at least one vertex, there is such a vertex v 0 ). 7 / 33

8 Perfect Matchings Tutte s Theorem Let m = S 0 > 0, C 1,..., C m the odd connected components of G S 0 and D 1,..., D k the even connected components of G S 0, (k 0): D1 C1 C2 D2 s2 s3 C3 s1 sm Dk We will construct a perfect matching composed by a) a perfect matching in each even connected component D i ; b) a matching with m edges, the edge e i (i = 1, m) having an extremity in s i S 0 and the other v i C i ; c) a perfect matching in each subgraph [C i v i ] G (i = 1, m). Cm 8 / 33

9 Perfect Matchings Tutte s Theorem a) For each i = 1, k the graph [D i ] G has a perfect matching. Indeed, since m > 0, it follows that D i < n and by the induction hypothesis it is sufficiently to show that G = [D i ] G satisfies (T ). Let S D i. If q(g S) > S, then q(g S 0 S) = q(g S 0 ) + q(g S) = S 0 + q(g S) > S 0 + S = S 0 S, contradiction (G satisfies (T )). Hence q(g S) S, S V (G ), that is, G = [D i ] G satisfies (T). b) Let H = (S 0, {C 1,..., C m }; E ) be the bipartite graph with a class of the bipartition S 0, the other class the set of odd connected components of G S 0, and edges of H are all {s, C i } with s S 0 and i = 1, m such that there is v C i with sv e(g). s1 s2 s3 C1 C2 C3 sm Cm 9 / 33

10 Perfect Matchings Tutte s Theorem H has a perfect matching. Indeed, we show that H satisfies Hall s condition for the existence of matching M 0 that saturates {C 1,..., C m }: A {C 1,..., C m }, N H (A) A. Since S 0 = m, it follows that M 0 is a perfect matching in H. Let A {C 1,..., C m }. Then B = N H (A) S 0, and by the construction of H, in the graph G we have no edge from a vertex v S 0 B to a vertex w C i, for C i A. Hence the odd connected components of G S 0 remains odd connected components in G B. It follows that q(g B) A. Since G satisfies Tutte s condition (T ), we have B q(g B). We obtained that B A, that is N H (A) A. Since A was chosen arbitrarily in {C 1,..., C m }, it follows that H has a perfect matching: M 0 = {s 1 v 1, s 2 v 2,..., s m v m } with S 0 = {s 1,..., s m } and v i C i i = 1, m. 10 / 33

11 Perfect Matchings Tutte s Theorem c) i {1,..., m} the graph G = [C i v i ] G has a perfect matching. Using the induction hypothesis, it is sufficiently to prove that G satisfies (T ). Let S C i v i. If q(g S) > S, then, since q(g S) + S 0 (mod 2), it follows that q(g S) S + 2. If S = S 0 {v i } S, we have S q(g S ) = q(g S 0 ) 1 + q(g S) = S q(g S) S S + 2 = S, that is, q(g S ) = S, contradicting the choice of S 0 since S 0 S. Therefore S C i v i, q(g S) S and G has a perfect matching (by the induction hypothesis). Obviously the matching of G obtained by taking the union of the matchings in a), b), and c) above saturates all the vertices of G, and the theorem follows by induction. 11 / 33

12 Maximum Cardinality Matchings Berge s Theorem Let G = (V, E) be a graph and M M G a matching in G. Definition. An alternating path of G with respect to the matching M is any path P : v 0, v 0 v 1, v 1,..., v k 1, v k 1 v k, v k such that i = 1, k 1 {v i 1 v i, v i v i+1 } M. Note that, since M is a matching, if P is an alternating path w.r.t. M, then from any two consecutive edges of P exactly one belongs to M (the edges belong alternatively to M and E M. In the following, when we will refer to a path P we understand its set of edges. Definition. An augmenting path in G w.r.t. the matching M is an alternating path joining two distinct exposed vertices with respect to M. 12 / 33

13 Maximum Cardinality Matchings Berge s Theorem Note that, from the above definition, it follows that if P is an augmenting path w.r.t. M, then P M = P M + 1. b a c e d f g i j h a, b, c, d - drum alternat par f - drum alternat impar j - drum de crestere g, f, d - drum alternat impar a, b, c, d, e - drum alternat inchis a, b, c, d, f, g, h - drum de crestere 13 / 33

14 Maximum Cardinality Matchings Berge s Theorem Theorem 6. (Berge 1959) M is a maximum cardinality matching in the graph G if and only if there is no augmenting path in G w.r.t. M. Proof. Let M be a maximum cardinality matching in G. Suppose that P is an augmenting paths in G with respect to M. Then, M = M P = (P M) (M P) is a matching in G. Indeed, M can be obtained by interchanging the edges in M with those not in M on the path P: a e f g h b d i c j P= a, b, c, d, f, g, h - drum de crestere (M-P) u (P-M) Furthermore, M = P M M P = M + 1, contradicting the choice of M. 14 / 33

15 Maximum Cardinality Matchings Berge s Theorem Let M be a matching in G with the property that there are no augmenting paths in G with respect to M. Let M a maximum cardinality matching in G. We ll prove that M = M. Let G the subgraph spanned by M M in G (G = (V, M M )). Note that d G (v) 2 v V and therefore the connected components of G are isolated nodes, paths of length at least one, or circuits. We have the following possibilities (thick edges are from M, thin edges are from M): a b c d e Case b) does not appear since it is an augmenting path with respect to M, which is a maximum cardinality matching. Case c) does not appear since it is an augmenting path with respect to M 15 / 33

16 Maximum Cardinality Matchings Berge s Theorem If we denote by m M (C) the number of edges from M in the connected component C of G and by m M (C) the number of edges from M in the same connected component of G, we obtained that m M (C) = m M (C). Hence M M = m C (M) = m C (M ) = M M C c.comp. of G C c.comp. of G Therefore M = M. It follows the following strategy to find a maximum cardinality matching: a) let M be a matching in G (e.g., M = ); b) while P augmenting path w.r.t. M do M M P At each while iteration the cardinality of the current matching increases by 1, therefore in at most n 2 iterations we obtain a matching without augmenting paths, that is (by Berge s Theorem) of maximum cardinality. The problem with this algorithm is that while condition must be implemented in polynomial time. This was firstly done by Edmonds (1965). 16 / 33

17 Maximum Cardinality Matchings Hopcroft-Karp Algorithm Lemma 1. Let M, N M G, M = r, N = s and s > r. Then in M N there are at least s r vertex-disjoint augmenting paths with respect to M. Proof. Let G = (V, M N) and C i i = 1, p be the connected components of G. For each i {1,..., p}, we denote by δ(c i ) the difference between the number of edges of N in C i and the number of edges of M in C i : δ(c i ) = E(C i ) N E(C i ) M. Note that, since M and N are matchings, C i are paths or circuits. Hence δ(c i ) { 1, 0, 1}. δ(c i ) = 1 if and only if C i is an augmenting path with respect to M. Since δ(c i ) = N M M N = s r, i=1,p it follows that there are at least s r C i with δ(c i ) = 1, that is, are at least s r vertex-disjoint augmenting paths contained in M N. 17 / 33

18 Maximum Cardinality Matchings Hopcroft-Karp Algorithm Lemma 2. If ν(g) = s and M M G with M = r < s, then there is in G an augmenting path with respect to M of length at most 2 r/(s r) + 1. Proof. Let N M G with N = s = ν(g). By Lemma 1, there are s r edge-disjoint augmenting paths (vertex-disjoint paths are also edge-disjoint) contained in M N. It follows that at least one of them has at most r/(s r) edges from M. the length of this augmenting path is at most 2 r/(s r) + 1. Definition. Let M M G. A minimum augmenting path with respect to M in G is an augmenting path of minimum length over all augmenting paths with respect to M in G. Lemma 3. Let M M G and P a minimum augmenting path with respect to M and P an augmenting path with respect to M P. Then P P + 2 P P. Proof. Let N = (M P) P. Then M N = P P and N = M + 2. By Lemma 1, there are P 1, P 2 edge-disjoint augmenting paths with respect to M contained in M N. Since P is a minimum augmenting path w.r.t. M, we have P P P 1 + P 2 2 P and therefore P + P 2 P P 2 P. 18 / 33

19 Maximum Cardinality Matchings Hopcroft-Karp Algorithm Let us consider the following algorithm: ( ) M 0 ; M i+1 M i P i ( P i minimum augmenting path w.r.t. M i ; i 0.) Let P 0, P 1,..., P ν(g) 1 be the sequence of minimum augmenting paths constructed by this algorithm. Lemma 4. a) i = 1, ν(g) 2, P i P i+1 ; P i = P i+1 P i and P i+1 are vertex-disjoint. b) i < j < ν(g) 1, if P i = P j then P i and P j are vertex-disjoint. Proof. a) By taking P = P i and P = P i+1 in Lemma 3, we obtain P i+1 P i + 2 P i P i+1 P i. The equality holds if and only if P i and P i+1 are edge-disjoint, which implies that they are vertex-disjoint (since they are alternating paths). b) follows by applying successively a) 19 / 33

20 Maximum Cardinality Matchings Hopcroft-Karp Algorithm Theorem 7. (Hopcroft, Karp 1973) Let G be a graph and ν(g) = s. The number of distinct integers in the sequence P 0, P 1,..., P s 1 (P i are the minimum augmenting paths constructed by the above algorithm) is not greater than 2 s + 2. Proof. Let r = s s. Then M r = r and P r 2 r/(s r) + 1 = 2 s s /(s s s ) + 1 < 2 s + 1. Hence, for every i < r, P i is one of s + 1 odd integers not greater than 2 s + 1. In the sub-sequence P r,..., P s 1 there are at most s r s + 1 distinct integers. It follows that in the entire sequence P 0, P 1,..., P s 1 there are no more than 2 s + 2 distinct integers. 20 / 33

21 Maximum Cardinality Matchings Hopcroft-Karp Algorithm If the algorithm ( ) is decomposed in phases such that in each phase a maximal (w.r.t. incluion) set of vertex-disjoint minimum augmenting paths is found, then by Lemma 4 the length of the minimum augmenting paths in the next phase will increase (otherwise, the set of minimum augmenting paths constructed in the current stage is not maximal). By Theorem 7, we obtain that the number of phases is not greater than 2 ν(g) + 2. Hence we have the following algorithm to find a maximum cardinality matching in a given graph G: 0. M ; 1. repeat Find P a maximal set of vertex-disjoint minimum augmenting paths w.r.t. M for P P do M M P until P =. 21 / 33

22 Maximum Cardinality Matchings Hopcroft-Karp Algorithm The time complexity of the above algorithm is O( na), where A is the time complexity of the determination of the set P. In the case of bipartite graphs, Hopcroft and Karp shown that this can be obtained in O(n + m) time and therefore the entire algorithm has O(mn 1/2 ) running time. This has been extended to arbitrary graphs by Micali and Vazirani (1980) using an elaborate data structure to maintain the labels associated to vertices in order to construct minimum augmenting paths. Consider the case of bipartite graphs: G = (S, T ; E) and M M G. Starting from one of the classes, say S, we consider the set of initial extremities of augmenting paths S E(M). From each such vertex we start, in parallel, the construction of alternating paths in a bfs manner. The first augmenting path obtained stop the construction, giving the minimum length of an augmenting path. The set P is obtained using the labels and the adjacency lists in O(n + m). Details are omitted, an example is given on he next slide. 22 / 33

23 Maximum Cardinality Matchings Hopcroft-Karp Algorithm familie maximala de 1- drumuri de crestere 23 / 33

24 Network Flows Maximum Flow Problem Flow Network A flow network (transportation network) with source s and sink t is a tuple R = (G, s, t, c) where: G = (V, E) is a digraph, s, t V ; s t; d + G (s) > 0; d G (t) > 0, c : E R + ; c(e) is the capacity of the arc e. We will suppose that V = {1, 2,..., n} (n N ) and E = m. We extend the function c to c : V V R + by { c(ij) if ij E c((i, j)) = 0 if ij / E and will denote c((i, j)) = c ij. 24 / 33

25 Network Flows Maximum Flow Problem Flow Definition. A flow in R = (G, s, t, c) is a function x : V V R s.t. Remarks. (i) 0 x ij c ij (ii) j V x ji j V ij V V x ij = 0 i V {s, t} 1 If ij E then x ij is referred as the flow (transported) on ij. 2 Constraints (i) require that the flow on each arc is non-negative and does not exceed the capacity. 3 Constraints (ii), (equilibrium constraints), require that the sum of flows on the arcs entering vertex i is equal to the sum of flows on the arcs leaving i (flow in equals flow out). 4 Note that, by the way the function c have been extended to V V, the constraints (i) implies that x ij = 0 whenever ij E. Hence a flow is in fact a function on E. We prefer its extension on V V to simplify the notations. 25 / 33

26 Network Flows Maximum Flow Problem Flow value Let x be a flow in R = (G, s, t, c). If we add all constraints (ii) (for i V {s, t}) we have 0 = ( i s,t j V x ji j V x ) ij = i s,t j s,t x ji i s,t i s,t x si + i s,t x ti i s,t x is i s,t x it = ( i x is i x ) ( si i x it i x ti), that is, x jt x tj = ( x js ) x sj. j V j V j V j V Definition. The value of the flow x in R = (G, s, t, c) is v(x) = j V x jt j V x tj. j s,t x ij+ In words, v(x) is the net flow reaching the sink of the network or, as we proved, the net flow leaving the source of the network. 26 / 33

27 Network Flows Maximum Flow Problem Note that in any network R = (G, s, t, c) there is a flow: x 0, the null flow, with x 0 ij = 0 ij, and v(x 0 ) = 0. Maximum Flow Problem: Given R = (G, s, t, c) a flow network, find a flow of maximum value. The Maximum Flow Problem can be viewed as an LP problem: max v j x ji j x ij = 0, i s, t j x js j x sj = v j x jt j x tj = v 0 x ij c ij ij However, we will consider a direct combinatorial approach which is important when some integrality constraints are imposed to the variables (flows on the directed edges). 27 / 33

28 Network Flows Maximum Flow Problem Network v source sink Find the maximum amount of material flowing through the network from source to sink 28 / 33

29 Network Flows Maximum Flow Problem Augmenting Paths Definition. Let P be a path in G the support graph of the directed graph G and e = v i v j an edge of P, e E(P). If e corresponds to the arc v i v j, then e is a forward arc of P, otherwise (e corresponds to the arc v j v i ) e is a backward arc of P. G P Ḡ - arc direct arc invers Definition. Let R = (G, s, t, c) be a flow network and x a flow in R. An A-path (in R with respect to the flow x) is a path P in G such that ij E(P) : if ij is a forward arc, then x ij < c ij, if ij is a backward arc, then x ji > / 33

30 Network Flows Maximum Flow Problem Augmenting Paths If P is an A-path in { R w.r.t flow x, then the residual capacity of c ij x ij if ij is a forward arc in P ij E(P) is r(ij) = x ji if ij is a backward arc in P. The residual capacity of the path P is r(p) = min r(e). e E(P) Example: Let us consider the flow network below, where, on each edge, the first labeled is its capacity and the second label is the flow on it. 3,1 2 2,1 4 3,2 s 1 1,0 1,0 1,1 6 t 2,2 3 2,2 5 2,1 P : 1, 12, 2, 24, 4, 45, 5, 56, 6 is an A-path from s to t with forward arcs 12 (x 12 = 1 < c 12 = 3); 24(x 24 = 1 < c 24 = 2); 56(x 56 = 1 < c 56 = 2) and backward arc 45(x 54 = 1 > 0). Residual capacity of P: r(p) = min(min(2, 1, 1), 1) = / 33

31 Network Flows Maximum Flow Problem Augmenting Paths Definition. An augmenting path of the flow x in the flow network R = (G, s, t, c) is an A-path from s to t. Lemma 1. If P is an augmenting path of the flow x in R = (G, s, t, c), then x 1 = x r(p) defined by x ij xij 1 = x ij + r(d) x ij r(d) if ij / E(P) is a flow in R with v(x 1 ) = v(x) + r(p). if ij E(D), ij forward arc in P if ji E(D), ji backward arc in P Proof. By the definition of r(p), the constraints (i) are fulfilled by x 1. The constraints (ii) verified by x are not affected for x 1 in a vertex i V (P). For i V (P) there are exactly two arcs of P incident with i, say li and ik. We have the following possible cases: 31 / 33

32 Network Flows Maximum Flow Problem Augmenting Paths a) li and ik forward arcs: j x 1 ji j x 1 ij = j l x ji j k x ij + x 1 li x 1 ik = j l x ji j k x ij + x li + r(p) x ik r(p) = j x ji j x ij = 0. b) li forward arc, ik backward arc: j x 1 ji j x 1 ij = j l,k x ji j x ij + x 1 li + x 1 ki = j l,k x ji j x ij + x li + r(p) + x ki r(p) = j x ji j x ij = 0. c) li backward arc, ik forward arc: similarly to b). d) li and ik backward arcs: similarly to a). v(x 1 ) differs from v(x) because of the flow on the arc lt of P: lt forward arc: v(x 1 ) = j x 1 jt j x 1 tj = j l x jt j x tj + x 1 lt = j l x jt j x tj + x lt + r(p) = v(x) + r(p). lt backward arc: v(x 1 ) = j x 1 jt j x 1 tj = j x jt j l x tj x 1 tl = j x jt j l x tj (x tl r(p)) = v(x) + r(p). Hence the lemma is proved. 32 / 33

33 Network Flows Maximum Flow Problem Augmenting Paths For the example on slide 30, the flow x 1 = x r(p) of value v(x 1 ) = v(x) + r(p) = = 4 is: 3,2 2 2,2 4 3,2 s 1 1,0 1,0 1,0 6 t Remarks. 2,2 3 2,2 The above lemma explains the names augmenting path and residual capacity. By the definition, if P is an augmenting path, then r(p) > 0 and thus v(x r(d)) > v(x). It follows that if there is an augmenting path of the flow x, then x is not a flow of maximum value. 33 / ,2

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming Agenda We ve done Greedy Method Divide and Conquer Dynamic Programming Now Flow Networks, Max-flow Min-cut and Applications c Hung Q. Ngo (SUNY at Buffalo) CSE 531 Algorithm Analysis and Design 1 / 52

More information

1 Matchings in Non-Bipartite Graphs

1 Matchings in Non-Bipartite Graphs CS 598CSC: Combinatorial Optimization Lecture date: Feb 9, 010 Instructor: Chandra Chekuri Scribe: Matthew Yancey 1 Matchings in Non-Bipartite Graphs We discuss matching in general undirected graphs. Given

More information

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows Matching Input: undirected graph G = (V, E). M E is a matching if each node appears in at most one Part V edge in M. Maximum Matching: find a matching of maximum cardinality Matchings Ernst Mayr, Harald

More information

7.5 Bipartite Matching

7.5 Bipartite Matching 7. Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching if each node appears in at most edge in M. Max matching: find a max cardinality matching. Bipartite Matching

More information

Maximum flow problem (part I)

Maximum flow problem (part I) Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization 2017-2018 1 Maximum matching on bipartite graphs Given a graph G = (V, E), find a maximum cardinal matching. 1.1 Direct algorithms Theorem 1.1 (Petersen, 1891) A matching M is

More information

Maximum flow problem

Maximum flow problem Maximum flow problem 7000 Network flows Network Directed graph G = (V, E) Source node s V, sink node t V Edge capacities: cap : E R 0 Flow: f : E R 0 satisfying 1. Flow conservation constraints e:target(e)=v

More information

Notes on Graph Theory

Notes on Graph Theory Notes on Graph Theory Maris Ozols June 8, 2010 Contents 0.1 Berge s Lemma............................................ 2 0.2 König s Theorem........................................... 3 0.3 Hall s Theorem............................................

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 7 Network Flow Application: Bipartite Matching Adam Smith 0//008 A. Smith; based on slides by S. Raskhodnikova and K. Wayne Recently: Ford-Fulkerson Find max s-t flow

More information

M-saturated M={ } M-unsaturated. Perfect Matching. Matchings

M-saturated M={ } M-unsaturated. Perfect Matching. Matchings Matchings A matching M of a graph G = (V, E) is a set of edges, no two of which are incident to a common vertex. M-saturated M={ } M-unsaturated Perfect Matching 1 M-alternating path M not M M not M M

More information

GRAPH ALGORITHMS Week 3 (16-21 October 2017)

GRAPH ALGORITHMS Week 3 (16-21 October 2017) GRAPH ALGORITHMS Week 3 (16-21 October 2017) C. Croitoru croitoru@info.uaic.ro FII October 15, 2017 1 / 63 OUTLINE Graph Theory Vocabulary 1 Definition of a Graph 2 Variations in the Definition of a Graph

More information

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 12 Dr. Ted Ralphs IE411 Lecture 12 1 References for Today s Lecture Required reading Sections 21.1 21.2 References AMO Chapter 6 CLRS Sections 26.1 26.2 IE411 Lecture

More information

Chapter 7 Matchings and r-factors

Chapter 7 Matchings and r-factors Chapter 7 Matchings and r-factors Section 7.0 Introduction Suppose you have your own company and you have several job openings to fill. Further, suppose you have several candidates to fill these jobs and

More information

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs

More information

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 7 Network Flow Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 7.5 Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching

More information

Network Flows. CTU FEE Department of control engineering. March 28, 2017

Network Flows. CTU FEE Department of control engineering. March 28, 2017 Network Flows Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU FEE Department of control engineering March 28, 2017 Z. Hanzálek (CTU FEE) Network Flows March 28, 2017 1 / 44 Table of contents 1

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 2 Network Flow Finish bipartite matching apacity-scaling algorithm Adam Smith 0//0 A. Smith; based on slides by E. Demaine,. Leiserson, S. Raskhodnikova, K. Wayne Marriage

More information

6.046 Recitation 11 Handout

6.046 Recitation 11 Handout 6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints

More information

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

Two Applications of Maximum Flow

Two Applications of Maximum Flow Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows

More information

Maximum flow problem CE 377K. February 26, 2015

Maximum flow problem CE 377K. February 26, 2015 Maximum flow problem CE 377K February 6, 05 REVIEW HW due in week Review Label setting vs. label correcting Bellman-Ford algorithm Review MAXIMUM FLOW PROBLEM Maximum Flow Problem What is the greatest

More information

Mathematical Programs Linear Program (LP)

Mathematical Programs Linear Program (LP) Mathematical Programs Linear Program (LP) Integer Program (IP) Can be efficiently solved e.g., by Ellipsoid Method Cannot be efficiently solved Cannot be efficiently solved assuming P NP Combinatorial

More information

Algorithms and Theory of Computation. Lecture 11: Network Flow

Algorithms and Theory of Computation. Lecture 11: Network Flow Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a

More information

On improving matchings in trees, via bounded-length augmentations 1

On improving matchings in trees, via bounded-length augmentations 1 On improving matchings in trees, via bounded-length augmentations 1 Julien Bensmail a, Valentin Garnero a, Nicolas Nisse a a Université Côte d Azur, CNRS, Inria, I3S, France Abstract Due to a classical

More information

Lecture 5 January 16, 2013

Lecture 5 January 16, 2013 UBC CPSC 536N: Sparse Approximations Winter 2013 Prof. Nick Harvey Lecture 5 January 16, 2013 Scribe: Samira Samadi 1 Combinatorial IPs 1.1 Mathematical programs { min c Linear Program (LP): T x s.t. a

More information

Maximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai

Maximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai Maximum Flow Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai Flow Network A low network G ( V, E) is a directed graph with a source node sv, a sink node tv, a capacity unction c. Each edge ( u,

More information

Algorithms: Lecture 12. Chalmers University of Technology

Algorithms: Lecture 12. Chalmers University of Technology Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,

More information

ACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms

ACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms (a) Let G(V, E) be an undirected unweighted graph. Let C V be a vertex cover of G. Argue that V \ C is an independent set of G. (b) Minimum cardinality vertex

More information

The Maximum Flow Problem with Disjunctive Constraints

The Maximum Flow Problem with Disjunctive Constraints The Maximum Flow Problem with Disjunctive Constraints Ulrich Pferschy Joachim Schauer Abstract We study the maximum flow problem subject to binary disjunctive constraints in a directed graph: A negative

More information

Discrete Optimization 2010 Lecture 3 Maximum Flows

Discrete Optimization 2010 Lecture 3 Maximum Flows Remainder: Shortest Paths Maximum Flows Discrete Optimization 2010 Lecture 3 Maximum Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 3: sheet 1 / 29 Marc Uetz Discrete Optimization Outline

More information

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n 2 4. Duality of LPs and the duality theorem... 22 4.2 Complementary slackness... 23 4.3 The shortest path problem and its dual... 24 4.4 Farkas' Lemma... 25 4.5 Dual information in the tableau... 26 4.6

More information

Lecture 2: Network Flows 1

Lecture 2: Network Flows 1 Comp 260: Advanced Algorithms Tufts University, Spring 2011 Lecture by: Prof. Cowen Scribe: Saeed Majidi Lecture 2: Network Flows 1 A wide variety of problems, including the matching problems discussed

More information

5 Flows and cuts in digraphs

5 Flows and cuts in digraphs 5 Flows and cuts in digraphs Recall that a digraph or network is a pair G = (V, E) where V is a set and E is a multiset of ordered pairs of elements of V, which we refer to as arcs. Note that two vertices

More information

15.1 Matching, Components, and Edge cover (Collaborate with Xin Yu)

15.1 Matching, Components, and Edge cover (Collaborate with Xin Yu) 15.1 Matching, Components, and Edge cover (Collaborate with Xin Yu) First show l = c by proving l c and c l. For a maximum matching M in G, let V be the set of vertices covered by M. Since any vertex in

More information

An algorithm to increase the node-connectivity of a digraph by one

An algorithm to increase the node-connectivity of a digraph by one Discrete Optimization 5 (2008) 677 684 Contents lists available at ScienceDirect Discrete Optimization journal homepage: www.elsevier.com/locate/disopt An algorithm to increase the node-connectivity of

More information

Constructive proof of deficiency theorem of (g, f)-factor

Constructive proof of deficiency theorem of (g, f)-factor SCIENCE CHINA Mathematics. ARTICLES. doi: 10.1007/s11425-010-0079-6 Constructive proof of deficiency theorem of (g, f)-factor LU HongLiang 1, & YU QingLin 2 1 Center for Combinatorics, LPMC, Nankai University,

More information

MINIMALLY NON-PFAFFIAN GRAPHS

MINIMALLY NON-PFAFFIAN GRAPHS MINIMALLY NON-PFAFFIAN GRAPHS SERGUEI NORINE AND ROBIN THOMAS Abstract. We consider the question of characterizing Pfaffian graphs. We exhibit an infinite family of non-pfaffian graphs minimal with respect

More information

Advanced Combinatorial Optimization September 22, Lecture 4

Advanced Combinatorial Optimization September 22, Lecture 4 8.48 Advanced Combinatorial Optimization September 22, 2009 Lecturer: Michel X. Goemans Lecture 4 Scribe: Yufei Zhao In this lecture, we discuss some results on edge coloring and also introduce the notion

More information

Zero-Sum Flows in Regular Graphs

Zero-Sum Flows in Regular Graphs Zero-Sum Flows in Regular Graphs S. Akbari,5, A. Daemi 2, O. Hatami, A. Javanmard 3, A. Mehrabian 4 Department of Mathematical Sciences Sharif University of Technology Tehran, Iran 2 Department of Mathematics

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

Alternating paths revisited II: restricted b-matchings in bipartite graphs

Alternating paths revisited II: restricted b-matchings in bipartite graphs Egerváry Research Group on Combinatorial Optimization Technical reports TR-2005-13. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H 1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

Parity Versions of 2-Connectedness

Parity Versions of 2-Connectedness Parity Versions of 2-Connectedness C. Little Institute of Fundamental Sciences Massey University Palmerston North, New Zealand c.little@massey.ac.nz A. Vince Department of Mathematics University of Florida

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

Packing and Covering Dense Graphs

Packing and Covering Dense Graphs Packing and Covering Dense Graphs Noga Alon Yair Caro Raphael Yuster Abstract Let d be a positive integer. A graph G is called d-divisible if d divides the degree of each vertex of G. G is called nowhere

More information

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans April 5, 2017 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the introductory

More information

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem ORIE 633 Network Flows August 30, 2007 Lecturer: David P. Williamson Lecture 3 Scribe: Gema Plaza-Martínez 1 Polynomial-time algorithms for the maximum flow problem 1.1 Introduction Let s turn now to considering

More information

Generalized Pigeonhole Properties of Graphs and Oriented Graphs

Generalized Pigeonhole Properties of Graphs and Oriented Graphs Europ. J. Combinatorics (2002) 23, 257 274 doi:10.1006/eujc.2002.0574 Available online at http://www.idealibrary.com on Generalized Pigeonhole Properties of Graphs and Oriented Graphs ANTHONY BONATO, PETER

More information

The maximum flow problem

The maximum flow problem The maximum flow problem A. Agnetis 1 Basic properties Given a network G = (N, A) (having N = n nodes and A = m arcs), and two nodes s (source) and t (sink), the maximum flow problem consists in finding

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

Week 4. (1) 0 f ij u ij.

Week 4. (1) 0 f ij u ij. Week 4 1 Network Flow Chapter 7 of the book is about optimisation problems on networks. Section 7.1 gives a quick introduction to the definitions of graph theory. In fact I hope these are already known

More information

Factors in Graphs With Multiple Degree Constraints

Factors in Graphs With Multiple Degree Constraints Factors in Graphs With Multiple Degree Constraints Richard C. Brewster, Morten Hegner Nielsen, and Sean McGuinness Thompson Rivers University Kamloops, BC V2C0C8 Canada October 4, 2011 Abstract For a graph

More information

Disjoint paths in unions of tournaments

Disjoint paths in unions of tournaments Disjoint paths in unions of tournaments Maria Chudnovsky 1 Princeton University, Princeton, NJ 08544, USA Alex Scott Mathematical Institute, University of Oxford, Oxford OX2 6GG, UK Paul Seymour 2 Princeton

More information

FRACTIONAL PACKING OF T-JOINS. 1. Introduction

FRACTIONAL PACKING OF T-JOINS. 1. Introduction FRACTIONAL PACKING OF T-JOINS FRANCISCO BARAHONA Abstract Given a graph with nonnegative capacities on its edges, it is well known that the capacity of a minimum T -cut is equal to the value of a maximum

More information

3.7 Strong valid inequalities for structured ILP problems

3.7 Strong valid inequalities for structured ILP problems 3.7 Strong valid inequalities for structured ILP problems By studying the problem structure, we can derive strong valid inequalities yielding better approximations of conv(x ) and hence tighter bounds.

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Bipartite Matching Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 36 Spring 2010 Bipartite Matching 2 / 36 Can use

More information

RECAP How to find a maximum matching?

RECAP How to find a maximum matching? RECAP How to find a maximum matching? First characterize maximum matchings A maximal matching cannot be enlarged by adding another edge. A maximum matching of G is one of maximum size. Example. Maximum

More information

CMPSCI 611: Advanced Algorithms

CMPSCI 611: Advanced Algorithms CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and

More information

CS 138b Computer Algorithm Homework #14. Ling Li, February 23, Construct the level graph

CS 138b Computer Algorithm Homework #14. Ling Li, February 23, Construct the level graph 14.1 Construct the level graph Let s modify BFS slightly to construct the level graph L G = (V, E ) of G = (V, E, c) out of a source s V. We will use a queue Q and an array l containing levels of vertices.

More information

Cutting Plane Methods II

Cutting Plane Methods II 6.859/5.083 Integer Programming and Combinatorial Optimization Fall 2009 Cutting Plane Methods II Gomory-Chvátal cuts Reminder P = {x R n : Ax b} with A Z m n, b Z m. For λ [0, ) m such that λ A Z n, (λ

More information

Spanning Paths in Infinite Planar Graphs

Spanning Paths in Infinite Planar Graphs Spanning Paths in Infinite Planar Graphs Nathaniel Dean AT&T, ROOM 2C-415 600 MOUNTAIN AVENUE MURRAY HILL, NEW JERSEY 07974-0636, USA Robin Thomas* Xingxing Yu SCHOOL OF MATHEMATICS GEORGIA INSTITUTE OF

More information

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek CS 787: Advanced Algorithms Flows and Cuts Instructor: Dieter van Melkebeek This lecture covers the construction of optimal flows and cuts in networks, their relationship, and some applications. It paves

More information

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory George Voutsadakis 1 1 Mathematics and Computer Science Lake Superior State University LSSU Math 351 George Voutsadakis (LSSU) Introduction to Graph Theory August 2018 1 /

More information

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs Haim Kaplan Tel-Aviv University, Israel haimk@post.tau.ac.il Nira Shafrir Tel-Aviv University, Israel shafrirn@post.tau.ac.il

More information

Discrete Optimization 23

Discrete Optimization 23 Discrete Optimization 23 2 Total Unimodularity (TU) and Its Applications In this section we will discuss the total unimodularity theory and its applications to flows in networks. 2.1 Total Unimodularity:

More information

Running Time. Assumption. All capacities are integers between 1 and C.

Running Time. Assumption. All capacities are integers between 1 and C. Running Time Assumption. All capacities are integers between and. Invariant. Every flow value f(e) and every residual capacities c f (e) remains an integer throughout the algorithm. Theorem. The algorithm

More information

The Algorithmic Aspects of the Regularity Lemma

The Algorithmic Aspects of the Regularity Lemma The Algorithmic Aspects of the Regularity Lemma N. Alon R. A. Duke H. Lefmann V. Rödl R. Yuster Abstract The Regularity Lemma of Szemerédi is a result that asserts that every graph can be partitioned in

More information

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 7 Network Flow Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 7.5 Bipartite Matching Matching Matching. Input: undirected graph G = (V, E). M E is a matching

More information

Preliminaries and Complexity Theory

Preliminaries and Complexity Theory Preliminaries and Complexity Theory Oleksandr Romanko CAS 746 - Advanced Topics in Combinatorial Optimization McMaster University, January 16, 2006 Introduction Book structure: 2 Part I Linear Algebra

More information

On a Cardinality-Constrained Transportation Problem With Market Choice

On a Cardinality-Constrained Transportation Problem With Market Choice On a Cardinality-Constrained Transportation Problem With Market Choice Pelin Damcı-Kurt Santanu S. Dey Simge Küçükyavuz Abstract It is well-known that the intersection of the matching polytope with a cardinality

More information

arxiv: v1 [math.co] 22 Jan 2018

arxiv: v1 [math.co] 22 Jan 2018 arxiv:1801.07025v1 [math.co] 22 Jan 2018 Spanning trees without adjacent vertices of degree 2 Kasper Szabo Lyngsie, Martin Merker Abstract Albertson, Berman, Hutchinson, and Thomassen showed in 1990 that

More information

MATROID PACKING AND COVERING WITH CIRCUITS THROUGH AN ELEMENT

MATROID PACKING AND COVERING WITH CIRCUITS THROUGH AN ELEMENT MATROID PACKING AND COVERING WITH CIRCUITS THROUGH AN ELEMENT MANOEL LEMOS AND JAMES OXLEY Abstract. In 1981, Seymour proved a conjecture of Welsh that, in a connected matroid M, the sum of the maximum

More information

Flow Network. The following figure shows an example of a flow network:

Flow Network. The following figure shows an example of a flow network: Maximum Flow 1 Flow Network The following figure shows an example of a flow network: 16 V 1 12 V 3 20 s 10 4 9 7 t 13 4 V 2 V 4 14 A flow network G = (V,E) is a directed graph. Each edge (u, v) E has a

More information

Mathematics for Decision Making: An Introduction. Lecture 13

Mathematics for Decision Making: An Introduction. Lecture 13 Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider

More information

Antoni Marczyk A NOTE ON ARBITRARILY VERTEX DECOMPOSABLE GRAPHS

Antoni Marczyk A NOTE ON ARBITRARILY VERTEX DECOMPOSABLE GRAPHS Opuscula Mathematica Vol. 6 No. 1 006 Antoni Marczyk A NOTE ON ARBITRARILY VERTEX DECOMPOSABLE GRAPHS Abstract. A graph G of order n is said to be arbitrarily vertex decomposable if for each sequence (n

More information

Optimization Exercise Set n. 4 :

Optimization Exercise Set n. 4 : Optimization Exercise Set n. 4 : Prepared by S. Coniglio and E. Amaldi translated by O. Jabali 2018/2019 1 4.1 Airport location In air transportation, usually there is not a direct connection between every

More information

CSCE423/823. Introduction. Flow Networks. Ford-Fulkerson Method. Edmonds-Karp Algorithm. Maximum Bipartite Matching 2/35 CSCE423/823.

CSCE423/823. Introduction. Flow Networks. Ford-Fulkerson Method. Edmonds-Karp Algorithm. Maximum Bipartite Matching 2/35 CSCE423/823. 1/35 2pt 0em Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 2/35 Can use a directed graph as a flow network to model:

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

Combinatorial Optimisation, Problems I, Solutions Term /2015

Combinatorial Optimisation, Problems I, Solutions Term /2015 /0/205 Combinatorial Optimisation, Problems I, Solutions Term 2 204/205 Tomasz Tkocz, t (dot) tkocz (at) warwick (dot) ac (dot) uk 3. By Problem 2, any tree which is not a single vertex has at least 2

More information

Advanced Linear Programming: The Exercises

Advanced Linear Programming: The Exercises Advanced Linear Programming: The Exercises The answers are sometimes not written out completely. 1.5 a) min c T x + d T y Ax + By b y = x (1) First reformulation, using z smallest number satisfying x z

More information

1 Perfect Matching and Matching Polytopes

1 Perfect Matching and Matching Polytopes CS 598CSC: Combinatorial Optimization Lecture date: /16/009 Instructor: Chandra Chekuri Scribe: Vivek Srikumar 1 Perfect Matching and Matching Polytopes Let G = (V, E be a graph. For a set E E, let χ E

More information

6. Linear Programming

6. Linear Programming Linear Programming 6-1 6. Linear Programming Linear Programming LP reduction Duality Max-flow min-cut, Zero-sum game Integer Programming and LP relaxation Maximum Bipartite Matching, Minimum weight vertex

More information

Induced subgraphs of prescribed size

Induced subgraphs of prescribed size Induced subgraphs of prescribed size Noga Alon Michael Krivelevich Benny Sudakov Abstract A subgraph of a graph G is called trivial if it is either a clique or an independent set. Let q(g denote the maximum

More information

CSC2420: Algorithm Design, Analysis and Theory Spring (or Winter for pessimists) 2017

CSC2420: Algorithm Design, Analysis and Theory Spring (or Winter for pessimists) 2017 CSC2420: Algorithm Design, Analysis and Theory Spring (or Winter for pessimists) 2017 Allan Borodin January 30, 2017 1 / 32 Lecture 4 Announcements: I have posted all 7 questions for assignment 1. It is

More information

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time Network Flow 1 The Maximum-Flow Problem directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time 2 Maximum Flows and Minimum Cuts flows and cuts max flow equals

More information

Cost-Constrained Matchings and Disjoint Paths

Cost-Constrained Matchings and Disjoint Paths Cost-Constrained Matchings and Disjoint Paths Kenneth A. Berman 1 Department of ECE & Computer Science University of Cincinnati, Cincinnati, OH Abstract Let G = (V, E) be a graph, where the edges are weighted

More information

Soviet Rail Network, 1955

Soviet Rail Network, 1955 Ch7. Network Flow Soviet Rail Network, 955 Reference: On the history of the transportation and maximum flow problems. Alexander Schrijver in Math Programming, 9: 3, 2002. 2 Maximum Flow and Minimum Cut

More information

ACYCLIC DIGRAPHS GIVING RISE TO COMPLETE INTERSECTIONS

ACYCLIC DIGRAPHS GIVING RISE TO COMPLETE INTERSECTIONS ACYCLIC DIGRAPHS GIVING RISE TO COMPLETE INTERSECTIONS WALTER D. MORRIS, JR. ABSTRACT. We call a directed acyclic graph a CIdigraph if a certain affine semigroup ring defined by it is a complete intersection.

More information

RESEARCH INSTITUTE FOR MATHEMATICAL SCIENCES RIMS Covering Cuts in Bridgeless Cubic Graphs. Sylvia BOYD, Satoru IWATA, Kenjiro TAKAZAWA

RESEARCH INSTITUTE FOR MATHEMATICAL SCIENCES RIMS Covering Cuts in Bridgeless Cubic Graphs. Sylvia BOYD, Satoru IWATA, Kenjiro TAKAZAWA RIMS-1731 Covering Cuts in Bridgeless Cubic Graphs By Sylvia BOYD, Satoru IWATA, Kenjiro TAKAZAWA August 2011 RESEARCH INSTITUTE FOR MATHEMATICAL SCIENCES KYOTO UNIVERSITY, Kyoto, Japan Covering Cuts in

More information

Paths and cycles in extended and decomposable digraphs

Paths and cycles in extended and decomposable digraphs Paths and cycles in extended and decomposable digraphs Jørgen Bang-Jensen Gregory Gutin Department of Mathematics and Computer Science Odense University, Denmark Abstract We consider digraphs called extended

More information

Graph G = (V, E). V ={vertices}, E={edges}. V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)}

Graph G = (V, E). V ={vertices}, E={edges}. V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)} Graph Theory Graph G = (V, E). V ={vertices}, E={edges}. a b c h k d g f e V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)} E =16. Digraph D = (V, A). V ={vertices}, E={edges}.

More information

Decomposing dense bipartite graphs into 4-cycles

Decomposing dense bipartite graphs into 4-cycles Decomposing dense bipartite graphs into 4-cycles Nicholas J. Cavenagh Department of Mathematics The University of Waikato Private Bag 3105 Hamilton 3240, New Zealand nickc@waikato.ac.nz Submitted: Jun

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

arxiv: v1 [math.co] 5 May 2016

arxiv: v1 [math.co] 5 May 2016 Uniform hypergraphs and dominating sets of graphs arxiv:60.078v [math.co] May 06 Jaume Martí-Farré Mercè Mora José Luis Ruiz Departament de Matemàtiques Universitat Politècnica de Catalunya Spain {jaume.marti,merce.mora,jose.luis.ruiz}@upc.edu

More information

Coloring. Basics. A k-coloring of a loopless graph G is a function f : V (G) S where S = k (often S = [k]).

Coloring. Basics. A k-coloring of a loopless graph G is a function f : V (G) S where S = k (often S = [k]). Coloring Basics A k-coloring of a loopless graph G is a function f : V (G) S where S = k (often S = [k]). For an i S, the set f 1 (i) is called a color class. A k-coloring is called proper if adjacent

More information

On shredders and vertex connectivity augmentation

On shredders and vertex connectivity augmentation On shredders and vertex connectivity augmentation Gilad Liberman The Open University of Israel giladliberman@gmail.com Zeev Nutov The Open University of Israel nutov@openu.ac.il Abstract We consider the

More information

Graph coloring, perfect graphs

Graph coloring, perfect graphs Lecture 5 (05.04.2013) Graph coloring, perfect graphs Scribe: Tomasz Kociumaka Lecturer: Marcin Pilipczuk 1 Introduction to graph coloring Definition 1. Let G be a simple undirected graph and k a positive

More information

Acyclic Digraphs arising from Complete Intersections

Acyclic Digraphs arising from Complete Intersections Acyclic Digraphs arising from Complete Intersections Walter D. Morris, Jr. George Mason University wmorris@gmu.edu July 8, 2016 Abstract We call a directed acyclic graph a CI-digraph if a certain affine

More information

Minimum cost transportation problem

Minimum cost transportation problem Minimum cost transportation problem Complements of Operations Research Giovanni Righini Università degli Studi di Milano Definitions The minimum cost transportation problem is a special case of the minimum

More information

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow? CS261, Winter 2017. Instructor: Ashish Goel. Problem set 1 Electronic submission to Gradescope due 11:59pm Thursday 2/2. Form a group of 2-3 students that is, submit one homework with all of your names.

More information