120 likes | 287 Views
O( N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem. Step 1: Divide the graph into N sub-graph by clustering. Step 2: Solve each sub-problem separately using Prim's algorithm (quadratic complexity) Step 3: Merge the sub-solutions:
E N D
O(N1.5) divide-and-conquer technique for Minimum Spanning Tree problem • Step 1: Divide the graph into N sub-graph by clustering. • Step 2: Solve each sub-problem separately using Prim's algorithm (quadratic complexity) • Step 3: Merge the sub-solutions: • Construct a meta graph where each node corresponds to one cluster • Solve MST for the meta graph • Add links from the meta graph to the original graph to complete the solution
Example 1: Algorithm finds sub-optimal solution 8 5 5 5 3 6 1 2 6 8 2 4 5 5 10 1 7 3 3
Step 1: Divide the graph into N sub-graph by clustering 8 5 5 5 3 6 1 2 6 8 2 4 5 5 10 1 7 3 3
Step 2: Solve each sub-problem by Prim’s algorithm 8 5 5 5 3 6 1 2 6 8 2 4 5 5 10 1 7 3 3
Step 3.1 (a): Select center point for each cluster 8 5 3 6 1 2 6 8 2 4 5 5 10 1 7 3 3
Step 3.1 (b): Connect the nodes of this meta graph 8 5 3 6 1 2 6 8 2 4 5 5 10 1 7 3 3
Step 3.1 (c): Set the weights based on shortest distances 8 5 1 3 6 1 2 6 8 2 3 4 4 5 5 10 1 7 3 3
Step 3.2: Solve MST for the meta graph 8 5 1 3 6 1 2 6 8 2 3 4 4 5 5 10 1 7 3 3
Step 3.3: Select the corresponding links 8 5 1 3 6 1 2 6 8 2 3 4 5 5 10 1 7 3 3
Step 3.3: Add links from the MST of the meta graph 8 5 3 6 1 2 6 8 2 4 5 5 10 1 7 3 3 Total weight = 21
Optimality of the solution? 8 Remove 5 3 6 1 2 6 8 2 4 5 5 10 1 7 Add 3 3 Better solution:Total weight = 20
Example 2: Algorithm finds optimal solution 8 5 3 6 1 2 5 8 2 4 5 6 10 1 7 3 3 Total weight = 20