Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Algorithms All-Pairs Shortest Paths My T. UF.

Similar presentations


Presentation on theme: "Introduction to Algorithms All-Pairs Shortest Paths My T. UF."— Presentation transcript:

1 Introduction to Algorithms All-Pairs Shortest Paths My T. Thai @ UF

2 Single-Source Shortest Paths Problem  Input: A weighted, directed graph G = (V, E)  Output: An n × n matrix of shortest-path distances δ. δ(i, j) is the weight of a shortest path from i to j. My T. Thai mythai@cise.ufl.edu 2 12345 1 0 1-32-4 230 1 374053 42 -50-2 585160

3  Can use algorithms for Single-Source Shortest Paths  Run BELLMAN-FORD once from each vertex  Time:  If there are no negative-weight edges, could run Dijkstra’s algorithm once from each vertex  Time: My T. Thai mythai@cise.ufl.edu 3

4 Outline  Shortest paths and matrix multiplication  Floyd-Warshall algorithm  Johnson’s algorithm My T. Thai mythai@cise.ufl.edu 4

5 Recursive solution  Optimal substructure: subpaths of shortest paths are shortest paths  Recursive solution: Let = weight of shortest path from i to j that contains ≤ m edges. Where w ij : My T. Thai mythai@cise.ufl.edu

6 Computing the shortest-path weights bottom up  All simple shortest paths contain ≤ n − 1 edges  Compute from bottom up: L (1), L (2),..., L (n-1).  Compute L (i+1) from L (i) by extending one more edge Time: My T. Thai mythai@cise.ufl.edu 6

7 Time: My T. Thai mythai@cise.ufl.edu 7

8 Shortest paths and matrix multiplication  Extending shortest paths by one more edge likes matrix product: L (i+1) = L (i).W  Compute L (1), L (2), L (4)..., L (r) with My T. Thai mythai@cise.ufl.edu 8 Time:

9 Example My T. Thai mythai@cise.ufl.edu 9

10 Floyd-Warshall algorithm  For path p =, v 2 … v l-1 are intermediate vertices from v 1 to v l  Define = shortest-path weight of any path from i to j with all intermediate vertices in {1, 2,..., k}  Consider a shortest path with all intermediate vertices in {1, 2,..., k}:  If k is not an intermediate vertex, all intermediate vertices in {1, 2,..., k -1}  If k is an intermediate vertex: mythai@cise.ufl.edu 10

11 Floyd-Warshall algorithm  Recursive formula:  Time: My T. Thai mythai@cise.ufl.edu 11 Note: since we have at most n vertices, return

12 Constructing a shortest path  is the predecessor of vertex j on a shortest path from vertex i with all intermediate vertices in the set {1, 2,..., k} My T. Thai mythai@cise.ufl.edu 12 (Use vertex k)

13 Example My T. Thai mythai@cise.ufl.edu 13

14 My T. Thai mythai@cise.ufl.edu 14

15 My T. Thai mythai@cise.ufl.edu 15

16 Johnson’s algorithm  Reweighting edges to get non-negative weight edges:  For all u, v ∈ V, p is a shortest path using w if and only if p is a shortest path using  For all (u, v) ∈ E,  Run Dijkstra’s algorithm once from each vertex My T. Thai mythai@cise.ufl.edu 16

17 Reweighting My T. Thai mythai@cise.ufl.edu 17

18 Proof of lemma 25.1  First, we prove  With cycle, My T. Thai mythai@cise.ufl.edu 18

19 Producing nonnegative weights  Construct   Since no edges enter s, has the same set of cycles as G  has a negative-weight cycle if and only if G does  Define:  Claim:  Proof: Triangle inequality of shortest paths My T. Thai mythai@cise.ufl.edu 19

20 Johnson’s algorithm Time: My T. Thai mythai@cise.ufl.edu 20

21 Example My T. Thai mythai@cise.ufl.edu 21

22 My T. Thai mythai@cise.ufl.edu 22

23 Summary  Dynamic-programming algorithm based on matrix multiplication  Define sub-optimal solutions based on the length of paths  Use the technique of “repeated squaring”  Time:  Floyd-Warshall algorithm  Define sub-optimal solutions based on the set of allowed intermediate vertices  Time: My T. Thai mythai@cise.ufl.edu 23

24  Johnson’s algorithm  Reweight edges to non-negative weight edges  Run Dijkstra’s algorithm once from each vertex  Time:  Faster than Floyd-Warshall algorithm when the graph is dense E = o(V 2 ) My T. Thai mythai@cise.ufl.edu 24


Download ppt "Introduction to Algorithms All-Pairs Shortest Paths My T. UF."

Similar presentations


Ads by Google