Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees.

Similar presentations


Presentation on theme: "CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees."— Presentation transcript:

1 CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees

2 Announcements Homework 3 is due now Homework 4, due 10/26, available now Reading –Chapter 5 –(Sections 4.8, 4.9 will not be covered in class) Guest lecturers (10/28 – 11/4) –Anna Karlin –Venkat Guruswami

3 Shortest Paths Negative Cost Edges –Dijkstra’s algorithm assumes positive cost edges –For some applications, negative cost edges make sense –Shortest path not well defined if a graph has a negative cost cycle a b c s e g f 4 2 -3 6 4 -2 3 4 6 3 7 -4

4 Negative Cost Edge Preview Topological Sort can be used for solving the shortest path problem in directed acyclic graphs Bellman-Ford algorithm finds shortest paths in a graph with negative cost edges (or reports the existence of a negative cost cycle).

5 Dijkstra’s Algorithm Implementation and Runtime S = {}; d[s] = 0; d[v] = inf 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)) s u v z y x Edge costs are assumed to be non-negative a b HEAP OPERATIONS n Extract Min m Heap Update

6 Bottleneck Shortest Path Define the bottleneck distance for a path to be the maximum cost edge along the path s v x u 6 5 5 3 4 2

7 Compute the bottleneck shortest paths a b c s e g f d 4 2 -3 6 6 5 4 -2 3 7 6 3 7 4 a b c s e g f d

8 How do you adapt Dijkstra’s algorithm to handle bottleneck distances Does the correctness proof still apply?

9 Minimum Spanning Tree a b c s e g f 9 2 13 6 4 11 5 7 20 14 t u v 15 10 1 8 12 16 22 17 3

10 Greedy Algorithm 1 Prim’s Algorithm Extend a tree by including the cheapest out going edge a b c s e g f 9 2 13 6 4 11 5 7 20 14 t u v 15 10 1 8 12 16 22 17 3

11 Greedy Algorithm 2 Kruskal’s Algorithm Add the cheapest edge that joins disjoint components a b c s e g f 9 2 13 6 4 11 5 7 20 14 t u v 15 10 1 8 12 16 22 17 3

12 Greedy Algorithm 3 Reverse-Delete Delete the most expensive edge that does not disconnect the graph a b c s e g f 9 2 13 6 4 11 5 7 20 14 t u v 15 10 1 8 12 16 22 17 3

13 Why do the greedy algorithms work? For simplicity, assume all edge costs are distinct Let S be a subset of V, and suppose e = (u, v) be the minimum cost edge of E, with u in S and v in V-S e is in every minimum spanning tree

14 Proof Suppose T is a spanning tree that does not contain e Add e to T, this creates a cycle The cycle must have some edge e 1 = (u 1, v 1 ) with u 1 in S and v 1 in V-S T 1 = T – {e 1 } + {e} is a spanning tree with lower cost Hence, T is not a minimum spanning tree

15 Optimality Proofs Prim’s Algorithm computes a MST Kruskal’s Algorithm computes a MST

16 Reverse-Delete Algorithm Lemma: The most expensive edge on a cycle is never in a minimum spanning tree

17 Dealing with the assumption Force the edge weights to be distinct –Add small quantities to the weights –Give a tie breaking rule for equal weight edges


Download ppt "CSE 421 Algorithms Richard Anderson Lecture 10 Minimum Spanning Trees."

Similar presentations


Ads by Google