Download presentation
Presentation is loading. Please wait.
Published byVille-Veikko Kokkonen Modified over 6 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.