Shortest Paths - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Shortest Paths

Description:

Title: Discrete Structures - CSIS121 Author: e. carey Last modified by: Longin Jan Latecki Created Date: 3/7/1998 11:53:18 PM Document presentation format – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 28
Provided by: e423
Learn more at: https://cis.temple.edu
Category:

less

Transcript and Presenter's Notes

Title: Shortest Paths


1
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
2
Weighted Graphs
Graphs that have a number assigned to each edge
are called weighted graphs.
3
Weighted Graphs
MILES
860
2534
191
1855
722
908
957
760
606
834
349
2451
1090
595
4
Weighted Graphs
FARES
129
79
39
99
59
69
89
79
99
89
129
39
69
5
Weighted Graphs
FLIGHT TIMES
405
210
050
255
150
210
220
155
140
245
350
200
115
130
6
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.

7
(No Transcript)
8
(No Transcript)
9
(No Transcript)
10
(No Transcript)
11
(No Transcript)
12
(No Transcript)
13
(No Transcript)
14
Dijkstra's Algorithm
15
Dijkstra Animation
  • Demo

16
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 c
x x
17
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 2
x x
18
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.
19
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!

20
The Traveling Salesman Problem
  • 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.

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

22
FEMA traveling salesman Network representation
23
40
2
3
25
35
50
40
50
1
4
65
45
30
80
Home
24
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.

25
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 problemsneed to enumerate only
(m-1)! / 2 cycles.
26
FEMA optimal solution
40
2
3
25
35
50
40
1
50
4
65
45
30
80
Home
27
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
Write a Comment
User Comments (0)
About PowerShow.com