A Heuristic Approach for Solving the Minimum Routing Cost Spanning Tree Problem
|
|
- Blaise Parrish
- 6 years ago
- Views:
Transcription
1 A Heuristic Approach for Solving the Minimum Routing Cost Spanning ree Problem Quoc Phan an Department of Information echnology Saigon University, Vietnam Abstract-In this paper, we are proposing 3- algorithms in form of heuristic to solve the minimum routing cost spanning tree problem MRC: he idea of 1 st -algorithm is removing gradually bad edges until the remained graph is just a spanning tree. he idea of 2 nd -algorithm is finding a minimum spanning tree -MS, then replace gradually bad edges of this MS with other edges of graph so that the routing-cost of MS gets better. he idea of 3 rd -algorithm is separating graph into sub-graphs which connect together via bridges; this heuristic will show how to process pairs of sub-graphs corresponding to bridges. We have conducted experiments for above proposals as well as obtained good results if compare it with approximate algorithms at the moment to solve the MRC. Keywords: Routing Cost, Routing load, Spanning rees, Metaheuristic, NP-hard, Gradually Edge-Removal algorithm, Edge-Replacement algorithm, Bridge-processing Algorithm. I. INRODUCION he minimum routing cost spanning trees problem (MRC) belongs to NP-hard class. he problem can be approached in the way of finding exact solution (especially for Back-tracking, Branch-Bound,...) or in the way of finding approximate solutions (especially for heuristic algorithms, metaheuristic,... ) [1][2][3][10]. No matter how well we fine-tune exact algorithms, then the result can t improve anymore. o answer how to find exact solutions for the MRC is really a challenge. In this paper, we are only mentioning about finding approximate solutions for the MRC. At first, we would like presenting generally some present common approachs for the MRC. he first is WONG algorithm suggested by C.K. WONG[2][8][9]. he algorithm utilizes the minimum path trees (formed from minimum paths, which start at each vertex of graph and connect to the other vertices of graph). he idea of WONG algorithm is much clear as follows: Step 1: Find minimum paths which start at each vertex of graph using Dijkstra algorithm. Step 2: Compute cost for each SP. Step 3: Find SP which has the minimum cost. WONG s complexity: O(m.n+ n 2 logn). Secondly, group of authors BANG YE WU and KUN-MAO-CHAO, the group have approached the MRC with the idea of General Star ( possibly reaches to 4/3- approximation) [2][7]. he third is CAMPOS algorithm invented by group of authors RUI CAMPOS and MANUEL RICARDO [8][9], the authors have approached the MRC with 2- approximation, basing on the idea of mixing algorithms Add, Dijkstra and Prim CAMPOS algorithm is considered the best 2-approximation algorithm at present with time complexity O(m + nlog(n)) [8][9]. In section 2, we will remind some definitions concerning to computation of spanning tree s cost; in section 3, we will represent our proposals; in section 4, there is an experiment table of algorithms and the final is several conclusions as well as possible works in the future. II. HE MINIMUM ROUING-COS SPANNING REE PROBLEM Our heuristics base on computation of spanning tree s routing-cost, and to compute the routing-cost of a spanning tree with time complexity O(n), we should take advantage of the term of routing-load of an edge [2]. In the following, we are presenting some familiar definitions of the MRC as well as proposing several new definitions to serve for our algorithms. Definition 1: Routing-cost Given G= (V,E) is an undirected-connected graph which has non-negative weights (cost). V is the set of vertices, n= V is the number of vertices, m = E is the number of edges. Suppose is an arbitrary spanning tree in G and C() is the total routing-cost of all pairs of vertices of, let d (u,v) be the routing-cost of a pair of vertices (u,v), defined as the total edge-weights of the path between u and v, which obey the following formula: C ( ) = d ( u, v ) (1) u, v V Example 1: Given a spaninng tree as fig.1 Fig 1: his spanning tree having routing-cost 196 According to formula (1), we have: /11/$ IEEE V4-314
2 d (v 1,v 2 ) + d (v 1,v 3 ) + d (v 1,v 4 ) + d (v 1,v 5 ) + d (v 2,v 3 ) + d (v 2,v 4 ) + d (v 2,v 5 ) + d (v 3,v 4 ) + d (v 3,v 5 ) + d (v 4,v 5 ) = 98. Since d (v i, v j ) = d (v j, v i ), so C() = 98 x 2 = 196 Definition 2: Routing load Given is a spanning tree in graph G, suppose E() is the set of edges of, (u,v) E(). As soon as removing (u, v) from ; is separated into 2 sub-graphs having the number of vertices are V(X), V(Y) in turn. Routing-load of an arbitrary edge (u,v) defined as formula: l((u, v))=2. V(X). V(Y) and we have a formula being equivalent to formula (1) as follows: C ( ) = l(,( u, v)). d ( u, v) (2) ( u, v) E ( ) We will compute the routing cost of above tree () obeying formula (2) as follows: l(, (v 1, v 2 )) = = 8, l(, (v 2, v 3 )) = 12, l(, (v 3, v 4 )) = 8, l(, (v 3, v 5 )) = 8. So C() = = 196. Definition 3: Minimum routing-cost spanning tree problem Given G=(V,E) is an indirected- connected graph having non-negative weighs (costs). n= V is the number of vertices, E is the set of edges, m= E is the number of edges. By the previous definition of routing-cost, let s find a spanning tree which has the minimum routing-cost among all possible spanning tree in G. By Cayley theorem, in a complete graph, there are n n- 2 spanning trees [13][14]. Hence, it is impossible to take exhaust-traversing method (all possible cases) into this problem (even incomplete graphs) Our heuristics frequently take responsibility of adding/removing edge from given spanning tree. herefore, we are proposing the following definitions to solve the problems as soon as possible. o compute cost of once insert an edge(u,v) into or remove a certain edge(u,v) ( Of course, is still a spanning tree after adding/removing edges); we needn t start computing again like formulas (1) (2), but, we propose 2-definitions as follows. hese definitions can be easily inferred from definition 1. Definition 4: Given is a tree of graph. he tree {u,v} (where u is vertex in ) has the cost obeying as follows: C( { u, v}) = C(Τ) + 2 d ( v, u) u Definition 5:Given is a tree of graph, \{u,v} (where u is vertex in ) has the cost obeying as follows: C( { u, v}) = C(Τ) 2 d ( v, u) u We use above definitions to compute the cost of spanning tree under constructing process. III. APPLYING HEURISIC ALGORIHMS FOR APPROACHING HE MRC PROBLEM. In this section, we are proposing several heuristics[15]. 3.1 Gradually Edge-Removal algorithm (H 1 ) he idea of Gradually Edge-Removal algorithm is removing gradually bad edges of graph until the remained graph remains only one spanning tree. Step 1: Suppose e is alternately an edge in G. If G-{e} is a connected graph, let s compute the total cost of all pairs of vertices of graph G-{e}; Where the cost of pairs of vertices is their minimum distance. Step 2: Find edge e having minimum cost, and corresponding to graph G -{e} ; in the case if there many edges e that make G -{e} have the same minimum value, then we select the edge which has maximum cost. Step 3: Remove formally edge e from graph, Update G= G-{e} again, this is the input graph for the next iteration. Repeat all above steps until G remains only n-1 edges. Example 2: Given a graph as fig.2, compute its MRC. Fig 2: his fig was quoted from reference material [9]. Next, we are listing a table illustrating steps of removing gradually edge from graph in detail. Edges 1 st loop 2 st loop 3 rd loop 4 th loop 1(v 1,v 2 ) (v 1,v 4 ) (v 2,v 3 ) 184 4(v 2,v 6 ) (v 3,v 4 ) (v 3,v 5 ) (v 3,v 7 ) V4-315
3 8(v 4,v 5 ) (v 5,v 8 ) (v 6,v 7 ) (v 7,v 8 ) able 1: Illustrates steps of H 1 algorithm Attention: the sign - in the table indicates that it is unable to remove the edge being considered, since the remained edges does not form a connected graph. So, according to above table, once apply 1 st heuristic for example 2, we will remove edges (v 2,v 3 ), (v 3,v 5 ), (v 5,v 8 ), (v 6,v 7 ) respectively, and the remained spanning tree having the set of edges {(v 1,v 2 ), (v 1,v 4 ), (v 2,v 6 ), (v 3,v 4 ), (v 3,v 7 ), (v 4,v 5 ), (v 7,v 8 )} corresponding to the cost 232. When we put WONGs algorithm into example 2, WONGs returns 234, and CAMPOSs returns 232. heorem 1: H 1 algorithm has time complexity (m 2 n+ mn 2 logn). he numbers of loops to remove edges take O(n). At each loop, use Dijkstra s algorithm to find the minimum cost of pairs of vertices: Dijkstra s complexity is O(m + nlogn), thus finding cost of all pairs of vertices each loop takes O(mn+ n 2 logn). herefore, the time complexity of H 1 algorithm is O(m 2 n+ mn 2 logn). 3.2 Edge-Replacement Algorithm (H 2 ) he idea of Edge-Replacement bases on Prims and Kruskal algorithms to find the minimum spanning tree of graph, then replace gradually each edge of spanning tree with a better edge. Step 1: Look up a minimum spanning tree (SP) in G using Prim algorithm - O(m+nlogn), or Kruskal algorithm - (m.logm). Step 2: Insert respectively edge e of the sub-graph (G- ) into. Certainly, e will form a cycle. In this new cycle, we need find the best edge e so that - e e has better cost in ; if there exists edge e, then replace with e e. Step 3: Repeat step 2 until there is no replacement done. his Heuristic gives approximate optimal result (since, maybe is not the best but it is impossible to insert properly any edge into ). Example 3: Given a graph G as fig.3: Fig 3: he obtained spanning tree having routing-cost 250, obeying H 2 algorithm. If we apply Edge-Removal algorithm for fig.3, the first obtained minimum spanning tree(ms) having the set of edges {(v 1,v 2 ), (v 1,v 3 ), (v 3,v 5 ), (v 4,v 6 ), (v 5,v 6 )}. Apply each step of Edge-Removal Algorithm: Once replace the first 4-edges (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 2,v 4 ) in, we also obtain a spanning tree having the routing-cost 266; once we replace 5 th -edge (v 3,v 4 ) with edge (v 5,v 6 ), and in that time, we obtained the routing-cost value 250. his is just the desired spanning tree. heorem 2: H 2 algorithm has time complexity O(mn 2 ). he stage of finding minimum spanning tree (SP) using Prim algorithm takes O(m+nlogn). here are m-times for inserting edge into spanning tree: O(n). At each loop, we need find generated cycle: O(n 2 ) and it takes O(n) to compute the routing-cost for each new spanning tree. herefore, H 2 algorithm has time complexity O(mn 2 ). 3.3 Bridge-processing Algorithm or Blossom-shrinking Sub-graphs Algorithm (H 3 ) By the application of the MRC in network designing, it is both natural and common to separate a graph into connected components linked together by bridges. By the following, we would like proposing a method having relative efficiency, in order to find the routing-cost for this form of graph, with approximate result. In this Bridge-processing algorithm, we separate graph into sub-graphs. he sub-graphs are linked together via bridges. Our idea is utilize algorithms H 1,H 2, CAMPOSs, WONGs or even exhaust-traversing to compute cost of subgraphs and continue to process other bridges until we get the cost of initial graph. Given a graph having bridge G = X Y e, where e=(u,v) is a bridge in G, u X, v Y, suppose n 1 = X is the numbers of vertices of sub-graph (X) and n 2 = Y is the numbers of vertices of sub-graph (Y). Let be an optimal spanning tree and x, y respectively are the desired SPs V4-316
4 of sub-graphs X,Y. a i (i =1..n 1 ) is the minimum distance between vertex u and other vertices in X, b i (i=1..n 2 ) is the minimum distance between vertex v and other vertices of Y, and w(e) is bridge weight. As yet, we have a formula: cost() = cost( x ) + cost( y ) + α (3) where: n 1 n2 α = 2. a + i w( e). n1. n2 + bi. n1 i= 1 i= 1 Following is the steps of H 3 algorithm. Step 1: Find connected components of graph using Depth First Search or Breadth First Search [13][14]. Step 2: Use either exact algorithm or approximate algorithm to compute routing-cost for these sub-graphs. Step 3: Process alternately each bridge in graph, For each bridge e(u,v) which connects 2 sub-graphs X and Y together, we proceed to compute a i and b i and α as described in formula (3) for computing cost of spanning tree corresponding to the sub-graph X Y. Next, we joint X and Y together, and consider X Y is a unique sub-graph (Blossom-shrinking) to continue to process in case of either X or Y still has bridges connecting to other sub-graphs. Example 4: Given a graph G as fig.4: Fig 4: he obtained spanning tree obeying H 3, having routing-cost Firstly, by bridge e 1, we compute feasibly a i ={14,11, 6, 2, 0} and b i ={0, 2, 3, 10, 7, 13}. We are able to compute cost(x)=148, cost(y)= 250, and α = 2.[( ) ] = 866. herefore, the graph comprising of the first 11 vertices, having the cost of the obtained spanning tree: cost() = = Afterward, we consider the whole G graph containing 3 above connected components. We next take bridge e 2 in process. At that time, the sub-graph comprising of vertices between v 1 and v 11, having list a i are 14,11,6,2,0, 2, 4, 5, 12, 9, 15 and the sub-graph comprising 8-remained vertices, having list b i are: 0,1,3,1,3,3,5,6. By formula (3), we have: cost() = [( ) )] = = his result is not exact, the exact result must be he valid spanning tree have to select edge (v 16,v 19 ) instead of edge (v 18,v 19 ). Even though, if edge (v 16,v 19 ) is selected, particularly, if the sub-graph contain the series of vertices between v 12 and v 19, this graph must return 234, not the exact value 232. heorem 3: H 3 algorithm finds spanning tree with time complexity O(mn 2 ). It takes O(n) time for finding out a bridge in graph. his is time complexity of the algorithm used for verifying connectivity of graph via Depth First Search or Breadth First Search. hus, to find out all possible bridges in graph, it takes time complexity about O(m.n). o find parameters a i, b i, α like Bridge-processing algorithm, we get a maximum of n-times of using Dijkstra algorithm. So, this stage takes time complexity O(m.n + n 2 logn). herefore, H 3 algorithm has time complexity O(m 2 n). 3.4 Approaching complete-traversing for the MRC For the basic of comparison, verifying approximate algorithms, solving the MRC using exact algorithms is an interesting and much challenge. At this point, we are only mentioning complete-traversing algorithm to solve the problem. Before going into exchanging about how to behave towards special edges in graph hese are edges that we can easily determine if neither it does or does not exist in the desired spanning tree. ake special edges into process [1]. Edges will be inserted into desired spanning trees if they are bridges. [2]. Consider each triple formed an triangle, if there exists an edge which is greater than or equal to the sum of that two edges, remove that edge from graph. Complete-raversing by using Back-racking algorithm. Put Back-racking algorithm into practice to find all possible spanning tree of graph. Compute the routing-cost for each obtained spanning tree and concurrently record the minimum routing cost spanning tree as yet. he spanning having minimum routing-cost is the desired result. Some basic optimizing ideas for applying branch-bound algorithm. If the on-going constructing set of edges is not enough n-1 edges, but formed a cycle, then we needn t find the next edge, we should have to form a new spanning tree. V4-317
5 If the on-going constructing set of edges is not enough n-1 edges, but have routing-cost being greater than the best at that time, then we needn t find the next edge, we should have to form a new spanning tree. IV. EXPERIMENS We have implemented algorithms, such as: Backtracking, H 1,H 2,H 3, WONGs and CAMPOSs and even GA. We have tested above programs with input packets corresponding to graphs in fig.2 (8 vertices), fig.3 (6 vertices), fig.4 (19 vertices). In addition, we have created random data for input files having respectively n = 50 vertices, 100 vertices, 200 vertices, 500 vertices with random edge weights in range of [1..20]. he result of experiments (routing-cost values and running-time) of above implementations are listed below (Be note that while implementing, we have not taken advantage of datastructure Fibonacci heaps). otal vertices otal edges Backtrac king H H H WONG CAMPOS Genetic able 2: Experiment table of algorithms (Routing-cost and running-time). All input data packets were uploaded in our site[16] According to this table, we have several comments: Our approximate algorithms H 1, H 2, H 3 return good result if compare it with algorithms WONG, CAMPOS, or Genetic. (Be note that our implementations of WONG, CAMPOS algorithms, all base on reference materials [8][9], and the implementations of Genetic algorithm base on some selection operators, hybrid operators, and cross-over operators. V. CONCLUSION AND FUURE WORKS hroughout this paper, we have proposed several heuristic algorithms for the MRC in sections 3.1, 3.2, 3.3. We have implemented ours as well as algorithms WONG, CAMPOS and Genetic. We are now searching the numbers of algorithms, such as: Genetic Algorithms, Menetic Algorithms, Harmony Search and Bees Algorithm for the MRC problem and initially have got a bit of interesting results. We hope that the performance of MRC problem will improve significantly if we apply hybrid algorithms or parallel algorithms. [4][5][6][11][12]. REFERENCES [1]. Stefan Ruzika, Horst W. Hamacher, A survey on Multiple Objective Minimum Spanning ree Problems,Springer,2009 [2]. Bang Ye Wu, Kun-Mao Chao, Spanning rees and Optimization Problems,Chapman&Hall/CRC,2004. [3]. J.Dréo, A.Pétrowski, P.Siarry, E. aillard, MetaHeuristics for hard optimization, Springer, [4]. Huynh hi hanh Binh, Nguyen Duc Nghia, Heuristic Algorithms for Solving Bounded Diameter Minimum Spanning ree Problem And Its Application to Genetic Algorithm Development, Advances in Greedy Algorithms, Austria, [5]. Ching-LuehChang, Yuh-Dauh Lyuu, Parallelized approximation algorithms for minimum routing cost spanning trees, [6]. eodor Gabriel Vrainic, Michel oulouse, Parallel Meta-Heuristics, CIRREL,2009. [7]. Bang Ye Wu, Giuseppe Lancia, Vineet Bafna, Kun-Mao Chao, R.Ravi, Chuan Yi ang. A Polynomial ime Approximation Scheme for Minimum Routing Cost Spanning rees. [8]. Rui Campos, Manuel Ricardo, A fast algorithm for computing minimum routing cost spanning trees,2008. [9]. Rui Campos, Spanning rees in Communication Networks. INESC Porto, Faculdade de Engenharia, Universidade do Porto [10]. Matteo Fischetti,Giuseppe Lancia,Paolo Serafini, Exact Algorithms for Minimum Routing Cost rees, [11]. S.N.Sivanandam, S.N. Deepa, Introduction to Genetic Algorithms,Springer,2008. [12]. Zong Woo Geem, Music-Inspired Harmony Search Algorithm heory and Applications, Springer, [13]. J.A Bondy, U.S.R Murty, Graph theory with applications, North- Holland, New York, Amsterdam,Oxford, [14]. Reinhard Diestel, Graph theory, Springer-Verlag Heidelberg, New York, [15]. Phan an Quoc, A heuristic approach for solving the Minimum Routing Cost Spanning rees Problem ", Report of science research department of information technology of SAI GON university, Viet Nam, 2010, unpublished. [16]. Our site: V4-318
A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem
A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem Quoc Phan Tan Abstract Minimum Routing Cost Spanning Tree (MRCT) is one of spanning tree optimization problems having several applications
More informationChapter 23. Minimum Spanning Trees
Chapter 23. Minimum Spanning Trees We are given a connected, weighted, undirected graph G = (V,E;w), where each edge (u,v) E has a non-negative weight (often called length) w(u,v). The Minimum Spanning
More informationThe minimum spanning tree problem
The minimum spanning tree problem MST is a minimum cost connection problem on graphs The graph can model the connection in a (hydraulic, electric, telecommunication) network: the nodes are the points that
More informationDepth First Search A B C D E F G A B C 5 D E F 3 2 G 2 3
Depth First Search A B C D E F G A 4 3 2 B 4 5 4 3 C 5 D 3 4 2 E 2 2 3 F 3 2 G 2 3 Minimum (Weight) Spanning Trees Let G be a graph with weights on the edges. We define the weight of any subgraph of G
More informationChapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.
Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the
More informationInternational Journal of Advanced Research in Computer Science and Software Engineering
Volume 2, Issue 10, October 2012 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A New Efficient
More informationWhat is a minimal spanning tree (MST) and how to find one
What is a minimal spanning tree (MST) and how to find one A tree contains a root, the top node. Each node has: One parent Any number of children A spanning tree of a graph is a subgraph that contains all
More informationGRAPH THEORY and APPLICATIONS. Matchings
GRAPH THEORY and APPLICATIONS Matchings Definition Matching of a graph G: Any subset of edges M E such that no two elements of M are adjacent. Example: {e} {e,e5,e0} {e2,e7,e0} {e4,e6,e8} e4 e7 e8 e e2
More informationSpanning Trees. Lecture 20 CS2110 Spring 2015
1 Spanning Trees Lecture 0 CS110 Spring 01 1 Undirected trees An undirected graph is a tree if there is exactly one simple path between any pair of vertices Root of tree? It doesn t matter choose any vertex
More informationtree follows. Game Trees
CPSC-320: Intermediate Algorithm Design and Analysis 113 On a graph that is simply a linear list, or a graph consisting of a root node v that is connected to all other nodes, but such that no other edges
More informationA Metaheuristic Algorithm for the Minimum Routing Cost Spanning Tree Problem
Iranian Journal of Operations Research Vol. 6, No. 1, 2015, pp. 65-78 A Metaheuristic Algorithm for the Minimum Routing Cost Spanning Tree Problem S. Sattari 1, F. Didehvar 2,* The routing cost of a spanning
More informationCommunication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1
Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a
More information(Refer Slide Time: 01:00)
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture minus 26 Heuristics for TSP In this lecture, we continue our discussion
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)
More information11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions
Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is
More informationIntroduction to Optimization
Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016
More informationCS200: Graphs. Rosen Ch , 9.6, Walls and Mirrors Ch. 14
CS200: Graphs Rosen Ch. 9.1-9.4, 9.6, 10.4-10.5 Walls and Mirrors Ch. 14 Trees as Graphs Tree: an undirected connected graph that has no cycles. A B C D E F G H I J K L M N O P Rooted Trees A rooted tree
More informationRandomized Graph Algorithms
Randomized Graph Algorithms Vasileios-Orestis Papadigenopoulos School of Electrical and Computer Engineering - NTUA papadigenopoulos orestis@yahoocom July 22, 2014 Vasileios-Orestis Papadigenopoulos (NTUA)
More informationSpanning Trees and Optimization Problems
Bang Ye Wu and Kun-Mao Chao Spanning Trees and Optimization Problems CRC PRESS Boca Raton London New York Washington, D.C. Preface The research on spanning trees has been one of the most important areas
More informationTravelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij
Travelling Salesman Problem Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,
More informationComputer Networks 52 (2008) Contents lists available at ScienceDirect. Computer Networks. journal homepage:
Computer Networks 52 (2008) 3229 3247 Contents lists available at ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet A fast algorithm for computing minimum routing cost spanning
More informationCSE 100: GRAPH ALGORITHMS
CSE 100: GRAPH ALGORITHMS Dijkstra s Algorithm: Questions Initialize the graph: Give all vertices a dist of INFINITY, set all done flags to false Start at s; give s dist = 0 and set prev field to -1 Enqueue
More informationToday: Amortized Analysis (examples) Multithreaded Algs.
Today: Amortized Analysis (examples) Multithreaded Algs. COSC 581, Algorithms March 11, 2014 Many of these slides are adapted from several online sources Reading Assignments Today s class: Chapter 17 (Amortized
More informationHEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM
Proceedings of the International Conference on Theory and Applications of Mathematics and Informatics - ICTAMI 24, Thessaloniki, Greece HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM
More informationTraveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij
Traveling Salesman Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,
More informationCS261: Problem Set #2
CS261: Problem Set #2 Due by 11:59 PM on Tuesday, February 9, 2016 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Submission instructions:
More informationMinimum Cost Edge Disjoint Paths
Minimum Cost Edge Disjoint Paths Theodor Mader 15.4.2008 1 Introduction Finding paths in networks and graphs constitutes an area of theoretical computer science which has been highly researched during
More informationOptimal tour along pubs in the UK
1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/
More informationMinimum cost spanning tree
Minimum cost spanning tree Doctoral course Optimization on graphs - Lecture 2.2 Giovanni Righini January 15 th, 2013 Definitions - 1 A graph G = (V,E) is a tree if and only if it is connected and acyclic.
More informationTheory of Computing. Lecture 10 MAS 714 Hartmut Klauck
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Seven Bridges of Königsberg Can one take a walk that crosses each bridge exactly once? Seven Bridges of Königsberg Model as a graph Is there a path
More informationThe minimum cost spanning tree problem
The minimum cost spanning tree problem Combinatorial optimization Giovanni Righini Definitions - 1 A graph G = (V,E) is a tree if and only if it is connected and acyclic. Connectivity: for each cut, at
More informationComputing optimal total vertex covers for trees
Computing optimal total vertex covers for trees Pak Ching Li Department of Computer Science University of Manitoba Winnipeg, Manitoba Canada R3T 2N2 Abstract. Let G = (V, E) be a simple, undirected, connected
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationMassachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014
Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction
More information1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m
Minimum Spanning Trees (MST) 8 0 e 7 b 3 a 5 d 9 h i g c 8 7 6 3 f j 9 6 k l 5 m A graph H(U,F) is a subgraph of G(V,E) if U V and F E. A subgraph H(U,F) is called spanning if U = V. Let G be a graph with
More informationCAD Algorithms. Categorizing Algorithms
CAD Algorithms Categorizing Algorithms Mohammad Tehranipoor ECE Department 2 September 2008 1 Categorizing Algorithms Greedy Algorithms Prim s Algorithm (Minimum Spanning Tree) A subgraph that is a tree
More informationSpanning Trees, greedy algorithms. Lecture 20 CS2110 Fall 2018
1 Spanning Trees, greedy algorithms Lecture 20 CS2110 Fall 2018 1 About A6, Prelim 2 Prelim 2: Thursday, 15 November. Visit exams page of course website and read carefully to find out when you take it
More information10/31/18. About A6, Prelim 2. Spanning Trees, greedy algorithms. Facts about trees. Undirected trees
//8 About A, Prelim Spanning Trees, greedy algorithms Lecture CS Fall 8 Prelim : Thursday, November. Visit exams page of course website and read carefully to find out when you take it (: or 7:) and what
More informationAlgorithms for Minimum Spanning Trees
Algorithms & Models of Computation CS/ECE, Fall Algorithms for Minimum Spanning Trees Lecture Thursday, November, Part I Algorithms for Minimum Spanning Tree Sariel Har-Peled (UIUC) CS Fall / 6 Sariel
More informationL.J. Institute of Engineering & Technology Semester: VIII (2016)
Subject Name: Design & Analysis of Algorithm Subject Code:1810 Faculties: Mitesh Thakkar Sr. UNIT-1 Basics of Algorithms and Mathematics No 1 What is an algorithm? What do you mean by correct algorithm?
More informationOn the rainbow vertex-connection
On the rainbow vertex-connection arxiv:1012.3504v1 [math.co] 16 Dec 2010 Xueliang Li, Yongtang Shi Center for Combinatorics and LPMC-TJKLC Nankai University, Tianjin 300071, China Email: lxl@nankai.edu.cn,
More informationLATIN SQUARES AND TRANSVERSAL DESIGNS
LATIN SQUARES AND TRANSVERSAL DESIGNS *Shirin Babaei Department of Mathematics, University of Zanjan, Zanjan, Iran *Author for Correspondence ABSTRACT We employ a new construction to show that if and if
More informationChapter 2 Graphs. 2.1 Definition of Graphs
Chapter 2 Graphs Abstract Graphs are discrete structures that consist of vertices and edges connecting some of these vertices. Graphs have many applications in Mathematics, Computer Science, Engineering,
More informationMinimum-Cost Spanning Tree. Example
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum cost Example 2 4 12 6 3 Network has 10 edges.
More informationChapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that
More informationExample. Minimum-Cost Spanning Tree. Edge Selection Greedy Strategies. Edge Selection Greedy Strategies
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum cost Example 2 4 12 6 3 Network has 10 edges.
More informationSpanning Trees, greedy algorithms. Lecture 22 CS2110 Fall 2017
1 Spanning Trees, greedy algorithms Lecture 22 CS2110 Fall 2017 1 We demo A8 Your space ship is on earth, and you hear a distress signal from a distance Planet X. Your job: 1. Rescue stage: Fly your ship
More informationLECTURE 26 PRIM S ALGORITHM
DATA STRUCTURES AND ALGORITHMS LECTURE 26 IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD STRATEGY Suppose we take a vertex Given a single vertex v 1, it forms a minimum spanning tree on one
More informationDefinition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.
Tree 1. Trees and their Properties. Spanning trees 3. Minimum Spanning Trees 4. Applications of Minimum Spanning Trees 5. Minimum Spanning Tree Algorithms 1.1 Properties of Trees: Definition: A graph G
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationCMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017
CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping
More informationCS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques
CS 4407 Algorithms Lecture 8: Circumventing Intractability, using Approximation and other Techniques Prof. Gregory Provan Department of Computer Science University College Cork CS 4010 1 Lecture Outline
More informationA Partition Method for Graph Isomorphism
Available online at www.sciencedirect.com Physics Procedia ( ) 6 68 International Conference on Solid State Devices and Materials Science A Partition Method for Graph Isomorphism Lijun Tian, Chaoqun Liu
More informationNotes for Lecture 24
U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined
More informationmanaging an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm
Spanning Trees 1 Spanning Trees the minimum spanning tree problem three greedy algorithms analysis of the algorithms 2 The Union-Find Data Structure managing an evolving set of connected components implementing
More informationMinimum spanning trees
Carlos Moreno cmoreno @ uwaterloo.ca EI-3 https://ece.uwaterloo.ca/~cmoreno/ece5 Standard reminder to set phones to silent/vibrate mode, please! During today's lesson: Introduce the notion of spanning
More informationAssignment No 2 (Group B)
Assignment No 2 (Group B) 1 Problem Statement : Concurrent Implementation of Travelling Salesman Problem. 2 Objective : To develop problem solving abilities using Mathematical Modeling. To apply algorithmic
More informationEND-TERM EXAMINATION
(Please Write your Exam Roll No. immediately) Exam. Roll No... END-TERM EXAMINATION Paper Code : MCA-205 DECEMBER 2006 Subject: Design and analysis of algorithm Time: 3 Hours Maximum Marks: 60 Note: Attempt
More informationUnit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.
: Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity
More informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationDESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD
1 DESIGN AND ANALYSIS OF ALGORITHMS UNIT II Objectives GREEDY METHOD Explain and detail about greedy method Explain the concept of knapsack problem and solve the problems in knapsack Discuss the applications
More informationLecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)
COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms
More informationCS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem
CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,
More informationSpanning Trees 4/19/17. Prelim 2, assignments. Undirected trees
/9/7 Prelim, assignments Prelim is Tuesday. See the course webpage for details. Scope: up to but not including today s lecture. See the review guide for details. Deadline for submitting conflicts has passed.
More informationSpanning Trees. Lecture 22 CS2110 Spring 2017
1 Spanning Trees Lecture 22 CS2110 Spring 2017 1 Prelim 2, assignments Prelim 2 is Tuesday. See the course webpage for details. Scope: up to but not including today s lecture. See the review guide for
More informationAdvanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret
Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely
More informationWeek 11: Minimum Spanning trees
Week 11: Minimum Spanning trees Agenda: Minimum Spanning Trees Prim s Algorithm Reading: Textbook : 61-7 1 Week 11: Minimum Spanning trees Minimum spanning tree (MST) problem: Input: edge-weighted (simple,
More informationOptimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP).
Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP). Liew Sing liews_ryan@yahoo.com.sg April 1, 2012 Abstract In this paper, the author proposes optimal tree as a gauge for the
More information2 A Template for Minimum Spanning Tree Algorithms
CS, Lecture 5 Minimum Spanning Trees Scribe: Logan Short (05), William Chen (0), Mary Wootters (0) Date: May, 0 Introduction Today we will continue our discussion of greedy algorithms, specifically in
More informationCharacterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs
ISSN 0975-3303 Mapana J Sci, 11, 4(2012), 121-131 https://doi.org/10.12725/mjs.23.10 Characterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs R Mary Jeya Jothi * and A Amutha
More information18 Spanning Tree Algorithms
November 14, 2017 18 Spanning Tree Algorithms William T. Trotter trotter@math.gatech.edu A Networking Problem Problem The vertices represent 8 regional data centers which need to be connected with high-speed
More informationA Comparison of Data Structures for Dijkstra's Single Source Shortest Path Algorithm. Shane Saunders
A Comparison of Data Structures for Dijkstra's Single Source Shortest Path Algorithm Shane Saunders November 5, 1999 Abstract Dijkstra's algorithm computes the shortest paths between a starting vertex
More informationDijkstra s algorithm for shortest paths when no edges have negative weight.
Lecture 14 Graph Algorithms II 14.1 Overview In this lecture we begin with one more algorithm for the shortest path problem, Dijkstra s algorithm. We then will see how the basic approach of this algorithm
More informationMinimum spanning trees
Minimum spanning trees [We re following the book very closely.] One of the most famous greedy algorithms (actually rather family of greedy algorithms). Given undirected graph G = (V, E), connected Weight
More informationAlgorithms and Data Structures (INF1) Lecture 15/15 Hua Lu
Algorithms and Data Structures (INF1) Lecture 15/15 Hua Lu Department of Computer Science Aalborg University Fall 2007 This Lecture Minimum spanning trees Definitions Kruskal s algorithm Prim s algorithm
More information1 The Traveling Salesman Problem
Comp 260: Advanced Algorithms Tufts University, Spring 2018 Prof. Lenore Cowen Scribe: Duc Nguyen Lecture 3a: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem
More informationPolynomial time approximation algorithms
Polynomial time approximation algorithms Doctoral course Optimization on graphs - Lecture 5.2 Giovanni Righini January 18 th, 2013 Approximation algorithms There are several reasons for using approximation
More informationCSE 21 Mathematics for Algorithm and System Analysis
CSE 21 Mathematics for Algorithm and System Analysis Unit 4: Basic Concepts in Graph Theory Section 3: Trees 1 Review : Decision Tree (DT-Section 1) Root of the decision tree on the left: 1 Leaves of the
More informationMinimum Spanning Trees My T. UF
Introduction to Algorithms Minimum Spanning Trees @ UF Problem Find a low cost network connecting a set of locations Any pair of locations are connected There is no cycle Some applications: Communication
More informationTopics. Trees Vojislav Kecman. Which graphs are trees? Terminology. Terminology Trees as Models Some Tree Theorems Applications of Trees CMSC 302
Topics VCU, Department of Computer Science CMSC 302 Trees Vojislav Kecman Terminology Trees as Models Some Tree Theorems Applications of Trees Binary Search Tree Decision Tree Tree Traversal Spanning Trees
More informationAdvanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012
topological ordering, minimum spanning tree, Union-Find problem Jiří Vyskočil, Radek Mařík 2012 Subgraph subgraph A graph H is a subgraph of a graph G, if the following two inclusions are satisfied: 2
More information1 Shortest Paths. 1.1 Breadth First Search (BFS) CS 124 Section #3 Shortest Paths and MSTs 2/13/2018
CS Section # Shortest Paths and MSTs //08 Shortest Paths There are types of shortest paths problems: Single source single destination Single source to all destinations All pairs shortest path In today
More informationDesign and Analysis of Algorithms
CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization
More informationMinimum Spanning Trees
CSMPS 2200 Fall Minimum Spanning Trees Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 11/6/ CMPS 2200 Intro. to Algorithms 1 Minimum spanning trees Input: A
More information) $ f ( n) " %( g( n)
CSE 0 Name Test Spring 008 Last Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to compute the sum of the n elements of an integer array is: # A.
More informationFall CS598CC: Approximation Algorithms. Chandra Chekuri
Fall 2006 CS598CC: Approximation Algorithms Chandra Chekuri Administrivia http://www.cs.uiuc.edu/homes/chekuri/teaching/fall2006/approx.htm Grading: 4 home works (60-70%), 1 take home final (30-40%) Mailing
More informationGraphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University
Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial
More informationCOMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)
COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small
More informationSPANNING TREES. Lecture 21 CS2110 Spring 2016
1 SPANNING TREES Lecture 1 CS110 Spring 016 Spanning trees What we do today: Calculating the shortest path in Dijkstra s algorithm Look at time complexity of shortest path Definitions Minimum spanning
More informationTraveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost
Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R
More informationConstrained Minimum Spanning Tree Algorithms
December 8, 008 Introduction Graphs and MSTs revisited Minimum Spanning Tree Algorithms Algorithm of Kruskal Algorithm of Prim Constrained Minimum Spanning Trees Bounded Diameter Minimum Spanning Trees
More informationRepresentations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs
Representations of Weighted Graphs (as Matrices) A B Algorithms and Data Structures: Minimum Spanning Trees 9.0 F 1.0 6.0 5.0 6.0 G 5.0 I H 3.0 1.0 C 5.0 E 1.0 D 28th Oct, 1st & 4th Nov, 2011 ADS: lects
More informationV1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).
CS4234: Optimisation Algorithms Lecture 4 TRAVELLING-SALESMAN-PROBLEM (4 variants) V1.0: Seth Gilbert, V1.1: Steven Halim August 30, 2016 Abstract The goal of the TRAVELLING-SALESMAN-PROBLEM is to find
More informationPrim Algorithm Based on Heap for Finding Minimal Spanning Tree of Ventilation Network. Buchuan Wang & Qinglong Liu & Wenbin Wu
International Conference on Applied Science and Engineering Innovation (ASEI 2015) Prim Algorithm Based on Heap for Finding Minimal Spanning Tree of Ventilation Network Buchuan Wang & Qinglong Liu & Wenbin
More informationIntroduction to Optimization
Introduction to Optimization Greedy Algorithms October 5, 2015 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff INRIA Lille Nord Europe Course Overview 2 Date Topic Mon, 21.9.2015 Introduction
More informationHardness of Subgraph and Supergraph Problems in c-tournaments
Hardness of Subgraph and Supergraph Problems in c-tournaments Kanthi K Sarpatwar 1 and N.S. Narayanaswamy 1 Department of Computer Science and Engineering, IIT madras, Chennai 600036, India kanthik@gmail.com,swamy@cse.iitm.ac.in
More informationLecture 4: Graph Algorithms
Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e
More informationPractice Problems for the Final
ECE-250 Algorithms and Data Structures (Winter 2012) Practice Problems for the Final Disclaimer: Please do keep in mind that this problem set does not reflect the exact topics or the fractions of each
More informationLecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29
Lecture 13 Connectedness in graphs Spanning trees in graphs Finding a minimal spanning tree Time costs of graph problems and NP-completeness Finding a minimal spanning tree: Prim s and Kruskal s algorithms
More informationLecture 8: The Traveling Salesman Problem
Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes
More information