# Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T.

## Presentation on theme: "Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T."— Presentation transcript:

Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T. Goodrich, and Roberto Tamassia By Longin Jan Latecki

Weighted Graphs Graphs that have a number assigned to each edge are called weighted graphs. SF LA DEN CHI ATL MIA BOS NY

Weighted Graphs SF LA DEN CHI ATL MIA BOS NY MILES 2534 1855 957 834 349 2451 908 722 860 606 760 191 1090 595

Weighted Graphs SF LA DEN CHI ATL MIA BOS NY FARES \$129 \$99 \$79 \$59 \$89 \$69 \$129 \$89 \$39 \$99 \$79 \$69 \$39

Weighted Graphs SF LA DEN CHI ATL MIA BOS NY FLIGHT TIMES 4:05 2:55 2:20 2:10 3:50 2:00 1:15 2:10 1:40 1:30 1:55 2:45 0:50 1:50

Weighted Graphs A weighted graph is a graph in which each edge (u, v) has a weight w(u, v). Each weight is a real number. Weights can represent distance, cost, time, capacity, etc. The length of a path in a weighted graph is the sum of the weights on the edges. Dijkstra’s Algorithm finds the shortest path between two vertices.

Dijkstra's Algorithm

Dijkstra Animation Demo

Problem: shortest path from a to z a bd f z ceg 4 5 5 7 4 2 1 55 3 3 4 abcdefgzS 0∞∞∞∞∞∞∞a x4(a)3(a)∞∞∞∞∞c xx

1 5 7 2 3 4 6 20 40 15 35 10 15 10 50 75 1234567S 0∞∞∞∞∞∞1 x15(1)35(1)∞20(1)∞∞2 xx

Theorems Dijkstra’s algorithm finds the length of a shortest path between two vertices in a connected simple undirected weighted graph G=(V,E). The time required by Dijkstra's algorithm is O(|V| 2 ). It will be reduced to O(|E|log|V|) if heap is used to keep {v  V\S i : L(v) <  }, where S i is the set S after iteration i.

The Traveling Salesman Problem The traveling salesman problem is one of the classical problems in computer science. A traveling salesman wants to visit a number of cities and then return to his starting point. Of course he wants to save time and energy, so he wants to determine the shortest cycle for his trip. We can represent the cities and the distances between them by a weighted, complete, undirected graph. The problem then is to find the shortest cycle (of minimum total weight that visits each vertex exactly one). Finding the shortest cycle is different than Dijkstra’s shortest path. It is much harder too, no polynomial time algorithm exists!

The Traveling Salesman Problem Importance: Variety of scheduling application can be solved as a traveling salesmen problem. Examples : Ordering drill position on a drill press. School bus routing. The problem has theoretical importance because it represents a class of difficult problems known as NP- hard problems.

THE FEDERAL EMERGENCY MANAGEMENT AGENCY A visit must be made to four local offices of FEMA, going out from and returning to the same main office in Northridge, Southern California.

FEMA traveling salesman Network representation

30 25 40 35 80 65 45 50 40 Home 1 2 3 4

FEMA - Traveling Salesman Solution approaches –Enumeration of all possible cycles. This results in (m-1)! cycles to enumerate for a graph with m nodes. Only small problems can be solved with this approach.

Possible cycles CycleTotal Cost 1. H-O1-O2-O3-O4-H210 2. H-O1-O2-O4-O3-H 195 3. H-O1-O3-O2-O3-H 240 4. H-O1-O3-O4-O2-H 200 5. H-O1-O4-O2-O3-H 225 6. H-O1-O4-O3-O2-H 200 7. H-O2-O3-O1-O4-H 265 8. H-O2-O1-O3-O4-H 235 9. H-O2-O4-O1-O3-H 250 10. H-O2-O1-O4-O3-H 220 11. H-O3-O1-O2-O4-H 260 12. H-O3-O1-O2-O4-H260 Minimum For this problem we have (5-1)! / 2 = 12 cycles. Symmetrical problems need to enumerate only (m-1)! / 2 cycles. FEMA – full enumeration

30 25 40 35 80 65 45 50 40 Home 1 2 3 4 FEMA – optimal solution

The Traveling Salesman Problem Unfortunately, no algorithm solving the traveling salesman problem with polynomial worst-case time complexity has been devised yet. This means that for large numbers of vertices, solving the traveling salesman problem is impractical. In these cases, we can use efficient approximation algorithms that determine a path whose length may be slightly larger than the traveling salesman’s path, but

Download ppt "Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T."

Similar presentations