MA015: Graph Algorithms

Size: px
Start display at page:

Download "MA015: Graph Algorithms"

Transcription

1 MA Minimum cuts 1 MA015: Graph Algorithms 3. Minimum cuts (in undirected graphs) Jan Obdržálek obdrzalek@fi.muni.cz Faculty of Informatics, Masaryk University, Brno

2 All pairs flows/cuts MA Minimum cuts 2

3 MA Minimum cuts 3 Computing the cut/flow for all pairs In this section, let G be an undirected network: i.e. G = (V, E) a weighted (capacitated) graph with a capacity function c : E R + Question How much time we need to find the minimum s t cut (maximum flow) for all pairs of s, t V (G)? for a single pair we can do it, e.g., in time τ = O(n 2 m) = n 2 pairs: O(n 2 τ) can we do better? YES: n 1 maximal-flow computations are enough!

4 MA Minimum cuts 4 Gomory-Hu trees Definition For a network G = (V, E) with capacities c, the Gomory-Hu tree is a tree T = (V, F ) with capacities w such that: 1 s, t V (G).f (s, t) = f T (s, t) (flow property) 2 A minimum s t cut in T corresponds to a minimum s t cut in G (cut property) Notation for U V we use δ(u) = δ(v \ U) to denote the set of edges between U and V \ U (the cut given by U) f (s, t) the minimum capacity of an s t cut in G f T (s, t) the corresponding value in T consequence of the cut property for each edge e = {s, t} F, δ(u) is a minimum capacity s t cut of G, where U is any of the two components of T \ e

5 MA Minimum cuts 5 Gomory-Hu trees example network G 10 a 8 b 3 f c 4 e d Tree T d 14 a 18 b 17 f 13 e 15 c

6 MA Minimum cuts 6 Use of Gomory-Hu trees Definition For a network G = (V, E) with capacities c, the Gomory-Hu tree is a tree T = (V, F ) with capacities w such that: 1 s, t V (G).f (s, t) = f T (s, t) (flow property) 2 a minimum s t cut in T corresponds to a minimum s t cut in G (cut property) What this means? assume we have a Gomory-Hu tree T to find the value of f (s, t), it is enough to find the minimum value of w(e) for edges e on the unique s t path in T Questions 1 does a Gomory-Hu tree always exist? 2 can we efficiently compute it?

7 MA Minimum cuts 7 Gomory-Hu tree construction: outline the algorithm maintains: a partition of V (sets S 1, S 2,..., S k ) a spanning tree T on the vertex set of {S 1, S 2,..., S k } initial partition: S 1 = V n 1 split operations (rounds): choose S i s.t. S i 2 split S i into two non-empty parts S a i, S b i remove S i from T and replace it by S a i, S b i, connected by an edge connect S a i and S b i to other S j s (according to the connectivity of vertices in S a i and S b i ) result: the tree T

8 MA Minimum cuts 8 Splitting S i compute the connected components of the forest obtained from T by deleting S i contract the vertices of G in each of these components to a single vertex, obtaining the graph H choose two vertices a, b of S i compute the minimum a b cut in H let A and B be the two sides of this cut let S a i = S i A and S b i = S i B connect S a i and S b i with an edge of the same capacity as the minimum cut replace an edge {S i, S j } by {S a i, S j } if S j A and by {S b i, S j } if S j B (capacities are kept the same)

9 MA Minimum cuts 9 Construction example: iteration 1 a 10 8 b 3 f c 4 e d initial partition: {a, b, c, d, e, f } select b and f (arbitrary choice) minimum b f cut: 17 partition: {a, b}, {c, d, e, f } a,b 17 c,d,e,f

10 MA Minimum cuts 10 Construction example: iteration 2 a 10 8 b 9 cdef initial partition: {a, b}, {c, d, e, f } select a and b in {a, b} minimum a b cut: 18 partition: {a}, {b}, {c, d, e, f } a b c,d,e,f 18 17

11 MA Minimum cuts 11 Construction example: iteration 3 a,b 11 8 f c 4 e d initial partition: {a}, {b}, {c, d, e, f } select c and f in {c, d, e, f } minimum c f cut: 13 partition: {a}, {b}, {c, d, e}, {f } a b f c,d,e

12 MA Minimum cuts 12 Construction example: iteration 4 c a,b,f e 5 7 d initial partition: {a}, {b}, {c, d, e}, {f } select d and e in {c, d, e} minimum d e cut: 14 partition: {a}, {b}, {c, e}, {d}, {f } d 14 a 18 b 17 f 13 c,e

13 MA Minimum cuts 13 Construction example: iteration 5 c a,b,f e 5 7 d initial partition: {a}, {b}, {c, e}, {d}, {f } select c and e in {c, e} minimum c e cut: 15 partition: {a}, {b}, {c}, {d}, {e}, {f } d 14 a 18 b 17 f 13 e 15 c

14 MA Minimum cuts 14 Basic lemmas Lemma A For u, v, w V the following inequality holds: f (u, w) min(f (u, v), f (v, w)) Lemma B For u, v 1, v 2,..., v r, w V the following inequality holds: f (u, w) min(f (u, v 1 ), f (v 1, v 2 ),..., f (v k,, w))

15 MA Minimum cuts 15 Main lemma G-H Lemma Let δ(s) be some minimum r s cut for some vertices r, s V (s S), and let v, w S. Then there is a minimum v w cut δ(t ) with T S. Meaning if we have a graph G = (V, E) and we contract a subset X V that corresponds to some mincut, then the value of f (s, t) does not change for two nodes s, t X. we will show (later) that the connected components that we contract during a split-operation each correspond to some mincut and, hence, f H (s, t) = f (s, t) (where f H (s, t) is the value of a minimum s t mincut in graph H)

16 MA Minimum cuts 16 Main lemma proof G-H Lemma Let δ(s) be some minimum r s cut for some vertices r, s V (s S), and let v, w S. Then there is a minimum v w cut δ(t ) with T S. Let δ(x) be a minimum v w cut, with X S and X (V \ S). both δ(s \ X) and δ(s X) are v w cuts inside S. w.l.o.g s X. case r X: c(δ(x \ S)) + c(δ(s \ X)) c(δ(s)) + c(δ(x)) c(δ(x \ S)) c(δ(s)) (because X \ S is a r s cut) together c(δ(s \ X)) c(δ(x)) case r X: c(δ(x S)) + c(δ(s X)) c(δ(s)) + c(δ(x)) c(δ(x S)) c(δ(s)) (because X S is a r s cut) together c(δ(s X)) c(δ(x))

17 MA Minimum cuts 17 Invariant Invariant (existence of representatives) For any edge {S i, S j } in T, there are vertices a S i and b S j such that w(s i, S j ) = f (a, b) and the cut defined by the edge {S i, S j } is a minimum a b cut in G. Invariant implies that, at the end of the algorithm, T is a Gomory-Hu tree. not difficult to show

18 MA Minimum cuts 18 Invariant proof obviously true for the initial two-node tree we need to show it is maintained by the split operation split operation node S i, vertices a, b in S i, will split into Si a and Si b invariant says all edges leaving S i correspond to some mincuts by G-H Lemma, the capacity of the mincut between a and b is the same as in G choosing representatives for edges of T a and b for the {S a i, S b i } edge keep the old representatives for edges not incident to S i otherwise {X, S i } E(T ), w.l.o.g. to be replaced by {X, S a i } assume old representatives x X, s S i if s S a i, keep x and s as representatives if s S b i, choose x and a as representatives

19 MA Minimum cuts 19 Invariant proof For the new pair of representatives x and a, we need to show f (x, a) = f (x, s): by invariant, {X, S i } induces a cut of capacity f (x, s) x and a on the opposite sides of this cut = f (x, a) f (x, s) B forms a mincut separating a and b by contracting B into v b we obtain G by G-H Lemma, f (x, a) = f (x, a) as x, a B by Lemma A, f (x, a) min(f (x, v b ), f (v b, a)) since s B, we have f (v b, x) f (s, x) the a b cut splitting S i into S a i and S b i also separates s and x = f (a, v B ) f (a, b) f (x, s).

20 Global Minimum Cuts MA Minimum cuts 20

21 MA Minimum cuts 21 Global Minimum Cut so far, we were interested in so-called minimum s t cuts between a given pair of vertices s, t (source/sink) corresponds to the maximum flow between those two vertices (Ford-Fulkerson theorem) now we want to find a minimal cut for the whole graph G MINIMUM CUT Given a connected, undirected graph G = (V, E) and a capacity function c : E R +, find a set A = δ(s) s.t. S V and c(a) is minimum. c(a) = a A c(a) λ(g) capacity of a minimum cut of G λ(g; v, w) capacity of a minimum v w cut of G

22 MA Minimum cuts 22 Global Minimum Cut motivation A 75-year-old Georgian woman cut-off the internet in an entire country for more than 12 hours with only her garden spade.

23 Global Minimum Cut motivation The Global Internet Is Being Attacked by Sharks, Google Confirms MA Minimum cuts 23

24 MA Minimum cuts 24 Global Minimum Cut motivation Russia May Be Planning To Cut Internet Cables Under Sea, US Intelligence Shows Concern

25 MA Minimum cuts 25 Global Minimum Cut solving n 1 flow problems (minimum s t cuts) is enough δ(s) is a v w cut if exactly one of v, w is in S finding a minimum v w cut requires solving one max-flow problem (replace each edge by two oppositely directed arcs) if we fix one vertex r of G, then every cut is a r s cut for some s in G = solve n 1 max-flow problems one for each choice of s and take the minimum. Using O(n 3 ) max-flow algorithm, we can find a minimum cut in time O(n 4 ).

26 MA Minimum cuts 26 Edge contraction let e = uv be an edge in G the graph G uv = G e obtained from G by contracting e is defined as: V (G uv) = (V (G) \ {u, v}) {x} (where x V (G)) the edges: E(G uv) = {ab E(G) {a, b} {u, v} = } (1) {xw uw E(G) vw E(G)} (2) comments the capacities of edges are same as in the original graph the resulting graph can have multiple edges (but no new loops) for purposes of flow algorithms we can replace parallel edges with a single edge, of capacity equal to the sum of their capacities

27 MA Minimum cuts 27 Edge contraction Theorem Let vw E(G). Then 1 Every cut of G vw is a cut of G. 2 Every cut of G which does not separate v from w is a cut of G vw. Corollary: λ(g) = min(λ(g vw ), λ(g; v, w)) simple algorithm 1 choose an edge vw 2 compute a minimum v w cut of G 3 replace G by G vw 4 repeat steps 1-3 (n 2)-times (the last cut is trivial) 5 the best of these cuts is a minimum cut of G

28 Node Identification Algorithm MA Minimum cuts 28

29 MA Minimum cuts 29 Node Identification Algorithm Nagamochi-Ibaraki 1992, Stoer-Wagner 1994 does not use maximum flow computation first discovered by Nagamochi and Ibaraki Stoer and Wagner gave a simpler description and proof Main idea using the theorem on the previous slide choose v and w in such a way that the minimum v w cut is easy to find

30 MA Minimum cuts 30 Legal ordering Definition A legal ordering of G is an ordering v 1, v 2,..., v n of the vertices of G such that c(δ(v i 1 ) δ(v i )) c(δ(v i 1 ) δ(v j )) i, j.2 i < j n where V i = {v 1,..., v i } The usefulness of the legal ordering is demonstrated by the following theorem: Theorem (N-I) If v 1,... v n is a legal ordering of G, then δ(v n ) is a minimum v n 1 v n cut of G.

31 MA Minimum cuts 31 The min-cut algorithm MINIMUMCUT(G,c) 1 M := 2 while V > 1 do 3 v 1,..., v n := FINDLEGALORDERING(G,c) 4 if c(δ(v n )) < M then 5 M := c(δ(v n )) 6 A := δ(v n ) 7 G := G vn 1 v n 8 return A

32 MA Minimum cuts 32 Finding a legal ordering start with any vertex a V keep adding the most tightly connected vertex: z A such that c(a, z) = max{c(a, y) y A} c(a, y) the sum of the weights of edges between A and y FINDLEGALORDERING(G,c) 1 a := some vertex of G 2 A := {a} 3 while A V do 4 z := vertex most tightly connected to A 5 A := A {z} 6 return vertices in order they were added to A

33 MA Minimum cuts 33 Example DEMONSTRATION

34 MA Minimum cuts 34 Proof of Theorem N-I Theorem If v 1,... v n is a legal ordering of G, then δ(v n ) is a minimum v n 1 v n cut of G. we know that δ(v n ) is a v n 1 v n cut it remains to show that c(δ(v n )) λ(g; v n 1, v n ) by induction on E and V base case: trivial for V = 2 or E = 0 inductive step case 1: e = v n 1 v n E(G) let G = G \ e, and δ be δ on G v 1,..., v n is still a legal ordering of G we have c(δ(v n )) = c(δ (v n ))+c(e) IH = λ(g ; v n 1, v n )+c(e) = λ(g; v n 1, v n )

35 Q.E.D. MA Minimum cuts 35 case 2: v n 1 v n E(G) Proof of Theorem N-I Lemma A For all u, v, w V we have λ(g; u, w) min(λ(g; u, v), λ(g; v, w)) We therefore need to prove 1 c(δ(v n )) λ(g; v n 2, v n ) we apply induction to G = G \ v n 1 : v 1,..., v n 2, v n is a legal ordering of G we have: c(δ(v n)) = c(δ (v n)) IH = λ(g ; v n 2, v n) = λ(g; v n 2, v n) 2 c(δ(v n )) λ(g; v n 2, v n 1 ) we apply induction to G = G \ v n: v 1,..., v n 2, v n 1 is a legal ordering of G we have: c(δ(v n)) c(δ(v n 1 )) = c(δ (v n 1 )) = λ(g ; v n 2, v n 1 ) = λ(g; v n 2, v n 1 )

36 MA Minimum cuts 36 Complexity analysis the main loop of MINIMUMCUT is executed n 1 times the cost of FINDLEGALORDERING bottleneck: choosing the most tightly connected vertex z vertices not in A reside in a priority queue key: sum of the weights connecting it to A each time a vertex is added we need to update the queue V EXTRACT-MAX and E INCREASE-KEY operations using Fibonacci heaps we get time O( E + V log V ) we can do contractions in time O(n) TOTAL TIME: O(nm + n 2 log n)

37 Random Contractions MA Minimum cuts 37

38 MA Minimum cuts 38 Karger s algorithm Karger 1993 CONTRACT (G) 1 while V > 2 do 2 e := edge chosen from E uniformly at random 3 G := G e 4 return the unique cut of G notes correct result with small probability can be iterated works for unweighted multigraphs for weighted graphs choose edge e with probability c(e) c(e) complexity n 2 iterations of the main loop each contraction can be done in time O(n) TOTAL TIME: O(n 2 )

39 MA Minimum cuts 39 Example DEMONSTRATION

40 MA Minimum cuts 40 Probability of an error for a fixed cut C note: for unweighted multigraphs suppose the minimum cut C has k edges a minimum degree of any vertex in G must be at least k the probability an edge of C was chosen for the first contraction is k E k nk 2 = 2 n similarly for the (i + 1)-th contraction the probability is at most 2 n i the probability none of the edges of C was chosen (the correct answer) is therefore at least n 3 ( 1 2 ) n 3 ( ) 1 n i 2 n = = n i n i 2 i=0 i=0

41 MA Minimum cuts 41 Iterating the CONTRACT algorithm the probability of finding a minimal cut in one step is at least 2/(n(n 1)) but we can run the algorithm multiple times and select the minimum cut Theorem Let C be a minimum cut of G and k N. The probability that the algorithm CONTRACT does not return C in one of kn 2 runs is at most e 2k. Proof ( ) kn (1 2n ) kn 2 ) n(n 1) 2 (e 2 kn 2 n 2 = e 2k using 1 x e x

42 MA Minimum cuts 42 Iterating the CONTRACT algorithm Theorem Let C be a minimum cut of G and k N. The probability that the algorithm CONTRACT does not return C in one of kn 2 runs is at most e 2k. Practical consequences: 10n 2 -times: correct with probability more than n 2 times: correct with probability more than 1 1/e n 2 log n-times: correct with probability more than 1 1/n 2 Theorem Running Karger s algorithm O(n 2 log n)-times gives a minimum cut with high probability and takes time O(n 4 log n).

43 MA Minimum cuts 43 Improving Karger s algorithm Karger-Stein 1996 Clifford Stein the S in [CLRS] probability of contracting a minimum cut edge: 2 n i this probability increases with each step: first step: 2/n last step: 2/3 solution: algorithm CONTRACT(G,t) stop when t edges are left solve the remaining graph exactly probability of avoiding a cut C is at least: n t 1 i=0 ( 1 2 ) = n i ( ) t / 2 ( ) n 2 becomes less than 1/2 at around t = 1 + n/ 2

44 MA Minimum cuts 44 FASTMINCUT(G) Improving Karger s algorithm 2 Karger-Stein if V 6 then 2 return MINIMUMCUT(G) 3 else 4 t := 1 + n/ 2 5 C 1 := FASTMINCUT(CONTRACT(G,t)) 6 C 2 := FASTMINCUT(CONTRACT(G,t)) 7 return min(c 1, C 2 ) time complexity in each iteration the size decreases by a factor of 2 = O(log n) iterations in i-th level: 2 i subproblems, of size n/2 i/2 calling CONTRACT twice, each call O(n/2 i/2 ) = O(n 2 /2 i ) = O(n 2 ) over each level TOTAL TIME: O(n 2 log n)

45 MA Minimum cuts 45 Improving Karger s algorithm 2 Karger-Stein 1996 bounding the error probability We obtain the following recurrence for the lower bound on the probability of success on a graph of size n: Solving this recurrence we obtain: P(n) 1 (1 1 2 P( n/ )) 2 P(n) = Ω(1/log n) finding all minimum cuts Theorem The algorithm FASTMINCUT finds all minimum cuts with a high probability in time O(n 2 log 3 n).

Algortithms for the Min-Cut problem

Algortithms for the Min-Cut problem Algortithms for the Min-Cut problem Hongwei Jin Department of Applied Mathematics Illinois Insititute of Technology April 30, 2013 Outline 1 Introduction Problem Definition Previous Works 2 Karger s Algorithm

More information

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Matroids Shortest Paths Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Marc Uetz University of Twente m.uetz@utwente.nl Lecture 2: sheet 1 / 25 Marc Uetz Discrete Optimization Matroids

More information

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees , 2009 Lecture 5: Shortest Paths & Spanning Trees University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Shortest Path Problem "#$%&'%()*%"()$#+,&- Given directed "#$%&'()*+,%+('-*.#/'01234564'.*,'7+"-%/8',&'5"4'84%#3

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

CMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro.

CMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro. CMPS 00 Fall 01 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with edge-weight function

More information

Exact Algorithms for Dominating Induced Matching Based on Graph Partition

Exact Algorithms for Dominating Induced Matching Based on Graph Partition Exact Algorithms for Dominating Induced Matching Based on Graph Partition Mingyu Xiao School of Computer Science and Engineering University of Electronic Science and Technology of China Chengdu 611731,

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

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

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

4 Packing T-joins and T-cuts

4 Packing T-joins and T-cuts 4 Packing T-joins and T-cuts Introduction Graft: A graft consists of a connected graph G = (V, E) with a distinguished subset T V where T is even. T-cut: A T -cut of G is an edge-cut C which separates

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

Trees. A tree is a graph which is. (a) Connected and. (b) has no cycles (acyclic).

Trees. A tree is a graph which is. (a) Connected and. (b) has no cycles (acyclic). Trees A tree is a graph which is (a) Connected and (b) has no cycles (acyclic). 1 Lemma 1 Let the components of G be C 1, C 2,..., C r, Suppose e = (u, v) / E, u C i, v C j. (a) i = j ω(g + e) = ω(g).

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

Breadth-First Search of Graphs

Breadth-First Search of Graphs Breadth-First Search of Graphs Analysis of Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Applications of Breadth-First Search of Graphs a) Single Source

More information

Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time

Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time Gramoz Goranci Monika Henzinger Mikkel Thorup Abstract We present a deterministic incremental algorithm for exactly maintaining the size

More information

Chapter 11. Min Cut Min Cut Problem Definition Some Definitions. By Sariel Har-Peled, December 10, Version: 1.

Chapter 11. Min Cut Min Cut Problem Definition Some Definitions. By Sariel Har-Peled, December 10, Version: 1. Chapter 11 Min Cut By Sariel Har-Peled, December 10, 013 1 Version: 1.0 I built on the sand And it tumbled down, I built on a rock And it tumbled down. Now when I build, I shall begin With the smoke from

More information

CMPS 6610 Fall 2018 Shortest Paths Carola Wenk

CMPS 6610 Fall 2018 Shortest Paths Carola Wenk CMPS 6610 Fall 018 Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk Paths in graphs Consider a digraph G = (V, E) with an edge-weight function w

More information

Analysis of Algorithms. Outline. Single Source Shortest Path. Andres Mendez-Vazquez. November 9, Notes. Notes

Analysis of Algorithms. Outline. Single Source Shortest Path. Andres Mendez-Vazquez. November 9, Notes. Notes Analysis of Algorithms Single Source Shortest Path Andres Mendez-Vazquez November 9, 01 1 / 108 Outline 1 Introduction Introduction and Similar Problems General Results Optimal Substructure Properties

More information

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker Dijkstra s Single Source Shortest Path Algorithm Andreas Klappenecker Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node s in V a weight function w: E -> R. Goal:

More information

The minimum G c cut problem

The minimum G c cut problem The minimum G c cut problem Abstract In this paper we define and study the G c -cut problem. Given a complete undirected graph G = (V ; E) with V = n, edge weighted by w(v i, v j ) 0 and an undirected

More information

Single Source Shortest Paths

Single Source Shortest Paths CMPS 00 Fall 015 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with an edge-weight

More information

Shortest Path Algorithms

Shortest Path Algorithms Shortest Path Algorithms Andreas Klappenecker [based on slides by Prof. Welch] 1 Single Source Shortest Path 2 Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node

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

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

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 21 Single-Source Shortest Paths Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 Single-Source

More information

Minimum Cut in a Graph Randomized Algorithms

Minimum Cut in a Graph Randomized Algorithms Minimum Cut in a Graph 497 - Randomized Algorithms Sariel Har-Peled September 3, 00 Paul Erdős 1913-1996) - a famous mathematician, believed that God has a book, called The Book in which god maintains

More information

Single Source Shortest Paths

Single Source Shortest Paths CMPS 00 Fall 017 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk Paths in graphs Consider a digraph G = (V, E) with an edge-weight

More information

25. Minimum Spanning Trees

25. Minimum Spanning Trees 695 25. Minimum Spanning Trees Motivation, Greedy, Algorithm Kruskal, General Rules, ADT Union-Find, Algorithm Jarnik, Prim, Dijkstra, Fibonacci Heaps [Ottman/Widmayer, Kap. 9.6, 6.2, 6.1, Cormen et al,

More information

25. Minimum Spanning Trees

25. Minimum Spanning Trees Problem Given: Undirected, weighted, connected graph G = (V, E, c). 5. Minimum Spanning Trees Motivation, Greedy, Algorithm Kruskal, General Rules, ADT Union-Find, Algorithm Jarnik, Prim, Dijkstra, Fibonacci

More information

An 1.75 approximation algorithm for the leaf-to-leaf tree augmentation problem

An 1.75 approximation algorithm for the leaf-to-leaf tree augmentation problem An 1.75 approximation algorithm for the leaf-to-leaf tree augmentation problem Zeev Nutov, László A. Végh January 12, 2016 We study the tree augmentation problem: Tree Augmentation Problem (TAP) Instance:

More information

Minmax Tree Cover in the Euclidean Space

Minmax Tree Cover in the Euclidean Space Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 15, no. 3, pp. 345 371 (2011) Minmax Tree Cover in the Euclidean Space Seigo Karakawa 1 Ehab Morsy 1 Hiroshi Nagamochi 1 1 Department

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

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

CS 4407 Algorithms Lecture: Shortest Path Algorithms

CS 4407 Algorithms Lecture: Shortest Path Algorithms CS 440 Algorithms Lecture: Shortest Path Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Outline Shortest Path Problem General Lemmas and Theorems. Algorithms Bellman-Ford

More information

The Steiner k-cut Problem

The Steiner k-cut Problem The Steiner k-cut Problem Chandra Chekuri Sudipto Guha Joseph (Seffi) Naor September 23, 2005 Abstract We consider the Steiner k-cut problem which generalizes both the k-cut problem and the multiway cut

More information

Recall: Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching

Recall: Matchings. Examples. K n,m, K n, Petersen graph, Q k ; graphs without perfect matching Recall: 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

More information

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Marc Uetz University of Twente m.uetz@utwente.nl Lecture 8: sheet 1 / 32 Marc Uetz Discrete Optimization Outline 1 Intro: The Matching

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

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

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1 2 GRAPH AND NETWORK OPTIMIZATION E. Amaldi Introduction to Operations Research Politecnico Milano 1 A variety of decision-making problems can be formulated in terms of graphs and networks Examples: - transportation

More information

LP relaxation and Tree Packing for Minimum k-cuts

LP relaxation and Tree Packing for Minimum k-cuts LP relaxation and Tree Packing for Minimum k-cuts Chandra Chekuri 1 Kent Quanrud 1 Chao Xu 1,2 1 UIUC 2 Yahoo! Research, NYC k-cut Graph G = (V, E). c : E R + a capacity function. A k-cut is the set of

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

Observation 4.1 G has a proper separation of order 0 if and only if G is disconnected.

Observation 4.1 G has a proper separation of order 0 if and only if G is disconnected. 4 Connectivity 2-connectivity Separation: A separation of G of order k is a pair of subgraphs (H, K) with H K = G and E(H K) = and V (H) V (K) = k. Such a separation is proper if V (H) \ V (K) and V (K)

More information

Randomized Algorithms III Min Cut

Randomized Algorithms III Min Cut Chapter 11 Randomized Algorithms III Min Cut CS 57: Algorithms, Fall 01 October 1, 01 11.1 Min Cut 11.1.1 Problem Definition 11. Min cut 11..0.1 Min cut G = V, E): undirected graph, n vertices, m edges.

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

Observation 4.1 G has a proper separation of order 0 if and only if G is disconnected.

Observation 4.1 G has a proper separation of order 0 if and only if G is disconnected. 4 Connectivity 2-connectivity Separation: A separation of G of order k is a pair of subgraphs (H 1, H 2 ) so that H 1 H 2 = G E(H 1 ) E(H 2 ) = V (H 1 ) V (H 2 ) = k Such a separation is proper if V (H

More information

Ring Sums, Bridges and Fundamental Sets

Ring Sums, Bridges and Fundamental Sets 1 Ring Sums Definition 1 Given two graphs G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) we define the ring sum G 1 G 2 = (V 1 V 2, (E 1 E 2 ) (E 1 E 2 )) with isolated points dropped. So an edge is in G 1 G

More information

Minimum cuts and sparsification in hypergraphs

Minimum cuts and sparsification in hypergraphs Minimum cuts and sparsification in hypergraphs Chandra Chekuri Chao Xu Abstract We study algorithmic and structural aspects of connectivity in hypergraphs. Given a hypergraph H = (V, E) with n = V, m =

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

Branch-and-Bound for the Travelling Salesman Problem

Branch-and-Bound for the Travelling Salesman Problem Branch-and-Bound for the Travelling Salesman Problem Leo Liberti LIX, École Polytechnique, F-91128 Palaiseau, France Email:liberti@lix.polytechnique.fr March 15, 2011 Contents 1 The setting 1 1.1 Graphs...............................................

More information

6.889 Lecture 4: Single-Source Shortest Paths

6.889 Lecture 4: Single-Source Shortest Paths 6.889 Lecture 4: Single-Source Shortest Paths Christian Sommer csom@mit.edu September 19 and 26, 2011 Single-Source Shortest Path SSSP) Problem: given a graph G = V, E) and a source vertex s V, compute

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

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

1 Matroid intersection

1 Matroid intersection CS 369P: Polyhedral techniques in combinatorial optimization Instructor: Jan Vondrák Lecture date: October 21st, 2010 Scribe: Bernd Bandemer 1 Matroid intersection Given two matroids M 1 = (E, I 1 ) and

More information

Tight Approximation Ratio of a General Greedy Splitting Algorithm for the Minimum k-way Cut Problem

Tight Approximation Ratio of a General Greedy Splitting Algorithm for the Minimum k-way Cut Problem Algorithmica (2011 59: 510 520 DOI 10.1007/s00453-009-9316-1 Tight Approximation Ratio of a General Greedy Splitting Algorithm for the Minimum k-way Cut Problem Mingyu Xiao Leizhen Cai Andrew Chi-Chih

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

1 Some loose ends from last time

1 Some loose ends from last time Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Kruskal s and Borůvka s MST algorithms September 20, 2010 1 Some loose ends from last time 1.1 A lemma concerning greedy algorithms and

More information

22 Max-Flow Algorithms

22 Max-Flow Algorithms A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it. The First Law of Mentat, in Frank Herbert s Dune (965) There s a difference

More information

(1,3) (3,4) (2,2) (1,2) (2,4) t

(1,3) (3,4) (2,2) (1,2) (2,4) t Maximum flows Some catastrophe has happened in some far away place, and help is needed badly. Fortunately, all that is needed is available, but it is stored in some depot that is quite remote from the

More information

Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows

Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows Uli Wagner ETH Zürich Flows Definition Let G = (V, E) be a multigraph (allow loops and parallel edges). An (integer-valued) flow on G (also called

More information

Dynamic Programming. Data Structures and Algorithms Andrei Bulatov

Dynamic Programming. Data Structures and Algorithms Andrei Bulatov Dynamic Programming Data Structures and Algorithms Andrei Bulatov Algorithms Dynamic Programming 18-2 Weighted Interval Scheduling Weighted interval scheduling problem. Instance A set of n jobs. Job j

More information

Lecture 1: Contraction Algorithm

Lecture 1: Contraction Algorithm CSE 5: Design and Analysis of Algorithms I Spring 06 Lecture : Contraction Algorithm Lecturer: Shayan Oveis Gharan March 8th Scribe: Mohammad Javad Hosseini Disclaimer: These notes have not been subjected

More information

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS P. T. Sokkalingam Department of Mathematics Indian Institute of Technology, Kanpur-208 016, INDIA Ravindra K. Ahuja Dept. of Industrial & Management

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

7.4 DO (uniqueness of minimum-cost spanning tree) Prove: if all edge weights are distinct then the minimum-cost spanning tree is unique.

7.4 DO (uniqueness of minimum-cost spanning tree) Prove: if all edge weights are distinct then the minimum-cost spanning tree is unique. Algorithms CMSC-700 http://alg1.cs.uchicago.edu Homework set #7. Posted -19. Due Wednesday, February, 01 The following problems were updated on -0: 7.1(a), 7.1(b), 7.9(b) Read the homework instructions

More information

Analysis of Algorithms. Outline 1 Introduction Basic Definitions Ordered Trees. Fibonacci Heaps. Andres Mendez-Vazquez. October 29, Notes.

Analysis of Algorithms. Outline 1 Introduction Basic Definitions Ordered Trees. Fibonacci Heaps. Andres Mendez-Vazquez. October 29, Notes. Analysis of Algorithms Fibonacci Heaps Andres Mendez-Vazquez October 29, 2015 1 / 119 Outline 1 Introduction Basic Definitions Ordered Trees 2 Binomial Trees Example 3 Fibonacci Heap Operations Fibonacci

More information

Graphs with few total dominating sets

Graphs with few total dominating sets Graphs with few total dominating sets Marcin Krzywkowski marcin.krzywkowski@gmail.com Stephan Wagner swagner@sun.ac.za Abstract We give a lower bound for the number of total dominating sets of a graph

More information

Standard Diraphs the (unique) digraph with no vertices or edges. (modulo n) for every 1 i n A digraph whose underlying graph is a complete graph.

Standard Diraphs the (unique) digraph with no vertices or edges. (modulo n) for every 1 i n A digraph whose underlying graph is a complete graph. 5 Directed Graphs What is a directed graph? Directed Graph: A directed graph, or digraph, D, consists of a set of vertices V (D), a set of edges E(D), and a function which assigns each edge e an ordered

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

arxiv: v1 [cs.ds] 20 Nov 2016

arxiv: v1 [cs.ds] 20 Nov 2016 Algorithmic and Hardness Results for the Hub Labeling Problem Haris Angelidakis 1, Yury Makarychev 1 and Vsevolod Oparin 2 1 Toyota Technological Institute at Chicago 2 Saint Petersburg Academic University

More information

4. How to prove a problem is NPC

4. How to prove a problem is NPC The reducibility relation T is transitive, i.e, A T B and B T C imply A T C Therefore, to prove that a problem A is NPC: (1) show that A NP (2) choose some known NPC problem B define a polynomial transformation

More information

Myriad of applications

Myriad of applications Shortet Path Myriad of application Finding hortet ditance between location (Google map, etc.) Internet router protocol: OSPF (Open Shortet Path Firt) i ued to find the hortet path to interchange package

More information

The Capacity of a Network

The Capacity of a Network The Capacity of a Network April Rasala Lehman MIT Collaborators: Nick Harvey and Robert Kleinberg MIT What is the Capacity of a Network? Source a Source b c d e Sink f Sink What is the Capacity of a Network?

More information

Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20.

Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20. Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20. Princeton University COS 4 Theory of Algorithms Spring 2002 Kevin Wayne Priority Queues Operation mae-heap insert find- delete- union

More information

8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm

8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm 8 Priority Queues 8 Priority Queues A Priority Queue S is a dynamic set data structure that supports the following operations: S. build(x 1,..., x n ): Creates a data-structure that contains just the elements

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

Minimization of Symmetric Submodular Functions under Hereditary Constraints

Minimization of Symmetric Submodular Functions under Hereditary Constraints Minimization of Symmetric Submodular Functions under Hereditary Constraints J.A. Soto (joint work with M. Goemans) DIM, Univ. de Chile April 4th, 2012 1 of 21 Outline Background Minimal Minimizers and

More information

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

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

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

Exact and Approximate Equilibria for Optimal Group Network Formation

Exact and Approximate Equilibria for Optimal Group Network Formation Exact and Approximate Equilibria for Optimal Group Network Formation Elliot Anshelevich and Bugra Caskurlu Computer Science Department, RPI, 110 8th Street, Troy, NY 12180 {eanshel,caskub}@cs.rpi.edu Abstract.

More information

The Steiner Network Problem

The Steiner Network Problem The Steiner Network Problem Pekka Orponen T-79.7001 Postgraduate Course on Theoretical Computer Science 7.4.2008 Outline 1. The Steiner Network Problem Linear programming formulation LP relaxation 2. The

More information

Notes on MapReduce Algorithms

Notes on MapReduce Algorithms Notes on MapReduce Algorithms Barna Saha 1 Finding Minimum Spanning Tree of a Dense Graph in MapReduce We are given a graph G = (V, E) on V = N vertices and E = m N 1+c edges for some constant c > 0. Our

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

A note on network reliability

A note on network reliability A note on network reliability Noga Alon Institute for Advanced Study, Princeton, NJ 08540 and Department of Mathematics Tel Aviv University, Tel Aviv, Israel Let G = (V, E) be a loopless undirected multigraph,

More information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 4

CS 410/584, Algorithm Design & Analysis, Lecture Notes 4 CS 0/58,, Biconnectivity Let G = (N,E) be a connected A node a N is an articulation point if there are v and w different from a such that every path from 0 9 8 3 5 7 6 David Maier Biconnected Component

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

CSCE 750 Final Exam Answer Key Wednesday December 7, 2005

CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 Do all problems. Put your answers on blank paper or in a test booklet. There are 00 points total in the exam. You have 80 minutes. Please note

More information

Steiner Forest Orientation Problems

Steiner Forest Orientation Problems Steiner Forest Orientation Problems Marek Cygan Guy Kortsarz Zeev Nutov November 20, 2011 Abstract We consider connectivity problems with orientation constraints. Given a directed graph D and a collection

More information

The min cost flow problem Course notes for Optimization Spring 2007

The min cost flow problem Course notes for Optimization Spring 2007 The min cost flow problem Course notes for Optimization Spring 2007 Peter Bro Miltersen February 7, 2007 Version 3.0 1 Definition of the min cost flow problem We shall consider a generalization of the

More information

The Reduction of Graph Families Closed under Contraction

The Reduction of Graph Families Closed under Contraction The Reduction of Graph Families Closed under Contraction Paul A. Catlin, Department of Mathematics Wayne State University, Detroit MI 48202 November 24, 2004 Abstract Let S be a family of graphs. Suppose

More information

Lecture 21 November 11, 2014

Lecture 21 November 11, 2014 CS 224: Advanced Algorithms Fall 2-14 Prof. Jelani Nelson Lecture 21 November 11, 2014 Scribe: Nithin Tumma 1 Overview In the previous lecture we finished covering the multiplicative weights method and

More information

Introduction to Algorithms

Introduction to Algorithms Introduction to Algorithms 6.046J/18.401J LECTURE 14 Shortest Paths I Properties of shortest paths Dijkstra s algorithm Correctness Analysis Breadth-first search Prof. Charles E. Leiserson Paths in graphs

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

Approximation Algorithms for Re-optimization

Approximation Algorithms for Re-optimization Approximation Algorithms for Re-optimization DRAFT PLEASE DO NOT CITE Dean Alderucci Table of Contents 1.Introduction... 2 2.Overview of the Current State of Re-Optimization Research... 3 2.1.General Results

More information

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge

More information

Introduction to Algorithms

Introduction to Algorithms Introduction to Algorithms, Lecture 5 // Introduction to Algorithms 6.46J/.4J LECTURE Shortest Paths I Properties o shortest paths Dijkstra s Correctness Analysis Breadth-irst Pro. Manolis Kellis March,

More information

Introduction to Algorithms

Introduction to Algorithms Introduction to Algorithms 6.046J/8.40J/SMA550 Lecture 7 Prof. Erik Demaine Paths in graphs Consider a digraph G = (V, E) with edge-weight function w : E R. The weight of path p = v v L v k is defined

More information

Lecture notes on the ellipsoid algorithm

Lecture notes on the ellipsoid algorithm Massachusetts Institute of Technology Handout 1 18.433: Combinatorial Optimization May 14th, 007 Michel X. Goemans Lecture notes on the ellipsoid algorithm The simplex algorithm was the first algorithm

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

Exact and Approximate Equilibria for Optimal Group Network Formation

Exact and Approximate Equilibria for Optimal Group Network Formation Noname manuscript No. will be inserted by the editor) Exact and Approximate Equilibria for Optimal Group Network Formation Elliot Anshelevich Bugra Caskurlu Received: December 2009 / Accepted: Abstract

More information