Title: Decision Maths
1Decision Maths
2Networks
- Maps are examples of a real life networks.
- In the map below each town is a vertex (node) and
each road is an edge (arc).
3Networks
- In real life we often want to know what is the
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
- The computer cannot decide which route is the
best, so it uses an algorithm to do so. - One such Algorithm is Dijkstras.
4Dijkstras Algorithm.
- Throughout this algorithm you will be required to
fill in the grid below. - It is important that you have a key in your work
so that the examiner will understand your
workings.
5Dijkstras Algorithm
- Consider the network below. We are going to apply
an algorithm to find the shortest route from S to
T. - The solution to this should be obvious but it is
important to learn the algorithm so we can apply
it in more complex situations. - As you work through the algorithm try to
understand why it works.
6Dijkstras Algorithm - Step 1
- Give the start node a permanent label of 0.
- The 1 indicates that this is the first node to
receive a permanent label.
7Dijkstras Algorithm - Step 1
- 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.
8Dijkstras Algorithm - Step 2
- Make the lowest temporary node permanent.
- This is node A in this case.
- If there had been more than one, then you could
choose any.
9Dijkstras Algorithm - Step 3
- 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.
10Dijkstras Algorithm - Step 4
- Make the lowest temporary node permanent.
- This is node D in this case.
11Dijkstras Algorithm - Step 5
- Repeat step 4, only this time with node D.
- 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 the temporary label.
12Dijkstras Algorithm - Step 6
- Make the lowest temporary node permanent.
- F now gets a permanent label.
- Node G already has a temporary label which does
not change.
13Dijkstras Algorithm - Step 7
- Both B and E have the same temporary label.
- It makes no difference which we pick, so B is
selected. - B is the 5th permanent label. C needs a temporary
label.
14Dijkstras Algorithm - Step 8
- E gets a permanent label, as it has the lowest
temporary label. - Cs 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.
15Dijkstras Algorithm - Step 9
- Again there are two vertices that can be assigned
a permanent label. G is chosen. - No adjustments need to be made.
16Dijkstras Algorithm - Step 10
- C is assigned a permanent label.
- Ts temporary label can be adjusted as 4 3 2
1 10.
17Dijkstras Algorithm - Step 11
- T now gets a permanent label of 10.
- This tells us that the shortest route from S to T
has a length 10.
18Dijkstras Algorithm - Step 12
- The shortest path will be marked with a red line.
- To find it you work backwards from T to S
identifying whose length is the same as the
difference between the permanent labels at either
end.
19Dijkstras Algorithm - Step 13
- 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.
20Dijkstras Algorithm
- Can you explain how the Algorithm works?
- What do the temporary and permanent labels mean?
- They are values for the quickest route to that
particular node.
21Dijkstras Algorithm
- 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.
22Dijkstras Algorithm
- Why do we make the node with the lowest temporary
label 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.
23Dijkstras Algorithm
- What happens after this?
- 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.
24Dijkstras Algorithm
- 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.
25Ex 3d q1i Shortest route from S to T
7
6
7
9
7
2
2
9
2
0
1
10
8
4
4
10
10
15
6
4
15
3
3
10
9
3
6
5
10
6
26Ex 3d q1i Shortest route from S to T
7
6
7
9
7
2
2
9
2
0
1
10
8
4
4
10
10
15
6
4
15
3
3
10
9
3
6
5
10
6