# Decision Maths

Networks Prim’s Algorithm

Prim`s Algorithm

Wiltshire

 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  Select any node you like.  Lets select F. Wiltshire  Consider the example we looked at last lesson. .

Wiltshire  C and D are both 3 away so we can choose either. .  Lets select C.Prim`s Algorithm  Connect it to the nearest node.

which is .  So connect D to F.Prim`s Algorithm only 3 away from F. Wiltshire  The nearest node to either of F or C is D.

. Wiltshire  The nearest to D. F or C is E which is 2 from D.Prim`s Algorithm  So connect E to D.

 Connect A to F.Prim`s Algorithm 5 away from F. Wiltshire  The nearest to any of these four nodes is A which is .

which is 2.Prim`s Algorithm  We now need to connect the last node. B. Wiltshire  The shortest arc is AB.  Connect B to A. .

.Prim`s Algorithm Wiltshire  All the nodes are now connected so this is the minimum connector or minimal spanning tree.

Distance Table Wiltshire  The Network can also be represented as a table.  The infinity symbol (∞) means there is no edge between the two nodes. .

see if you can relate the procedure to the last example.  This demonstrates how a computer could apply the algorithm.  As you go through the algorithm.  Prim`s is more suitable than Kruskal`s as computers have a problem recognising loops. .Prim`s on a Distance Table Wiltshire  We are going to apply Prim`s algorithm to the distance table.

Loop the column that corresponds to the row just deleted. Repeat steps 4. Delete the row and loop the column that correspond to the node selected. 5 and 6 until all rows have been deleted and columns looped. Choose the smallest number in the loop. Delete the row that this smallest number is in.Prim`s on a Distance Table  Step 1 –  Step 2 –  Step 3 –  Step 4 –  Step 5 –  Step 6 –  Step 7 – Wiltshire Select any arbitrary node. . Choose the smallest number in any loop.

number in the loop. Wiltshire  Select the smallest  Delete the row.Prim`s on a Distance Table  Here I have chosen F.  Loop the column. .

Wiltshire  Select the smallest  Loop column C.Prim`s on a Distance Table  Delete row C. number in any loop that is not crossed out. .

Wiltshire  Select the smallest  Loop column D.Prim`s on a Distance Table  Delete row D. . number in any loop that is not crossed out.

Prim`s on a Distance Table  Delete row E. number in any loop that is not crossed out. . Wiltshire  Select the smallest  Loop column E.

Prim`s on a Distance Table  Delete row A. Wiltshire  Select the smallest  Loop column A. number in any loop that is not crossed out. .

Wiltshire  Loop column B.Prim`s on a Distance Table  Delete row B. .

.Prim`s on a Distance Table Wiltshire  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. CF. AF. DF Wiltshire  Can you explain why this procedure is exactly the same as applying Prim`s algorithm? .