Professional Documents
Culture Documents
D1 Networks (Dijkstra)
D1 Networks (Dijkstra)
Dijkstras Algorithm
Networks
Maps are examples of a real life networks.
Wiltshire
Networks
Wiltshire
shortest path between two places. In the past you used to look on a map and plan the route yourself. These days there are websites that will do this for you.
http://www.theaa.com/travelwatch/planner_main.jsp
Dijkstra`s Algorithm.
the grid below.
Wiltshire
Dijkstra`s Algorithm
to find the shortest route from S to T.
Wiltshire
the algorithm so we can apply it in more complex situations. As you work through the algorithm try to understand why it works.
Dijkstra`s Algorithm
Give the start node a permanent label of 0. The 1 indicates that this is the first node to receive a
Wiltshire
permanent label.
Dijkstra`s Algorithm
Wiltshire
Look at all the nodes which can be reached from the start node in one
edge. Thats A, D and F. Give them a temporary label of their distance from the start node.
Dijkstra`s Algorithm
Make the lowest temporary node permanent. This is node A in this case.
Wiltshire
If there had been more than one, then you could choose any.
Dijkstra`s Algorithm
Wiltshire
Node A has just received the permanent label 3. Look at all the
nodes you can reach from A without a permanent label. Give such nodes a temporary label of 3 + their distance from A.
Dijkstra`s Algorithm
Make the lowest temporary node permanent. This is node D in this case.
Wiltshire
Dijkstra`s Algorithm
Repeat step 4, only this time with node D.
Wiltshire
Label all nodes from D with temporary label (4 + distance) from D. If a node has a temporary label, replace it, if (4 + distance) is less than
Dijkstra`s Algorithm
Make the lowest temporary node permanent. F now gets a permanent label.
Wiltshire
Dijkstra`s Algorithm
Both B and E have the same temporary label. It makes no difference which we pick, so B is selected.
Wiltshire
Dijkstra`s Algorithm
Wiltshire
E gets a permanent label, as it has the lowest temporary label. C`s temporary label must change to 9 as you can go S,D,E,C which
has length 4 + 3 + 2 = 9 as this is less than the existing label. T is given a temporary label of 11.
Dijkstra`s Algorithm
is chosen. No adjustments need to be made.
Wiltshire
Again there are two vertices that can be assigned a permanent label. G
Dijkstra`s Algorithm
C is assigned a permanent label.
Wiltshire
= 10.
Dijkstra`s Algorithm
T now gets a permanent label of 10.
Wiltshire
length 10.
Dijkstra`s Algorithm
The shortest path will be marked with a red line.
Wiltshire
is the same as the difference between the permanent labels at either end.
Dijkstra`s Algorithm
Wiltshire
The weights on the arcs can represent different things that might
lead to alternate routes. Example They could change to represent the time taken to travel a stretch of road rather than distance.
Dijkstra`s Algorithm
Can you explain how the Algorithm works? What do the temporary and permanent labels mean?
Wiltshire
They are values for the quickest route to that particular node.
Dijkstra`s Algorithm
Wiltshire
Why do we assign temporary labels? The algorithm systematically searches for the quickest route to
every node. We assign a temporary label as that stands for the current quickest route to that node. Later in the algorithm an alternative route may be found so we replace the temporary label with a new temporary label.
Dijkstra`s Algorithm
Wiltshire
permanent? All routes up to a certain point have been covered, so the node with the lowest temporary label must be the next nearest node to the start point.
Dijkstra`s Algorithm
What happens after this?
Wiltshire
You are certain that there is no shorter way of reaching the node
you are currently at. So you can assign neighbouring nodes a temporary label. Why does the first node get assigned permanent label zero? It is the start point , you have not travelled anywhere.
Dijkstra`s Algorithm
Wiltshire
Why does the method for finding the route at the end work? At the end of the algorithm each node has a permanent label
that represents the shortest distance to that node. If two nodes are joined then the difference in their permanent labels will tell you the shortest distance between them. If the arc joining them matches this distance then it must be the quickest route.
Wiltshire
10 8 10
4 6
15 10 15
3 3 3
10 9 10
Ex 3d q1i
7 6 7 2 2 2 9 7
Wiltshire
10 8 10
4 6
15 10 15
3 3 3
10 9 10