Discrete Optimization Lecture 5. M. Pawan Kumar

Size: px
Start display at page:

Download "Discrete Optimization Lecture 5. M. Pawan Kumar"

Transcription

1 Discrete Optimization Lecture 5 M. Pawan Kumar pawan.kumar@ecp.fr

2 Exam Question Type 1 v 1 s v v 4 Q. Find the distance of the shortest path from s=v 0 to all vertices in the graph using Dijkstra s method. Show the estimate of the distance at each iteration Iteration = 1 5 v 2 v v 5 v 6 v 0 v 1 v 2 v 3 v 4 v 5 v 6 v 7 0 Iteration = v 7 Iteration =

3 Exam Question Type 2 Q. Provide the code for the following function that implements the Floyd-Warshall algorithm in O(n 3 ) time. void floyd_warshall(int n, double **A, double **D); n = number of vertices in the graph A = nxn array to store the input, A[i][j] = length of arc (i,j), 0 i < n, 0 j < n D = nxn array to store the output Use the following assumptions. (1) The graph has no negative length directed circuit. (2) If (i,j) is not an arc, A[i][j] = infinity (3) double **allocate_memory(int n, int m) returns an nxm array (4) free_memory(double **D, int n, int m) frees an nxm array (5)

4 void floyd_warshall(int n, double **A, double **D) { double **D_prev = allocate_memory(n,n); int i, j, k; for(i=0;i<n;i++) { for(j=0;j<n;j++) { D[i][j] = A[i][j]; } } for(k=0;k<n;k++) { for(i=0;i<n;i++) { for(j=0;j<n;j++) { D_prev[i][j] = D[i][j]; } } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(d_prev[i][k] + D_prev[k][j] < D[i][j]) { D[i][j] = D_prev[i][k] + D_prev[k][j]; } } } } free_memory(d_prev,n,n);

5 Exam Question Type 3 Q. Prove that Dijkstra s algorithm is correct when the length of the arcs is non-negative. Let l(a,b) be the length of the arc from vertex a to vertex b. Let d(a) be the current estimate of the distance from the source vertex s to the vertex a. Let dist(a) be the distance of the shortest path from the source vertex s to the vertex a. By definition, d(a) dist(a). We initialize U = V, where V is the set of all vertices. At each iteration, we choose u = argmin a U d(a). We set U = U {u}, and d(v) = min{d(v),d(u)+l(u,v)} We will show that d(u) = dist(u). At the first iteration, u = s and d(u) = 0. Since all arc lengths are non-negative, it follows that d(s) = dist(s) = 0. At iteration t, let us assume that d(u) > dist(u). There exists a shortest path s, v 1,v 2, v k, u from s to u. Let i be the smallest index such that i U. d(v i ) d(v i-1 ) + l(v i-1,v i ) = dist(v i-1 )+l(v i-1,v i ) = dist(v i ) Therefore, d(v i ) = dist(v i ), which implies that d(v i ) < d(u). This implies that u cannot be chosen at the current iteration. Hence, by contradiction d(u) = dist(u).

6 Interactive Image Segmentation Minimum-Cut Outline From MAP Estimation to Minimum-Cut Solving Minimum-Cut

7 Image Segmentation How? Pose the problem as MAP estimation.

8 Random Variables v 1 v 2 v 3 v n Each random variable v a corresponds to a pixel Set of all variables = V = {v 1,v 2,,v n }

9 Edges v 1 v 2 v 3 v n Edge (v a,v b ) connects two neighboring pixels. Neighbors: top, down, left and right Set of all edges = E

10 Labels v 1 v 2 v 3 v n Label set L = {l 0,l 1 } Label l 0 corresponds to object Label l 1 corresponds to background

11 Labeling v 1 v 2 v 3 v n Labeling f: V è L We say v a is assigned a label l f(a) Number of possible labelings? 2 n

12 Unary Potentials θ a;1 θ a;0 v a Create a histogram of RGB values H 0 (R,G,B) = number of pixels with color = (R,G,B) number of pixels

13 Unary Potentials θ a;1 θ a;0 v a θ a;0 = -log H 0 (R(a),G(a),B(a)) H 0 (R,G,B) = number of pixels with color = (R,G,B) number of pixels

14 Unary Potentials θ a;1 θ a;0 v a θ a;0 will be low/high?

15 Unary Potentials θ a;1 θ a;0 v a θ a;0 will be low/high?

16 Unary Potentials θ a;1 θ a;0 v a Create a histogram of RGB values H 1 (R,G,B) = number of pixels with color = (R,G,B) number of pixels

17 Unary Potentials θ a;1 θ a;0 v a θ a;1 = -log H 1 (R(a),G(a),B(a)) H 0 (R,G,B) = number of pixels with color = (R,G,B) number of pixels

18 Unary Potentials θ a;1 θ a;0 v a θ a;1 will be low/high?

19 Unary Potentials θ a;1 θ a;0 v a θ a;1 will be low/high?

20 Pairwise Potentials θ ab;11 θ ab;01 θ ab;10 θ ab;00 v a v b Neighboring pixels tend to have the same label.

21 Pairwise Potentials 0 θ ab;01 θ ab;10 0 v a v b Neighboring pixels tend to have the same label.

22 Pairwise Potentials 0 θ ab;01 θ ab;10 0 v a v b Similar color tends to imply same label. D(a,b) = difference in RGB values of a and b θ ab;01 = θ ab;10 = exp(-d(a,b)).

23 Pairwise Potentials 0 θ ab;01 θ ab;10 0 v a v b θ ab;01 and θ ab;10 will be low/high?

24 Pairwise Potentials 0 θ ab;01 θ ab;10 0 v a v b θ ab;01 and θ ab;10 will be low/high?

25 Energy Function v 1 v 2 v 3 v n Labeling f: V è L We say v a is assigned a label l f(a) Q(f) = Σ a V θ a;f(a) + Σ (a,b) E θ ab;f(a)f(b)

26 MAP Estimation v 1 v 2 v 3 v n Labeling f: V è L We say v a is assigned a label l f(a) min f Q(f) = Σ a V θ a;f(a) + Σ (a,b) E θ ab;f(a)f(b)

27 Outline Interactive Image Segmentation Minimum-Cut (A Special Case) From MAP Estimation to Minimum-Cut Solving Minimum-Cut

28 Directed Graph D = (V, A) 10 v 1 v v 3 v 4 5 Two important restrictions (1) Rational arc lengths (2) Positive arc lengths

29 Cut D = (V, A) 10 v 1 v v 3 v 4 5 Let V 1 and V 2 such that V 1 union V 2 = V V 1 intersection V 2 = Φ C is a set of arcs such that (u,v) A u V 1 v V 2 C is a cut in the digraph D

30 Cut D = (V, A) V 1 10 v 1 v v 3 v 4 5 What is C? {(v 1,v 2 ),(v 1,v 4 )}? {(v 1,v 4 ),(v 3,v 2 )}? {(v 1,v 4 )}? V 2

31 Cut V 2 V 1 10 v 1 v v 3 v 4 5 D = (V, A) What is C? {(v 1,v 2 ),(v 1,v 4 ),(v 3,v 2 )}? {(v 4,v 3 )}? {(v 1,v 4 ),(v 3,v 2 )}?

32 Cut V 1 V 2 10 v 1 v v 3 v 4 5 D = (V, A) What is C? {(v 1,v 2 ),(v 1,v 4 ),(v 3,v 2 )}? {(v 3,v 2 )}? {(v 1,v 4 ),(v 3,v 2 )}?

33 Cut D = (V, A) 10 v 1 v v 3 v 4 5 Let V 1 and V 2 such that V 1 union V 2 = V V 1 intersection V 2 = Φ C is a set of arcs such that (u,v) A u V 1 v V 2 C is a cut in the digraph D

34 Weight of a Cut D = (V, A) 10 v 1 v Sum of length of all arcs in C v 3 v 4 5

35 Weight of a Cut D = (V, A) 10 v 1 v w(c) = Σ (u,v) C l(u,v) v 3 v 4 5

36 Weight of a Cut D = (V, A) V 1 10 v 1 v What is w(c)? 3 v 3 v 4 5 V 2

37 Weight of a Cut V 2 V 1 10 v 1 v D = (V, A) What is w(c)? 5 v 3 v 4 5

38 Weight of a Cut V 1 V 2 10 v 1 v D = (V, A) What is w(c)? 15 v 3 v 4 5

39 st-cut s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) A source vertex s A sink vertex t C is a cut such that s V 1 t V 2 C is an st-cut

40 Weight of an st-cut s 1 2 D = (V, A) 10 v 1 v w(c) = Σ (u,v) C l(u,v) v 3 5 v 4 7 t 3

41 Weight of an st-cut s 1 2 v 1 10 v D = (V, A) What is w(c)? 3 v 3 5 v 4 7 t 3

42 Weight of an st-cut s 1 2 v 1 10 v D = (V, A) What is w(c)? 15 v 3 5 v 4 7 t 3

43 Minimum Cut Problem s 1 2 v 1 10 v D = (V, A) Find a cut with the minimum weight!! C* = argmin C w(c) v 3 5 v 4 7 t 3

44 Solvers for the Minimum-Cut Problem Augmenting Path and Push-Relabel n: #nodes m: #edges U: maximum arc length [Slide credit: Andrew Goldberg]

45 Remember Two important restrictions (1) Rational arc lengths (2) Positive arc lengths

46 Cut D = (V, A) 10 v 1 v v 3 v 4 5 Let V 1 and V 2 such that V 1 union V 2 = V V 1 intersection V 2 = Φ C is a set of arcs such that (u,v) A u V 1 v V 2 C is a cut in the digraph D

47 st-cut s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) A source vertex s A sink vertex t C is a cut such that s V 1 t V 2 C is an st-cut

48 Minimum Cut Problem s 1 2 v 1 10 v D = (V, A) Find a cut with the minimum weight!! C* = argmin C w(c) v 3 v 4 5 w(c) = Σ (u,v) C l(u,v) 7 t 3

49 Interactive Image Segmentation Minimum-Cut Outline From MAP Estimation to Minimum-Cut Solving Minimum-Cut

50 Overview Energy Q One vertex per random variable + Additional vertices s and t Digraph D Compute Minimum Cut Labeling f* v a V 1 implies f(a) = 0 v a V 2 implies f(a) = 1 V = V 1 U V 2

51 Outline Interactive Image Segmentation Minimum-Cut From MAP Estimation to Minimum-Cut Unary Potentials Pairwise Potentials Solving Minimum-Cut

52 Digraph for Unary Potentials P f(a) = 0 θ a;1 Q f(a) = 1 θ a;0 v a

53 Digraph for Unary Potentials P Q f(a) = 0 f(a) = 1 s v a t

54 Digraph for Unary Potentials P f(a) = 0 s Let P Q Q f(a) = 1 Constant v a P-Q P-Q 0 + Q Q t

55 Digraph for Unary Potentials P f(a) = 0 s Let P Q Q f(a) = 1 f(a) = 1 Constant v a P-Q w(c) = 0 P-Q 0 + Q Q t

56 Digraph for Unary Potentials P f(a) = 0 s Let P Q Q f(a) = 1 f(a) = 0 Constant v a P-Q w(c) = P-Q P-Q 0 + Q Q t

57 Digraph for Unary Potentials P f(a) = 0 s Let P < Q Q f(a) = 1 Q-P Constant v a 0 Q-P + P P t

58 Digraph for Unary Potentials P f(a) = 0 s Let P < Q Q f(a) = 1 Q-P f(a) = 1 Constant v a w(c) = Q-P 0 Q-P + P P t

59 Digraph for Unary Potentials P f(a) = 0 s Let P < Q Q f(a) = 1 Q-P f(a) = 0 Constant v a w(c) = 0 0 Q-P + P P t

60 Outline Interactive Image Segmentation Minimum-Cut From MAP Estimation to Minimum-Cut Unary Potentials Pairwise Potentials Solving Minimum-Cut

61 Digraph for Pairwise Potentials f(b) = 0 f(a) = 0 f(a) = 1 P R θ ab;11 f(b) = 1 Q S θ ab;01 θ ab;10 θ ab;00 v a v b P P P P S-Q Q-P Q-P 0 S-Q 0 R+Q-S-P 0 0

62 Digraph for Pairwise Potentials f(b) = 0 f(b) = 1 f(a) = 0 f(a) = 1 P R Q S s Constant v a v b P P P P t S-Q Q-P Q-P 0 S-Q 0 R+Q-S-P 0 0

63 Digraph for Pairwise Potentials f(b) = 0 f(b) = 1 f(a) = 0 f(a) = 1 P R Q S s Q-P v a v b Unary Potential f(b) = 1 t 0 0 Q-P Q-P 0 S-Q S-Q 0 R+Q-S-P 0 0

64 Digraph for Pairwise Potentials f(b) = 0 f(b) = 1 f(a) = 0 f(a) = 1 P R Q S S-Q s Q-P v a v b t Unary Potential f(a) = 1 0 S-Q 0 S-Q + 0 R+Q-S-P 0 0

65 Digraph for Pairwise Potentials f(b) = 0 f(b) = 1 f(a) = 0 f(a) = 1 P R Q S S-Q s Q-P v a R+Q-S-P v b t Pairwise Potential f(a) = 1, f(b) = 0 0 R+Q-S-P 0 0

66 Digraph for Pairwise Potentials f(b) = 0 f(b) = 1 f(a) = 0 f(a) = 1 P R Q S S-Q s Q-P v a R+Q-S-P v b t R+Q-S-P 0 General 2-label MAP estimation is NP-hard

67 Outline Interactive Image Segmentation Minimum-Cut From MAP Estimation to Minimum-Cut Solving Minimum-Cut st-flow, Maximum-Flow Computing the maximum-flow

68 st-flow s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) Function flow: A è R Flow is less than length Flow is non-negative For all vertex expect s,t Incoming flow = Outgoing flow

69 st-flow s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) Function flow: A è R flow(u,v) l(u,v) Flow is non-negative For all vertex expect s,t Incoming flow = Outgoing flow

70 st-flow s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) Function flow: A è R flow(u,v) l(u,v) flow(u,v) 0 For all vertex expect s,t Incoming flow = Outgoing flow

71 st-flow s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) Function flow: A è R flow(u,v) l(u,v) flow(u,v) 0 For all a V \ {s,t} Incoming flow = Outgoing flow

72 st-flow s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) Function flow: A è R flow(u,v) l(u,v) flow(u,v) 0 For all a V \ {s,t} Σ (u,a) A flow(u,a) = Outgoing flow

73 st-flow s 1 2 v 1 10 v v 3 5 v 4 7 t 3 D = (V, A) Function flow: A è R flow(u,v) l(u,v) flow(u,v) 0 For all a V \ {s,t} Σ (u,a) A flow(u,a) = Σ (a,v) A flow(a,v)

74 Weight of an st-flow s 1 2 v 1 10 v D = (V, A) Function flow: A è R Outgoing flow of s - Incoming flow of s v 3 5 v 4 7 t 3

75 Weight of an st-flow s 1 2 v 1 10 v D = (V, A) Function flow: A è R Σ (s,v) A flow(s,v) - Σ (u,s) A flow(u,s) v 3 v 4 5 = 0 7 t 3

76 Weight of an st-flow s 1 2 v 1 10 v 2 D = (V, A) Function flow: A è R Σ (s,v) A flow(s,v) 3 2 v 3 5 v 4 7 t 3

77 Weight of an st-flow s 1 2 v 1 10 v D = (V, A) Function flow: A è R Σ (s,v) A flow(s,v) = Incoming flow of t v 3 5 v 4 7 t 3

78 Weight of an st-flow s 1 2 v 1 10 v D = (V, A) Function flow: A è R Σ (s,v) A flow(s,v) = Σ (u,t) A flow(u,t) v 3 5 v 4 7 t 3

79 Max-Flow Problem s 1 2 v 1 10 v 2 D = (V, A) Function flow: A è R Find the maximum flow!! 3 2 v 3 5 v 4 7 t 3

80 Min-Cut Max-Flow Theorem s 1 2 v 1 10 v v 3 5 v 4 D = (V, A) Function flow: A è R Weight of minimum-cut = Weight of maximum-flow 7 t 3

81 Outline Interactive Image Segmentation Minimum-Cut From MAP Estimation to Minimum-Cut Solving Minimum-Cut st-flow, Maximum-Flow Computing the maximum-flow Slides by Pushmeet Kohli

82 Maxflow Algorithms Source v 1 v 2 5 Flow = Sink 4 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

83 Maxflow Algorithms Source v 1 v 2 5 Flow = Sink 4 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

84 Maxflow Algorithms Source v 1 v Flow = Sink 4 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

85 Maxflow Algorithms Source v 1 v 2 3 Flow = 2 2 Sink 4 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

86 Maxflow Algorithms Source v 1 v 2 3 Flow = 2 2 Sink 4 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

87 Maxflow Algorithms Source v 1 v 2 3 Flow = 2 2 Sink 4 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

88 Maxflow Algorithms Source v 1 v 2 3 Flow = Sink 0 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

89 Maxflow Algorithms Source v 1 v 2 3 Flow = 6 2 Sink 0 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

90 Maxflow Algorithms Source v 1 v 2 3 Flow = 6 2 Sink 0 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

91 Maxflow Algorithms Source v 1 v 2 2 Flow = Sink 0 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

92 Maxflow Algorithms Source v 1 v 2 2 Flow = 7 3 Sink 0 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

93 Maxflow Algorithms Source v 1 v 2 2 Flow = 7 3 Sink 0 Augmenting Path Based Algorithms 1. Find path from source to sink with positive capacity 2. Push maximum possible flow through this path 3. Repeat until no path can be found Algorithms assume non-negative capacity

94 History of Maxflow Algorithms Augmenting Path and Push-Relabel n: #nodes m: #edges U: maximum arc length Algorithms assume nonnegative arc lengths [Slide credit: Andrew Goldberg]

95 History of Maxflow Algorithms Augmenting Path and Push-Relabel n: #nodes m: #edges U: maximum arc length Algorithms assume nonnegative arc lengths [Slide credit: Andrew Goldberg]

96 Augmenting Path based Algorithms Ford Fulkerson: Choose any augmenting path Source a 1 a Sink

97 Augmenting Path based Algorithms Ford Fulkerson: Choose any augmenting path Source a 1 a Sink Bad Augmenting Paths

98 Augmenting Path based Algorithms Ford Fulkerson: Choose any augmenting path Source a 1 a Sink Bad Augmenting Path

99 Augmenting Path based Algorithms Ford Fulkerson: Choose any augmenting path Source a 1 a Sink

100 Augmenting Path based Algorithms Ford Fulkerson: Choose any augmenting path n: #nodes m: #edges Source a 1 a Sink We will have to perform 2000 augmentations! Worst case complexity: O (m x Total_Flow) (Pseudo-polynomial bound: depends on flow)

101 Augmenting Path based Algorithms Dinic: Choose shortest augmenting path n: #nodes m: #edges Source a 1 a Sink Worst case Complexity: O (m n 2 )

102 Maxflow in Computer Vision Specialized algorithms for vision problems Grid graphs Low connectivity (m ~ O(n)) Dual search tree augmenting path algorithm [Boykov and Kolmogorov PAMI 2004] Finds approximate shortest augmenting paths efficiently High worst-case time complexity Empirically outperforms other algorithms on vision problems

103 Maxflow in Computer Vision Specialized algorithms for vision problems Grid graphs Low connectivity (m ~ O(n)) Dual search tree augmenting path algorithm [Boykov and Kolmogorov PAMI 2004] Finds approximate shortest augmenting paths efficiently High worst-case time complexity Empirically outperforms other algorithms on vision problems Efficient code available on the web

Energy minimization via graph-cuts

Energy minimization via graph-cuts Energy minimization via graph-cuts Nikos Komodakis Ecole des Ponts ParisTech, LIGM Traitement de l information et vision artificielle Binary energy minimization We will first consider binary MRFs: Graph

More information

MAP Estimation Algorithms in Computer Vision - Part II

MAP Estimation Algorithms in Computer Vision - Part II MAP Estimation Algorithms in Comuter Vision - Part II M. Pawan Kumar, University of Oford Pushmeet Kohli, Microsoft Research Eamle: Image Segmentation E() = c i i + c ij i (1- j ) i i,j E: {0,1} n R 0

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

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 Inference and Learning Lecture 3

Discrete Inference and Learning Lecture 3 Discrete Inference and Learning Lecture 3 MVA 2017 2018 h

More information

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

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

More information

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27 Maximum Flow Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Maximum Flow 1 / 27 Flow Networks A flow network is a weighted digraph G = (V, E), where the

More information

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

Graphs and Network Flows IE411. Lecture 15. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 15 Dr. Ted Ralphs IE411 Lecture 15 1 Preflow-Push Algorithms First developed by A. V. Goldberg in 1985. Best preflow-push algorithms outperform best augmenting path

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

1 Review for Lecture 2 MaxFlow

1 Review for Lecture 2 MaxFlow Comp 260: Advanced Algorithms Tufts University, Spring 2009 Prof. Lenore Cowen Scribe: Wanyu Wang Lecture 13: Back to MaxFlow/Edmonds-Karp 1 Review for Lecture 2 MaxFlow A flow network showing flow and

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

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

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Dynamic Programming: Shortest Paths and DFA to Reg Exps CS 374: Algorithms & Models of Computation, Fall 205 Dynamic Programming: Shortest Paths and DFA to Reg Exps Lecture 7 October 22, 205 Chandra & Manoj (UIUC) CS374 Fall 205 / 54 Part I Shortest Paths with

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

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Dynamic Programming: Shortest Paths and DFA to Reg Exps CS 374: Algorithms & Models of Computation, Spring 207 Dynamic Programming: Shortest Paths and DFA to Reg Exps Lecture 8 March 28, 207 Chandra Chekuri (UIUC) CS374 Spring 207 / 56 Part I Shortest Paths

More information

An example of LP problem: Political Elections

An example of LP problem: Political Elections Linear Programming An example of LP problem: Political Elections Suppose that you are a politician trying to win an election. Your district has three different types of areas: urban, suburban, and rural.

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

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

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

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

Graph Algorithms -2: Flow Networks. N. H. N. D. de Silva Dept. of Computer Science & Eng University of Moratuwa

Graph Algorithms -2: Flow Networks. N. H. N. D. de Silva Dept. of Computer Science & Eng University of Moratuwa CS4460 Advanced d Algorithms Batch 08, L4S2 Lecture 9 Graph Algorithms -2: Flow Networks Dept. of Computer Science & Eng University of Moratuwa Announcement Assignment 2 is due on 18 th of November Worth

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

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

ORIE 633 Network Flows October 4, Lecture 10

ORIE 633 Network Flows October 4, Lecture 10 ORIE 633 Network Flows October 4, 2007 Lecturer: David P. Williamson Lecture 10 Scribe: Kathleen King 1 Efficient algorithms for max flows 1.1 The Goldberg-Rao algorithm Recall from last time: Dinic s

More information

Internet Routing Example

Internet Routing Example Internet Routing Example Acme Routing Company wants to route traffic over the internet from San Fransisco to New York. It owns some wires that go between San Francisco, Houston, Chicago and New York. The

More information

Midterm Exam 2 Solutions

Midterm Exam 2 Solutions Algorithm Design and Analysis November 12, 2010 Pennsylvania State University CSE 565, Fall 2010 Professor Adam Smith Exam 2 Solutions Problem 1 (Miscellaneous). Midterm Exam 2 Solutions (a) Your friend

More information

Energy Minimization via Graph Cuts

Energy Minimization via Graph Cuts Energy Minimization via Graph Cuts Xiaowei Zhou, June 11, 2010, Journal Club Presentation 1 outline Introduction MAP formulation for vision problems Min-cut and Max-flow Problem Energy Minimization via

More information

The max flow problem. Ford-Fulkerson method. A cut. Lemma Corollary Max Flow Min Cut Theorem. Max Flow Min Cut Theorem

The max flow problem. Ford-Fulkerson method. A cut. Lemma Corollary Max Flow Min Cut Theorem. Max Flow Min Cut Theorem The max flow problem Ford-Fulkerson method 7 11 Ford-Fulkerson(G) f = 0 while( simple path p from s to t in G f ) 10-2 2 1 f := f + f p output f 4 9 1 2 A cut Lemma 26. + Corollary 26.6 Let f be a flow

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

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

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

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

More information

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

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 22 All-Pairs Shortest Paths Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 All Pairs

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

Chapter 9: Relations Relations

Chapter 9: Relations Relations Chapter 9: Relations 9.1 - Relations Definition 1 (Relation). Let A and B be sets. A binary relation from A to B is a subset R A B, i.e., R is a set of ordered pairs where the first element from each pair

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E

More information

Parallel Graph Algorithms (con4nued)

Parallel Graph Algorithms (con4nued) Parallel Graph Algorithms (con4nued) MaxFlow A flow network G=(V,E): a directed graph, where each edge (u,v) E has a nonnega4ve capacity c(u,v)>=0. If (u,v) E, we assume that c(u,v)=0. Two dis4nct ver4ces

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

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

More information

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

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

Parallel Graph Algorithms (con4nued)

Parallel Graph Algorithms (con4nued) Parallel Graph Algorithms (con4nued) MaxFlow A flow network G=(V,E): a directed graph, where each edge (u,v) E has a nonnega4ve capacity c(u,v)>=0. If (u,v) E, we assume that c(u,v)=0. Two dis4nct ver4ces

More information

Lecture 11. Single-Source Shortest Paths All-Pairs Shortest Paths

Lecture 11. Single-Source Shortest Paths All-Pairs Shortest Paths Lecture. Single-Source Shortest Paths All-Pairs Shortest Paths T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to, rd Edition, MIT Press, 009 Sungkyunkwan University Hyunseung Choo choo@skku.edu

More information

Basics on the Graphcut Algorithm. Application for the Computation of the Mode of the Ising Model

Basics on the Graphcut Algorithm. Application for the Computation of the Mode of the Ising Model Basics on the Graphcut Algorithm. Application for the Computation of the Mode of the Ising Model Bruno Galerne bruno.galerne@parisdescartes.fr MAP5, Université Paris Descartes Master MVA Cours Méthodes

More information

IS 2610: Data Structures

IS 2610: Data Structures IS 2610: Data Structures Graph April 12, 2004 Graph Weighted graph call it networks Shortest path between nodes s and t in a network Directed simple path from s to t with the property that no other such

More information

CSC 373: Algorithm Design and Analysis Lecture 12

CSC 373: Algorithm Design and Analysis Lecture 12 CSC 373: Algorithm Design and Analysis Lecture 12 Allan Borodin February 4, 2013 1 / 16 Lecture 12: Announcements and Outline Announcements Term test 1 in tutorials. Need to use only two rooms due to sickness

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

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

Steps towards Decentralized Deterministic Network Coding

Steps towards Decentralized Deterministic Network Coding Steps towards Decentralized Deterministic Network Coding BY Oana Graur o.graur@jacobs-university.de Ph.D. Proposal in Electrical Engineering Ph.D Proposal Committee: Prof. Dr.-Ing. Werner Henkel, Dr. Mathias

More information

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015 COMPSCI 532: Design and Analysis of Algorithms August 26, 205 Lecture Lecturer: Debmalya Panigrahi Scribe: Allen Xiao Oeriew In this lecture, we will define the maximum flow problem and discuss two algorithms

More information

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

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

More information

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

Pushmeet Kohli. Microsoft Research Cambridge. IbPRIA 2011

Pushmeet Kohli. Microsoft Research Cambridge. IbPRIA 2011 Pushmeet Kohli Microsoft Research Cambridge IbPRIA 2011 2:30 4:30 Labelling Problems Graphical Models Message Passing 4:30 5:00 - Coffee break 5:00 7:00 - Graph Cuts Move Making Algorithms Speed and Efficiency

More information

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas Flow Networks Network Flows 2 Types of Networks Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas 3 Maximum Flow Problem How can we maximize the flow in a network from a source or

More information

Lecture 2: Network Flows 1

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

More information

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

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

More information

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

Flows. Chapter Circulations

Flows. Chapter Circulations Chapter 4 Flows For a directed graph D = (V,A), we define δ + (U) := {(u,v) A : u U,v / U} as the arcs leaving U and δ (U) := {(u,v) A u / U,v U} as the arcs entering U. 4. Circulations In a directed graph

More information

CSC2420: Algorithm Design, Analysis and Theory Fall 2017

CSC2420: Algorithm Design, Analysis and Theory Fall 2017 CSC2420: Algorithm Design, Analysis and Theory Fall 2017 Allan Borodin and Nisarg Shah October 11, 2017 1 / 32 Lecture 5 Announcements: The first assignment is due next week, October 18, at 1:00 PM The

More information

Chapter 7 Network Flow Problems, I

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

More information

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

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

More information

CMPSCI 311: Introduction to Algorithms Second Midterm Exam

CMPSCI 311: Introduction to Algorithms Second Midterm Exam CMPSCI 311: Introduction to Algorithms Second Midterm Exam April 11, 2018. Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more

More information

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if CS787: Advanced Algorithms Lecture 4: Network Flow We devote this lecture to the network flow problem and the max-flow min-cut theorem. A number of other problems can be cast into a maximum flow or minimum

More information

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

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

More information

Lecture 13: Polynomial-Time Algorithms for Min Cost Flows. (Reading: AM&O Chapter 10)

Lecture 13: Polynomial-Time Algorithms for Min Cost Flows. (Reading: AM&O Chapter 10) Lecture 1: Polynomial-Time Algorithms for Min Cost Flows (Reading: AM&O Chapter 1) Polynomial Algorithms for Min Cost Flows Improvements on the two algorithms for min cost flow: Successive Shortest Path

More information

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

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

More information

Joint Optimization of Segmentation and Appearance Models

Joint Optimization of Segmentation and Appearance Models Joint Optimization of Segmentation and Appearance Models David Mandle, Sameep Tandon April 29, 2013 David Mandle, Sameep Tandon (Stanford) April 29, 2013 1 / 19 Overview 1 Recap: Image Segmentation 2 Optimization

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

Chapter 10. Maximum flow

Chapter 10. Maximum flow Chapter 10 Maximum flow An s t flow is defined as a nonnegative real-valued function on the arcs of a digraph satisfying the flow conservation law at each vertex s, t. In this chapter we consider the problem

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

Review Questions, Final Exam

Review Questions, Final Exam Review Questions, Final Exam A few general questions. What does the Representation Theorem say (in linear programming)? In words, the representation theorem says that any feasible point can be written

More information

Part 6: Structured Prediction and Energy Minimization (1/2)

Part 6: Structured Prediction and Energy Minimization (1/2) Part 6: Structured Prediction and Energy Minimization (1/2) Providence, 21st June 2012 Prediction Problem Prediction Problem y = f (x) = argmax y Y g(x, y) g(x, y) = p(y x), factor graphs/mrf/crf, g(x,

More information

The Simplest and Smallest Network on Which the Ford-Fulkerson Maximum Flow Procedure May Fail to Terminate

The Simplest and Smallest Network on Which the Ford-Fulkerson Maximum Flow Procedure May Fail to Terminate Journal of Information Processing Vol.24 No.2 390 394 (Mar. 206) [DOI: 0.297/ipsjjip.24.390] Regular Paper The Simplest and Smallest Network on Which the Ford-Fulkerson Maximum Flow Procedure May Fail

More information

Lecture 7: Shortest Paths in Graphs with Negative Arc Lengths. Reading: AM&O Chapter 5

Lecture 7: Shortest Paths in Graphs with Negative Arc Lengths. Reading: AM&O Chapter 5 Lecture 7: Shortest Paths in Graphs with Negative Arc Lengths Reading: AM&O Chapter Label Correcting Methods Assume the network G is allowed to have negative arc lengths but no directed negativelyweighted

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

Discrete Optimization in Machine Learning. Colorado Reed

Discrete Optimization in Machine Learning. Colorado Reed Discrete Optimization in Machine Learning Colorado Reed [ML-RCC] 31 Jan 2013 1 Acknowledgements Some slides/animations based on: Krause et al. tutorials: http://www.submodularity.org Pushmeet Kohli tutorial:

More information

The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner

The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner FoSP Algorithmen & mathematische Modellierung FoSP Forschungsschwerpunkt Algorithmen und mathematische Modellierung The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard Elisabeth

More information

Mathematical Programs Linear Program (LP)

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

More information

MAS210 Graph Theory Exercises 5 Solutions (1) v 5 (1)

MAS210 Graph Theory Exercises 5 Solutions (1) v 5 (1) MAS210 Graph Theor Exercises 5 Solutions Q1 Consider the following directed network N. x 3 (3) v 1 2 (2) v 2 5 (2) 2(2) 1 (0) 3 (0) 2 (0) 3 (0) 3 2 (2) 2(0) v v 5 1 v 6 The numbers in brackets define an

More information

Reducing graphs for graph cut segmentation

Reducing graphs for graph cut segmentation for graph cut segmentation Nicolas Lermé 1,2, François Malgouyres 1, Lucas Létocart 2 1 LAGA, 2 LIPN Université Paris 13 CANUM 2010, Carcans-Maubuisson, France June 1, 2010 1/42 Nicolas Lermé, François

More information

Semi-Markov/Graph Cuts

Semi-Markov/Graph Cuts Semi-Markov/Graph Cuts Alireza Shafaei University of British Columbia August, 2015 1 / 30 A Quick Review For a general chain-structured UGM we have: n n p(x 1, x 2,..., x n ) φ i (x i ) φ i,i 1 (x i, x

More information

Rounding-based Moves for Semi-Metric Labeling

Rounding-based Moves for Semi-Metric Labeling Rounding-based Moves for Semi-Metric Labeling M. Pawan Kumar, Puneet K. Dokania To cite this version: M. Pawan Kumar, Puneet K. Dokania. Rounding-based Moves for Semi-Metric Labeling. Journal of Machine

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

VIII. NP-completeness

VIII. NP-completeness VIII. NP-completeness 1 / 15 NP-Completeness Overview 1. Introduction 2. P and NP 3. NP-complete (NPC): formal definition 4. How to prove a problem is NPC 5. How to solve a NPC problem: approximate algorithms

More information

Selected partial inverse combinatorial optimization problems with forbidden elements. Elisabeth Gassner

Selected partial inverse combinatorial optimization problems with forbidden elements. Elisabeth Gassner FoSP Algorithmen & mathematische Modellierung FoSP Forschungsschwerpunkt Algorithmen und mathematische Modellierung Selected partial inverse combinatorial optimization problems with forbidden elements

More information

Chemical Reaction Optimization for Max Flow Problem

Chemical Reaction Optimization for Max Flow Problem Chemical Reaction Optimization for Max Flow Problem Reham Barham Department of Computer Science King Abdulla II School for Information and Technology The University of Jordan Amman, Jordan Ahmad Sharieh

More information

University of Washington March 21, 2013 Department of Computer Science and Engineering CSEP 521, Winter Exam Solution, Monday, March 18, 2013

University of Washington March 21, 2013 Department of Computer Science and Engineering CSEP 521, Winter Exam Solution, Monday, March 18, 2013 University of Washington March 21, 2013 Department of Computer Science and Engineering CSEP 521, Winter 2013 Exam Solution, Monday, March 18, 2013 Instructions: NAME: Closed book, closed notes, no calculators

More information

Algorithms. Algorithms 6.4 MAXIMUM FLOW

Algorithms. Algorithms 6.4 MAXIMUM FLOW Algorithms ROBERT SEDGEWICK KEVIN WAYNE 6.4 MAXIMUM FLOW Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE http://algs4.cs.princeton.edu introduction Ford Fulkerson algorithm maxflow mincut

More information

Breadth First Search, Dijkstra s Algorithm for Shortest Paths

Breadth First Search, Dijkstra s Algorithm for Shortest Paths CS 374: Algorithms & Models of Computation, Spring 2017 Breadth First Search, Dijkstra s Algorithm for Shortest Paths Lecture 17 March 1, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 Part I Breadth

More information

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT 10 Max-Flow Min-Cut 10.1 Flows and Capacitated Graphs Previously, we considered weighted graphs. In this setting, it was natural to thinking about minimizing the weight of a given path. In fact, we considered

More information

Duality of LPs and Applications

Duality of LPs and Applications Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will

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

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

Pushmeet Kohli Microsoft Research

Pushmeet Kohli Microsoft Research Pushmeet Kohli Microsoft Research E(x) x in {0,1} n Image (D) [Boykov and Jolly 01] [Blake et al. 04] E(x) = c i x i Pixel Colour x in {0,1} n Unary Cost (c i ) Dark (Bg) Bright (Fg) x* = arg min E(x)

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Recap Network Flow Problems Max-Flow Min Cut Theorem Ford Fulkerson Augmenting Paths Residual Flow Graph Integral Solutions

More information

Graph Theory and Optimization Computational Complexity (in brief)

Graph Theory and Optimization Computational Complexity (in brief) Graph Theory and Optimization Computational Complexity (in brief) Nicolas Nisse Inria, France Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271, Sophia Antipolis, France September 2015 N. Nisse Graph Theory

More information

A note on the primal-dual method for the semi-metric labeling problem

A note on the primal-dual method for the semi-metric labeling problem A note on the primal-dual method for the semi-metric labeling problem Vladimir Kolmogorov vnk@adastral.ucl.ac.uk Technical report June 4, 2007 Abstract Recently, Komodakis et al. [6] developed the FastPD

More information

The maximum flow problem

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

More information

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

Lecture 5 January 16, 2013

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

More information

University of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016

University of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016 University of Toronto Department of Electrical and Computer Engineering Final Examination ECE 345 Algorithms and Data Structures Fall 2016 Print your first name, last name, UTORid, and student number neatly

More information