# Dijkstra - PowerPoint PPT Presentation

PPT – Dijkstra PowerPoint presentation | free to download - id: 21a34a-ZDc1Z

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## Dijkstra

Description:

### 6/7/09. A. Orda, R.Rom, A. Segall. 1. Dijkstra's algorithm. Algorithm for finding shortest paths : Determine shortest paths in order of node distance from dest ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 14
Category:
Tags:
Transcript and Presenter's Notes

Title: Dijkstra

1
Dijkstras algorithm
• Algorithm for finding shortest paths
• Determine shortest paths in order of node
distance from dest
• closest node to dest is the neighbor of dest with
• second closest node is
• neighbor of dest with second smallest link
weight, or
• a node two hops away, when the last hop is the
• Method each node gets a temporary label that
estimates its distance from dest . When the
estimate is validated, the label becomes final.
• Notations
• P set of nodes with final label
• Di label of node i

2
Dijkstra ( continued)
• Initialization
• 1. Find node for which
and
• 2. If stop.
• 3. For all , do
• Lemma For every , holds
• Proof easy by induction. Step 1. Ensures that
the statement holds for each iteration.
• Lemma For each , the label
gives the shortest path from i to dest on a
path whose links, except for the first, have
edges that belong to P.
• Proof easy by induction. Step 3. ensures that
the statement holds for a node that enters P.
• Number of calculations N-1 iterations,
operations/iteration proportional to N,
therefore total O(N2) better than
Bellman-Ford

3
Example of Dijkstra
4
• Problem Source node wants to transmit same
information to all nodes in the network
• Best performance on Spanning Tree, if one is
available, if not, easiest to flood
• Flooding each node sends information to all its
neighbors
• No need to know network structure
• No need to know network current topology
• Reliable and fast every connected node will get
the information at the earliest possible time.
• Assumptions and notations
• every node knows its adjacent topology
• every node assigns local ids to its adjacent
• MSG(info) - message carrying the information info

5
• Protocol PI ( Propagation of Information )
• Every node i performs the following algorithm (
• initialization
• upon START or receipt of MSG(info)
• if m0 then
• accept info
• send MSG(info) to all neighbors
• Notes
• Protocol is completely distributed every node
works independently and upon its own schedule
• The variable m makes sure that nodes will
transfer and accept information no more than
once.
• Last line can be changed to
• send MSG(info) to all neighbors except the one

6
Properties of PI
• During the operation of the protocol, exactly one
message travels on each link in each direction
• All nodes connected to the source will accept the
info, exactly once
• For each node i , let pi be the neighbor from
which node i receives the first MSG
• The collection (i,pi) forms a Spanning Tree
• If wij is the delay on link (i,j), then the above
is the tree of shortest paths from source to all
other nodes
• The source does not know the termination time,
i.e. some time when it can be sure that all nodes
have received the information. It knows the
information will be received and accepted by all
nodes, but it doesnt know when.

7
• Protocol
• Use PI-type to broadcast information and to form
Spanning Tree
• Use Spanning Tree to collect termination
information
• Method
• node that accepts info, forwards it to all
neighbors, except pi ( the neighbor it has
• upon receipt of MSG from all neighbors, send info
backwards on the Spanning Tree ( towards source
).
• Termination indication source receives MSG
from all its neighbors
• Notations
• m flag that indicates participation in protocol
• N(l) flag that indicates that the node has
• p neighbor from which first MSG was received
first
• receive MSG from nil START
• Above notations are for each node i and each
source s
• to distinguish between nodes
• to distinguish between sources

8
PIF algorithm
• Every node i performs the following algorithm (
• initialization
• upon receipt of from
• if then (propagation phase)
• accept info
• send to all neighbors
except l
• if
then (feedback phase)
• send to
• Properties
• all connected nodes will accept message exactly
once
• one MSG on each link in each direction
• collection form a spanning tree
• all nodes perform and complete
protocol
• each node i completes protocol before its
preferred neighbor
• source node completes protocol last, and thus
this is the termination indication

9
Example
source
10
Example PIF
source
11
Connectivity Test
• Goal every node wants to learn what are the
nodes in its connected network
• Protocol CT1
• every node sends its id in PI
• nodes wake up when they get the first message, at
which time they start their own PI
• Properties
• can be started asynchronously at several nodes
• every node will receive the identity of every
other connected node
• disconnected nodes will not know of each other
• a node cannot determine a termination time, i.e.
a time when it knows for sure the identities of
all connected nodes

12
CT2
• Idea use PIFs instead of PIs
• Protocol CT2
• A node starts its own PIF when
• gets a START
• upon receiving the first message ( of some PIF
started by another node )
• A node participates in every PIF started by other
nodes and registers every source of such a PIF
• Properties
• can be started asynchronously at several nodes
• every node will receive the identity of every
other connected node
• disconnected nodes will not know of each other
• a node i can determine a termination time, i.e. a
time when it knows for sure the identities of all
connected nodes . This time is
the time when i completes its own PIF. This
property follows from the fact that the broadcast
phase of reaches node i before the
feedback phase of .

13
CT3
• Idea same as CT1, except that nodes broadcast
their neighbors identities along with their own
identity
• Properties
• all good properties of CT1
• a node has a termination signal when a
arrives, it also indicates that PIs from all
neighbors of j will also arrive. Termination
when all expected identities have arrived.
• A node needs to know or find out neighbors
identities.
• Additional variations on CT1, CT2, CT3
• encoded information to reduce MSG contents
• reduction of number of messages
• pruning of MSG contents