Loading...

PPT – Shortest Paths PowerPoint presentation | free to download - id: 691211-ZDU4M

The Adobe Flash plugin is needed to view this content

Shortest Paths

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

Weighted Graphs

Graphs that have a number assigned to each edge

are called weighted graphs.

Weighted Graphs

MILES

860

2534

191

1855

722

908

957

760

606

834

349

2451

1090

595

Weighted Graphs

FARES

129

79

39

99

59

69

89

79

99

89

129

39

69

Weighted Graphs

FLIGHT TIMES

405

210

050

255

150

210

220

155

140

245

350

200

115

130

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. - Dijkstras Algorithm finds the shortest path

between two vertices.

(No Transcript)

(No Transcript)

(No Transcript)

(No Transcript)

(No Transcript)

(No Transcript)

(No Transcript)

Dijkstra's Algorithm

Dijkstra Animation

- Demo

Problem shortest path from a to z

f

b

d

5

5

4

7

3

1

4

2

a

z

4

3

c

e

g

5

5

a b c d e f g z S

0 8 8 8 8 8 8 8 a

x 4(a) 3(a) 8 8 8 8 8 a,c

x x

1 2 3 4 5 6 7 S

0 8 8 8 8 8 8 1

x 15(1) 35(1) 8 20(1) 8 8 1,2

x x

Theorems

Dijkstras 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(V2). It will be reduced to O(ElogV) if

heap is used to keep v?V\Si L(v) lt ?, where

Si 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

Dijkstras 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

40

2

3

25

35

50

40

50

1

4

65

45

30

80

Home

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.

FEMA full enumeration

- Possible cycles
- Cycle Total Cost
- 1. H-O1-O2-O3-O4-H 210
- 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-H 260

Minimum

For this problem we have (5-1)! / 2 12 cycles.

Symmetrical problems need to enumerate only

(m-1)! / 2 cycles.

FEMA optimal solution

40

2

3

25

35

50

40

1

50

4

65

45

30

80

Home

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 salesmans path, but