- 75 Views
- Uploaded on
- Presentation posted in: General

Shortest Paths

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Text

Discrete Mathematics and Its Applications(5th Edition)

Kenneth H. Rosen

Chapter 9.6

Based on slides from Chuck Allison, Michael T. Goodrich, and Roberto Tamassia

By Longin Jan Latecki

BOS

NY

CHI

SF

DEN

ATL

LA

MIA

Graphs that have a number assigned to each edge are called weighted graphs.

BOS

NY

CHI

SF

DEN

ATL

LA

MIA

MILES

860

2534

191

1855

722

908

957

760

606

834

349

2451

1090

595

BOS

NY

CHI

SF

DEN

ATL

LA

MIA

FARES

$129

$79

$39

$99

$59

$69

$89

$79

$99

$89

$39

$129

$69

BOS

NY

CHI

SF

DEN

ATL

LA

MIA

FLIGHT TIMES

4:05

2:10

0:50

2:55

1:50

2:10

2:20

1:55

1:40

2:45

2:00

3:50

1:15

1:30

- 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.

- Demo

f

b

d

5

5

4

7

3

4

1

2

a

z

3

4

c

5

e

5

g

1

20

15

5

35

75

10

2

3

7

50

40

35

15

4

6

10

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 {vV\Si : L(v) < }, where Si is the set S after iteration i.

- 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!

- Importance:
- Variety of scheduling application can be solved as atraveling 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.

- 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.

40

2

3

25

35

50

40

50

1

4

65

45

30

80

Home

- 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.

- Enumeration of all possible cycles.

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 problemsneed to enumerate only (m-1)! / 2 cycles.

40

2

3

25

35

50

40

1

50

4

65

45

30

80

Home

- 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