Matrix Method for Determining Minimum Spanning Tree

This paper is concerned with Minimum Spanning Tree problem, a fundamental problem of Network modeling. Here we have proposed a novel approach to determine minimum spanning tree of an undirected connected network, which is also demonstrated with numerical example.


Introduction
Minimum Spanning Tree (MST) problem: Given a connected graph G which has positive weights on each edge.The target is to find a set of edges with minimum weights that connects all of the vertices.A graph can have a number of different spanning trees.A MST for a weighted, connected and undirected graph is a spanning tree with weight less than or equal to the weight of every other spanning tree.The weight of a spanning tree is the sum of weights given to each edge of the spanning tree.The minimum spanning tree may not be unique if the graph has two or more edges with equal weights.
In network modeling, determining MST is a fundamental problem which has a variety of applications in different sectors such as: Network design: TV/computer cable, telephone, road, Travelling salesman problem, Taxonomy [1], Cluster analysis [2,3], Circuit design [4], etc.
A number of algorithms are developed for solving MST.Among them, some greedy algorithms are mainly used nowadays.The very first algorithm [5,6] for finding a minimum spanning tree was developed in 1926 by Otakar Borvka.After that, Prim's algorithm which is mostly used was invented by VojtchJarnk in 1930 and rediscovered by Prim in 1957 [7].Kruskal's [8] algorithm and reverse-delete algorithm, which is the reverse of Kruskal's algorithm are also well known though reverse-delete algorithm is usually not in use.Recent development on MST problem can be found in [9,10,11].Researchers are also working on Fuzzy MST problem [10,11].Generalized MST discussed in [12] is of great importance in complex real-life situation.
In this paper, we have proposed a new approach of solving MST problem which is inspired by the idea of Prim's algorithm.
The rest of the paper is organized as follows: In the next section, we have discussed the basic idea of our proposed approach.We have explained the methodology in details in the following section.A numerical example is included in Section 3. Finally, we have concluded our work in Section 4.

Methodology
The idea of Matrix method for MST is inspired by Prim's Algorithm described as follows: Initial step: We start with the first node say a.Consider a connected set C whose first entry is the node a and let DC be the disconnected set which contains all other nodes in the network.We can start with any other node as well.

•
Consider a matrix whose columns are labeled with the name of nodes and entries are the length of all adjacent nodes to node a in the respective column.

•
Determine the minimum of all these distances from node a to all other nodes in the disconnected set.Select the node corresponding to the minimum length as the next node to enter the connected set.General steps: The newly selected node enters the connected set and leaves the disconnected set.We insert a new row to the matrix of connected set described in initial step whose entries are the lengths of all adjacent nodes to this newly selected node in the respective column.
Determine the minimum of all the lengths from the nodes of connected set to all the nodes in the disconnected set.Consider the node corresponding to the minimum length as the next node to enter the connected set.Cross out all the connection (length) between the nodes in the connected set to avoid cycle.At each iteration, we include a node to the connected set.We continue the process until we get all the nodes in the connected set.
If in a network there are  nodes then we need ( − 1) iteration to complete the procedure.

Explanation
Suppose  2, we ignore the distance d k1 and replace it by a bar (−) to avoid cycle.In general, at any iteration, if  is selected to enter the connected set with shortest distance   from node  where  is in  and if  is any node in , then at the next iteration we put bar (−) for all the distance   and   except   as shown in Table 3.Thus, at each iteration, one node is being included in the connected set until all the nodes of the graph are in the connected set .

Numerical Experiment
To explain the algorithm, we choose a graph of 6 nodes shown in Figure 1.Consider the distance matrix D for the above graph.5, 1 is the smallest length from node 1 to node 2 so we select 2 as the next entering node in the connected set as shown in Table 6.Table 6.Iteration 2:  = {, },  = {, , , }

Table 4. Distances between nodes of
since node 1 is already in the connected set so in Table 6 we replace the length  21 with a bar (−) which implies this length will be excluded for further consideration to avoid the generation of cycle.The minimum length from the nodes of connected set to all other nodes of disconnected set is 3 which appears in two cells  13 and  24 .We can choose any of them randomly and the resulting minimum length of the spanning tree will be same.First we choose the cell  24 and continue next iteration as shown in Table 7.Thus, node 4 becomes the next entering node in the connected set.In a similar manner, all other nodes will be connected with the MST in the successive iterations represented in Table 8 and Table 9.Alternatively, we can select d 13 which will be shown later.Table 7. Iteration 3:  = {, , },  = {, , } At iteration 3, we cross out the lengths d 42 to avoid cycles.In general, if a node is in the connected set, then the column corresponding to that node will contain a single entry (the length for which it was selected to enter the connected set) at the final matrix.

Conclusion
In network modeling, MST is a fundamental problem.A number of algorithms are developed for solving MST.Among them Prim's algorithm and Kruskal's algorithm are mainly in use.In this paper, we have proposed a new approach which is inspired by the idea of Prim's algorithm.The advantage of our approach is that we do not need to work with graph at each iteration unlike Prim's and Kruskal's algorithms.We first determine the distance matrix and then solve the problem using the distances.Though the number of iteration required for our proposed approach is similar to that of Prim's and Kruskal's but working with matrix is a great advantage over that with graphs.

Table 1 ) : Table 1 . Iteration 1
1 is the smallest length.At the 2nd iteration, we include  to the connected set and removed from the disconnected set DC.The table at this stage is shown in Table2.