Loading...

PPT – Decision Maths Dijkstra s Algorithm Networks Maps are PowerPoint presentation | free to download - id: 3b2f04-ZWFhY

The Adobe Flash plugin is needed to view this content

Decision Maths

- Dijkstras Algorithm

Networks

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

Networks

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

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

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

Dijkstras Algorithm

- Give the start node a permanent label of 0.
- The 1 indicates that this is the first node to

receive a permanent label.

Dijkstras Algorithm

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

Dijkstras Algorithm

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

Dijkstras Algorithm

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

Dijkstras Algorithm

- Make the lowest temporary node permanent.
- This is node D in this case.

Dijkstras Algorithm

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

Dijkstras Algorithm

- Make the lowest temporary node permanent.
- F now gets a permanent label.
- Node G already has a temporary label which does

not change.

Dijkstras Algorithm

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

Dijkstras Algorithm

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

Dijkstras Algorithm

- Again there are two vertices that can be assigned

a permanent label. G is chosen. - No adjustments need to be made.

Dijkstras Algorithm

- C is assigned a permanent label.
- Ts temporary label can be adjusted as 4 3 2

1 10.

Dijkstras Algorithm

- T now gets a permanent label of 10.
- This tells us that the shortest route from S to T

has a length 10.

Dijkstras Algorithm

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

Dijkstras Algorithm

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

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

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

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

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

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

Ex 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

Ex 3d q1i

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