CSE 421 Algorithms Richard Anderson Lecture 9 Dijkstras
- Slides: 18
CSE 421 Algorithms Richard Anderson Lecture 9 Dijkstra’s algorithm
Last Week • Farthest in the future algorithm for optimal caching – Discard element whose first occurrence is last in the sequence A, B, C, A, C, D, C, B, C, A, D
Announcement • Collaboration Policy – Discussing problems with other students is okay – Write ups must be done independently – Acknowledge people you work with
This week • Today – Dijkstra’s Algorithm (Section 4. 4) • Rest of the week – Wednesday: Punya Biswal, SP/MST – Friday: Ben Birnbaum, MST • Reading – 4. 4, 4. 5, 4. 7, 4. 8
Single Source Shortest Path Problem • Given a graph and a start vertex s – Determine distance of every vertex from s – Identify shortest paths to each vertex • Express concisely as a “shortest paths tree” • Each vertex has a pointer to a predecessor on shortest path 1 1 u 2 5 s 3 3 x 4 v u s x 3 v
Construct Shortest Path Tree from s d 2 a 4 s 1 5 4 -3 d 4 e c 3 2 7 e -2 3 g 6 b a f c s g b 3 f
Warmup • If P is a shortest path from s to v, and if t is on the path P, the segment from s to t is a shortest path between s and t t • WHY? s v
Assume all edges have non-negative cost Dijkstra’s Algorithm S = {}; d[s] = 0; d[v] = infinity for v != s While S != V Choose v in V-S with minimum d[v] Add v to S For each w in the neighborhood of v d[w] = min(d[w], d[v] + c(v, w)) 0 s 1 u 1 2 4 2 v 4 y 3 1 1 x 2 2 3 2 z 5
Simulate Dijkstra’s algorithm (strarting from s) on the graph Round Vertex Added a 1 s 3 1 1 c 2 1 4 3 4 6 b 1 3 2 d 4 5 s a b c d
Who was Dijkstra? • What were his major contributions?
http: //www. cs. utexas. edu/users/EWD/ • Edsger Wybe Dijkstra was one of the most influential members of computing science's founding generation. Among the domains in which his scientific contributions are fundamental are – – – – algorithm design programming languages program design operating systems distributed processing formal specification and verification design of mathematical arguments
Dijkstra’s Algorithm as a greedy algorithm • Elements committed to the solution by order of minimum distance
Correctness Proof • Elements in S have the correct label • Key to proof: when v is added to S, it has the correct distance label. y x s u v
Proof • Let v be a vertex in V-S with minimum d[v] • Let Pv be a path of length d[v], with an edge (u, v) • Let P be some other path to v. Suppose P first leaves S on the edge (x, y) – – P = Psx + c(x, y) + Pyv Len(Psx) + c(x, y) >= d[y] Len(Pyv) >= 0 Len(P) >= d[y] + 0 >= d[v] y x s u v
Negative Cost Edges • Draw a small example a negative cost edge and show that Dijkstra’s algorithm fails on this example
Bottleneck Shortest Path • Define the bottleneck distance for a path to be the maximum cost edge along the path u 6 s 2 3 5 x 5 4 v
Compute the bottleneck shortest paths d 6 a 4 s 6 5 4 -3 d 4 e c 3 2 7 e -2 3 g 6 b a f c s g b 4 f
How do you adapt Dijkstra’s algorithm to handle bottleneck distances • Does the correctness proof still apply?
- Uw cse 421
- Cse 421
- Reverse delete algorithm
- Anderson localization lecture notes
- Analysis of algorithms lecture notes
- Introduction to algorithms lecture notes
- Richard dean anderson hockey
- Richard anderson york university
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Richard iii and looking for richard
- [email protected]
- Ist 421
- Integrity constraints in sql
- Fwm 421
- Aae 421
- Cs 421
- Psy
- Comp421
- Estimated blood volume