Chapter 4 shortest path label setting algorithms
1 / 8

Chapter 4 Shortest Path Label-Setting Algorithms - PowerPoint PPT Presentation

  • Uploaded on

Chapter 4 Shortest Path Label-Setting Algorithms. Introduction & Assumptions Applications Dijkstra’s Algorithm. Problem Definition & Assumptions.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Chapter 4 Shortest Path Label-Setting Algorithms' - callum-holman

An Image/Link below is provided (as is) to download presentation

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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Chapter 4 shortest path label setting algorithms

Chapter 4Shortest Path Label-Setting Algorithms

Introduction & Assumptions


Dijkstra’s Algorithm

Problem definition assumptions
Problem Definition & Assumptions

Problem: Given a network G = (N, A) in which each arc (i, j) has an associated length or cost cij, let node s be the source. The length of a directed path is the sum of the lengths of the arcs in the path. For every node i s, find a shortest length directed path from s to i.


  • All arc lengths are integers (if rational but not integer, multiply them by a suitably large number)

  • The network contains a directed path from node s to every node i s (if not, add an arc (s, i) with very large cost)

  • The network does not contain a negative cycle (otherwise see Ch. 5)

  • The network is directed (transform undirected arcs w/positive costs as in Ch. 2; undirected arcs w/negative costs will create neg. cycles)

Types of shortest path problems
Types of Shortest Path Problems

  • Single-source shortest path

    • One node to all others with nonnegative arc lengths – Chapter 4

    • Variations: maximum capacity path, maximum reliabiltiy path

    • One node to all others with arbitrary arc lengths – Chapter 5

  • All-pairs shortest path: every node to every other node – Chapter 5

    String model for shortest path from s to t:

    Arcs = strings, knots = nodes; hold s and t and pull tight.

    Shortest paths will be taut: for i and j on a shortest path connected by arc (i, j), distance s-i plus cij distance s-j

    Associated “dual” maximization problem: pulling s and t as far apart as possible

Single source shortest paths
Single-Source Shortest Paths

Solution is a shortest-path tree rooted at s.

Property 4.1. If the path s = i1 – i2 – … – ih =k is a shortest path from s to k, then for every q = 2, 3, …, h-1, the subpath s = i1 – i2 – … – iq is a shortest path from the source node to iq.

Property 4.2. Let the vector d represent the shortest path distances. Then a directed path P from s to k is a shortest path if and only if for

Store the shortest path tree as a vector of n-1 predecessor nodes: pred(j) is the node i that satisfies above equality.

Acyclic networks reaching
Acyclic Networks: Reaching

Examine the nodes in topological order; perform a breadth-first search to find a shortest-path tree.

Reaching Algorithm:

0.d(s)  0, d(j)  for j s, i  s

1. If A(i) is empty, then stop. Otherwise, to examine node i, scan the arcs in A(i). If for any arc (i, j), d(j)  d(i) + cij, then set d(j) = d(i) + cij.

2. Set i to the next node in topological order and return to 1.

Solves shortest path problem on acyclic networks in O(m) time.

Dijkstra s algorithm
Dijkstra’s Algorithm

Shortest paths from source node to all other nodes with nonnegative arc lengths (cycles permitted)


d(i) is the distance from s to i along a shortest path

pred(i) is the predecessor of i along a shortest path


S = set of permanently labeled nodes (L in GIDEN)

set of temporarily labeled nodes (P in GIDEN)

GIDEN also has set U for unlabeled nodes

At each iteration, one node moves to S from


  • Node selection requires time proportional to

  • Distance updates are performed for each arc emanating from node i; total of m updates in the entire algorithm

  • Since

  • For dense networks,

    • Complexity can be improved for sparse networks by cleverness and special data structures