200 likes | 368 Views
Decision Maths. Networks Prim’s Algorithm. Prim`s Algorithm. In Lesson 1 we learnt about Kruskal`s algorithm, which was used to solve minimum connector problems. Another method that can be used is Prim`s algorithm. Step 1 – Select any node Step 2 – Connect it to the nearest node
E N D
Decision Maths Networks Prim’s Algorithm
Prim`s Algorithm • In Lesson 1 we learnt about Kruskal`s algorithm, which was used to solve minimum connector problems. • Another method that can be used is Prim`s algorithm. • Step 1 – Select any node • Step 2 – Connect it to the nearest node • Step 3 – Connect one node already selected to the nearest unconnected node. • Step 4 – Repeat 3 until all nodes are connected.
Prim`s Algorithm • Consider the example we looked at last lesson. • Select any node you like. • Lets select F.
Prim`s Algorithm • Connect it to the nearest node. • C and D are both 3 away so we can choose either. • Lets select C.
Prim`s Algorithm • The nearest node to either of F or C is D, which is only 3 away from F. • So connect D to F.
Prim`s Algorithm • The nearest to D, F or C is E which is 2 from D. • So connect E to D.
Prim`s Algorithm • The nearest to any of these four nodes is A which is 5 away from F. • Connect A to F.
Prim`s Algorithm • We now need to connect the last node, B. • The shortest arc is AB, which is 2. • Connect B to A.
Prim`s Algorithm • All the nodes are now connected so this is the minimum connector or minimal spanning tree.
Distance Table • The Network can also be represented as a table. • The infinity symbol (∞) means there is no edge between the two nodes.
Prim`s on a Distance Table • We are going to apply Prim`s algorithm to the distance table. • This demonstrates how a computer could apply the algorithm. • Prim`s is more suitable than Kruskal`s as computers have a problem recognising loops. • As you go through the algorithm, see if you can relate the procedure to the last example.
Prim`s on a Distance Table • Step 1 – Select any arbitrary node. • Step 2 – Delete the row and loop the column that correspond to the node selected. • Step 3 – Choose the smallest number in the loop. • Step 4 – Delete the row that this smallest number is in. • Step 5 – Loop the column that corresponds to the row just deleted. • Step 6 – Choose the smallest number in any loop. • Step 7 – Repeat steps 4, 5 and 6 until all rows have been deleted and columns looped.
Here I have chosen F. Delete the row. Loop the column. Select the smallest number in the loop. Prim`s on a Distance Table
Delete row C. Loop column C. Select the smallest number in any loop that is not crossed out. Prim`s on a Distance Table
Delete row D. Loop column D. Select the smallest number in any loop that is not crossed out. Prim`s on a Distance Table
Delete row E. Loop column E. Select the smallest number in any loop that is not crossed out. Prim`s on a Distance Table
Delete row A. Loop column A. Select the smallest number in any loop that is not crossed out. Prim`s on a Distance Table
Delete row B. Loop column B. Prim`s on a Distance Table
Prim`s on a Distance Table • The algorithm is complete when all the columns have been looped and the rows crossed out. • The circles show the edges in the minimum connector.
Prim`s on a Distance Table • In this case they are AB, DE, AF, CF, DF • Can you explain why this procedure is exactly the same as applying Prim`s algorithm?