Presentation is loading. Please wait.

Presentation is loading. Please wait.

Richard Anderson Lecture 21 Shortest Path Network Flow Introduction

Similar presentations


Presentation on theme: "Richard Anderson Lecture 21 Shortest Path Network Flow Introduction"— Presentation transcript:

1 Richard Anderson Lecture 21 Shortest Path Network Flow Introduction
CSE 421 Algorithms Richard Anderson Lecture 21 Shortest Path Network Flow Introduction

2 Announcements Friday, 11/18, Class will meet in CSE 305
Reading , Section 7.4 will not be covered

3 Find the shortest paths from v with exactly k edges
7 v y 5 1 -2 -2 3 1 x 3 z

4 Express as a recurrence
Optk(w) = minx [Optk-1(x) + cxw] Opt0(w) = 0 if v=w and infinity otherwise

5 Algorithm, Version 1 foreach w M[0, w] = infinity; M[0, v] = 0;
for i = 1 to n-1 M[i, w] = minx(M[i-1,x] + cost[x,w]);

6 Algorithm, Version 2 foreach w M[0, w] = infinity; M[0, v] = 0;
for i = 1 to n-1 M[i, w] = min(M[i-1, w], minx(M[i-1,x] + cost[x,w]))

7 Algorithm, Version 3 foreach w M[w] = infinity; M[v] = 0;
for i = 1 to n-1 M[w] = min(M[w], minx(M[x] + cost[x,w]))

8 Algorithm 2 vs Algorithm 3
x y z 7 v y 5 1 -2 -2 3 1 x 3 z i v x y z

9 Correctness Proof for Algorithm 3
Key lemma – at the end of iteration i, for all w, M[w] <= M[i, w]; Reconstructing the path: Set P[w] = x, whenever M[w] is updated from vertex x 7 v y 5 1 -2 -2 3 1 x 3 z

10 Negative Cost Cycle example
7 i v x y z v y 3 1 -2 -2 3 3 x -2 z

11 If the pointer graph has a cycle, then the graph has a negative cost cycle
If P[w] = x then M[w] >= M[x] + cost(x,w) Equal after update, then M[x] could be reduced Let v1, v2,…vk be a cycle in the pointer graph with (vk,v1) the last edge added Just before the update M[vj] >= M[vj+1] + cost(vj+1, vj) for j < k M[vk] > M[v1] + cost(v1, vk) Adding everything up 0 > cost(v1,v2) + cost(v2,v3) + … + cost(vk, v1) v1 v4 v2 v3

12 Negative Cycles If the pointer graph has a cycle, then the graph has a negative cycle Therefore: if the graph has no negative cycles, then the pointer graph has no negative cycles

13 Finding negative cost cycles
What if you want to find negative cost cycles?

14 Network Flow

15 Network Flow Definitions
Capacity Source, Sink Capacity Condition Conservation Condition Value of a flow

16 Flow Example u 20 10 30 s t 10 20 v

17 Residual Graph u u 15/20 0/10 5 10 15 15/30 s t 15 15 s t 5 5/10 20/20
v v


Download ppt "Richard Anderson Lecture 21 Shortest Path Network Flow Introduction"

Similar presentations


Ads by Google