International Journal of Computer Engineering and Applications, Volume XII, Special Issue, July 18, www.ijcea.com ISSN 2321-3469 MULTICAST ROUTING: CONVENTIONAL ALGORITHMS VS ANT COLONY SYSTEM ABSTRACT Amit Kumar Choudhary Birla Institute of Technology, Mesra, Ranchi Email:amit.frendo@gmail.com Dr. Sudip Kumar Sahana Birla Institute of Technology, Mesra, Ranchi Email: sudipsahana@bitmesra.ac.in The potential of managing multicast traffic has become a basic as well as main consideration in the planning of computer communications. Transmission of information to a gaggle of destination from one single supply is called multicasting. The main advantage of multicasting versus other possibilities is real time transmission for multiple destinations. By using multicast mechanism, we can improve the multicast content transmission as well as save an enormous amount of network resources. Conventional methods like flooding, spanning trees, multicast tree, etc. are used to solve multidimensional problems which needed huge computational attempts, as well as face challenges like communication link failure, low memory etc. There is a lot of multidimensional problem where most nodes are not the neighbors but can be reached. So often classical algorithm is complex, difficult and time consuming. For this reason, in recent years researchers are interested in alternate solutions using Evolutionary Algorithms (EA) and Swarm Intelligence (SI) such as Ant Colony Optimization (ACO) etc. This paper introduced a comparative study for multicast routing between conventional algorithms like Prim s, Dijkstra s, Kruskal s with Ant Colony Optimization. We only consider distance as a QoS parameter. Keywords: Dijkstra s Algorithm, Kruskal Algorithm, Prim s Algorithm, Ant Colony System, Pheromone, Minimum spanning tree. 1.INTRODUCTION With the exponentially advancement in internet architecture, size and utility, the call for real time & quality of services (QoS) within the network increases. Several new methods like video calling, remote Amit Kumar Choudhary, Dr. Sudip Kumar Sahana 1
MULTICAST ROUTING: CONVENTIONAL ALGORITHMS VS ANT COLONY SYSTEM education, Digital TV, Robotics & more, make it complicated because more users are participating in one session or say multicast session. So the spectrum of the problem has been shifted from one-to-one to many-to-many. Multicast refers to sending data across a computer network to several users at the same time. Advantage of multicasting is by using multicast mechanism we can save an enormous amount of network resources and additionally improve the multicast content transmission. Multicast is an enhanced version of traditional transmission methods unicast and broadcast. In unicast environment we send a data only to a single destination. If a sender wants to send data to multiple recipient, he must use several addresses to reach all the destination. It may possible that a sender sends the data multiple times and misuse large amount of their resources. So many are confused multicast is for Broadcast. These two are not same. In multicast the packets are sent only to intended recipients in the network where as in broadcast the packet is transmitted to all the hosts connected to the network. Optimizing the route in multicasting is the main problem that is faced everywhere. Initially some conventional algorithms are used for optimizing the route. 1.1 Kruskal algorithm Kruskal algorithm [1]is (MST) minimum spanning tree algorithm [2] [3] [4] that finds a path of the smallest potential weight that connects any two vertices of the graph. It s an example of greedy algorithm because it looks for the MST for a connected weighted graph adding cost arcs at every step. Input: weighted connected graph Steps for finding MST using Kruskal s algorithm: 1. Per edges weight, first we tend to re-arrange all the edges in ascending order. 2. After selecting the smallest edge, we tend to check if there is a cycle with the spanning tree generates so far. If cycle not found, include the edge. Else, discard it. 3. Run step no. 2 till there all the edges i.e. (V-1) edges are available in the spanning tree. Output: Minimum Spanning Tree 1.2 Prim s algorithm Another greedy method that is used to obtain minimum spanning tree [3] [4] is known as prim s algorithm [5] [6]. Its works on the concept of sets. Rather than processing the graph by sorting order of edges, Prim s operates the side inside graph willy-nilly by increase disjoint sets. First introduce a blank spanning tree. The aim is to keep up two sets of vertices, one holds the vertices already includes in MST and the alternative holds the vertices not yet includes. At each step, it updates all the edge that connects the two sets and choose the minimum weight edge from these edges. Once finding the edge, it proceeds to the opposite end of the edge to the set containing MST. Algorithm: // Given: A well connected weighted graph G = (V, E) // Output: collection of edges consists of a MST of G V i {any vertex in connected weighted graph G} E i ; //Blank MST for n 1 to V 1 do Amit Kumar Choudhary, Dr. Sudip Kumar Sahana 2
International Journal of Computer Engineering and Applications, Volume XII, Special Issue, July 18, www.ijcea.com ISSN 2321-3469 e the least-cost edge (v, a) with v V i and a V V i V i V i {a} E i E i {e} return E j The above-mentioned algorithm [6] continuously opt for the least cost path from the spanning tree up to now to the another source point. Whenever a spanning tree features high-priority route between V i and V V i, it will be boost by commutation it with e. We are able to introduce Vi paths into a priority queue, until then remove the edges on between V j and V-Vi. 1.3 Dijkstra s algorithm Dijkstra s algorithm [7] is similar to Prim s. But the difference is Dijkstra solves the shortest path problem [8]with given source node whereas Prim s find the Minimum spanning tree. Algorithm: 1) Generate a shortest path tree set for keeping the records of vertices that included in shortest path tree. At first, that set is empty. 2) Define some distance values to all the given vertices within the input graph. Set each and every distance values as INFINITE and distance values zero for the Entry node so that it was a first choice to pick. 3) While shortest path set doesn t contain all vertices: a) Select a vertex v that isn t there in shortest path set has least distance value. b) Include v to shortest path set. c) Upgrade distance value of all neighbour vertices connected with v. To upgrade the distance values, iterate through all neighbour vertices. For each neighbour vertex v n, update the distance value of v n, if total of distance value and weight of route v-v n is smaller than the distance value of v n. 1.4 Ant Colony System Ant colony algorithm [9] [10] finds optimal solution through counterfeit the method of ants checking out for their food. The ant s collective behavior gave an information feedback. This optimization technique not depends on mathematical description of particular problems, but has great global optimization feature [11] with high performance [12]and flexibility. The three main rules to optimize ant colony system are: 1) State Transition rule: Ants prefers to move from one place to another with a high amount of pheromone [9]. The condition is: p ij k = ( [Ʈ ij(t)] α [ƞ ij(t)] β ) / (Σ zϵ allowed j [Ʈ ij(t)] α [ƞ ij(t)] β ) (i) Amit Kumar Choudhary, Dr. Sudip Kumar Sahana 3
MULTICAST ROUTING: CONVENTIONAL ALGORITHMS VS ANT COLONY SYSTEM 2) Local trail updating: Because the ant moves between one place to another it upgrade the amount of pheromone on the path by the following equation: Ʈ ij(t) = (1-ρ) Ʈ ij(t-1) + ρ Ʈ 0 (ii) Where, ρ represents the coefficient of vaporization of pheromone. And Ʈ 0 isthe initial value of pheromone trails. (Ratio between total nodes and distance covered nodes) between 3) Global trail modify: Once every ants have visited all the nodes that generates the smallest route updates the value in its path using the given formula: Ʈ ij(t) = (1-ρ) Ʈ ij (t-1) + ρ/l + (iii) L+ represent the length of best path generated by one of the ants. 2.EXPERIMENTAL SETUP We have implemented our code in C++ language on windows 8.1 environment in a single machine. We are considering different nodes as different points on the network. In practical scenario there may be many parameters like bandwidth, loop, hop count, delay etc. affects the result. Here for simplicity we are only consider distance between nodes. We treat node as a vertex of the network and paths as edges. Figure1: Example network The example network having five vertices and seven edges is as shown in Fig 1. 3. RESULT The Table1 shown below depicts the summary of the run time results for greedy algorithms and ACS in seconds for varying number of vertices and varying number of edges. Table 1. Run time analysis of Conventional algorithms and ACS in ms with different edge and vertices Amit Kumar Choudhary, Dr. Sudip Kumar Sahana 4
International Journal of Computer Engineering and Applications, Volume XII, Special Issue, July 18, www.ijcea.com ISSN 2321-3469 Edge 15 Edge 25 Edge 30 Prim s dijkstra Kruskal ACS Prim s dijkstra Kruskal ACS Prim s dijkstra Kruskal ACS Vertex 10 00.16 24.22 0.16 0.003 00.94 21.56 0.047 20.89 0.016 18.75 0.036 23.21 Vertex 15 39.21 39.86 24.9 19.93 42.21 59.79 48.62 27.82 44.81 66.43 50.68 30.21 Vertex 20 92.43 51.86 86.88 25.93 96.34 77.79 81.17 39.78 92.43 86.43 79.55 39.11 The representation of the data set of Table 1 are given in Fig2 as shown below: Figure2: Runtime analysis for conventional Algorithm and ACS 4. CONCLUSION We have started with the state of art algorithms and found that if the size of nodes and network increases, the complexity increases. For large number of networks, it is not desirable to use such conventional techniques. As cited in the result section for lesser network size the value is not much differentiates but for the larger it varies. Moreover, routing environment is time based and dynamic in nature. So, some intelligent techniques need to be devised for efficient multicast routing. We already show the time of execution of ACS over others. Also, ACS is flexible, dynamic and have capability to find alternate path. REFERENCES [1] H. Li, Q. Xia and Y. wang, "Research and improvement of Kruskal algorithm," Journal of Computer and comunication, vol. 5, pp. 63-69, 2017. Amit Kumar Choudhary, Dr. Sudip Kumar Sahana 5
MULTICAST ROUTING: CONVENTIONAL ALGORITHMS VS ANT COLONY SYSTEM [2] R. M. Huang, " An Improved Kruskal Algorithm Two Branch Kruskal Algorithm," Chinese Scientific Papers Online, pp. 1-13, 2011. [3] A. Lavitin, "Algorithm Design and analysis basics," in Tsinghua university press, Beijing, 2015. [4] W. wang and S. Y. Meng, "Research and Improvement of Algorithm.," Journal of Chongqing University of Arts and Science, no. 29, pp. 25-27, 2010. [5] R. Abhilasha, "Minimum cost spanning tree using prim's algorithm," Internation journal of advance research in computer science and management studies, vol. 1, no. 1, 2013. [6] D. Kalpanadevi, "Effecting searching shortest path in graph using prim's algorithm," Internation journal of computer and organization trends, vol. 3, no. 8, 2013. [7] S. S. Biswas, "Z- Dijkstra algorithm to solve sortest path problem in a z-graph," Oriental journal of computer science and technoogy, vol. 10, pp. 180-186, 2017. [8] J. N. Timothy and L. C. Richard, "The sortest covering path problem: A new perspective and model," International regional science review, vol. 39, no. 1, pp. 131-151, 2016. [9] m. dorigo, m. biratarri and t. stutzle, Ant colony optimization, 2006. [10] S. K. Sahana, A. Jain and a. mustafi, "A comparative study on multicast routing using dijkstra, prims and ant colony system," IJCET, vol. 1, pp. 16-25, 2010. [11] M. dorigo and L. M. Gambardella, "Ant colony system: a cooperative learning approach to the traveling salesman problem," IEEE Transaction of evolutionary computation, vol. 1, no. 1, pp. 53-66, 1997. [12] H. Wang,. Z. Shi and J. Ma, "A Modified Ant Colony Algorithm for Multi-constraint Multicast Routing," 2006. Amit Kumar Choudhary, Dr. Sudip Kumar Sahana 6