MA015: Graph Algorithms
|
|
- Dominick Casey
- 6 years ago
- Views:
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 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 informationDiscrete 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 informationDiscrete 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 informationdirected 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 informationCMPS 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 informationExact 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 informationOn 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 informationCutting 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 informationPart 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 information4 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 informationAlgorithms: 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 informationTrees. 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 informationTwo 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 informationBreadth-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 informationIncremental 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 informationChapter 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 informationCMPS 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 informationAnalysis 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 informationDijkstra 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 informationThe 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 informationSingle 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 informationShortest 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 informationCMPSCI 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 informationPreliminaries. 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 informationDesign 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 informationMinimum 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 informationSingle 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 information25. 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 information25. 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 informationAn 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 informationMinmax 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 informationCS675: 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 informationFlow 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 informationCS 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 informationThe 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 informationRecall: 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 informationDiscrete 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 informationFRACTIONAL 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 informationMaximum 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 information2 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 informationLP 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 information6.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 informationObservation 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 informationRandomized 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 informationList 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 informationObservation 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 informationRing 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 informationMinimum 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 information1 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 informationBranch-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 information6.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 informationAlgorithms 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 informationFINAL 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 information1 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 informationTight 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 informationRunning 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 information1 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 information22 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
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 informationGraphs & 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 informationDynamic 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 informationLecture 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 informationINVERSE 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 informationMathematics 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 information7.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 informationAnalysis 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 informationGraphs 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 informationStandard 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 informationDiscrete 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 informationarxiv: 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 information4. 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 informationMyriad 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 informationThe 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 informationFibonacci 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 information8 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 informationMaximum 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 informationMinimization 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 informationCS675: 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 information3.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 informationExact 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 informationThe 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 informationNotes 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 information5 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 informationA 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 informationCS 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 informationPacking 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 informationCSCE 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 informationSteiner 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 informationThe 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 informationThe 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 informationLecture 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 informationIntroduction 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 informationChapter 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 informationApproximation 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 informationACO 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 informationIntroduction 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 informationIntroduction 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 informationLecture 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 informationMaximum 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 informationExact 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