A Heuristic Approach for Solving the Minimum Routing Cost Spanning Tree Problem

Size: px
Start display at page:

Download "A Heuristic Approach for Solving the Minimum Routing Cost Spanning Tree Problem"

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 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 information

Chapter 23. Minimum Spanning Trees

Chapter 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 information

The minimum spanning tree problem

The 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 information

Depth 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 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 information

Chapter 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. 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 information

International Journal of Advanced Research in Computer Science and Software Engineering

International 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 information

What is a minimal spanning tree (MST) and how to find one

What 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 information

GRAPH THEORY and APPLICATIONS. Matchings

GRAPH 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 information

Spanning Trees. Lecture 20 CS2110 Spring 2015

Spanning 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 information

tree follows. Game Trees

tree 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 information

A Metaheuristic Algorithm for the Minimum Routing Cost Spanning Tree Problem

A 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 information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication 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)

(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 information

Chapter 9 Graph Algorithms

Chapter 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 information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/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 information

Introduction to Optimization

Introduction 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 information

CS200: Graphs. Rosen Ch , 9.6, Walls and Mirrors Ch. 14

CS200: 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 information

Randomized Graph Algorithms

Randomized 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 information

Spanning Trees and Optimization Problems

Spanning 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 information

Travelling 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 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 information

Computer Networks 52 (2008) Contents lists available at ScienceDirect. Computer Networks. journal homepage:

Computer 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 information

CSE 100: GRAPH ALGORITHMS

CSE 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 information

Today: Amortized Analysis (examples) Multithreaded Algs.

Today: 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 information

HEURISTIC ALGORITHMS FOR THE GENERALIZED MINIMUM SPANNING TREE PROBLEM

HEURISTIC 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 information

Traveling 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 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 information

CS261: Problem Set #2

CS261: 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 information

Minimum Cost Edge Disjoint Paths

Minimum 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 information

Optimal tour along pubs in the UK

Optimal 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 information

Minimum cost spanning tree

Minimum 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 information

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Theory 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 information

The minimum cost spanning tree problem

The 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 information

Computing optimal total vertex covers for trees

Computing 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

Massachusetts 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 information

1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m

1 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 information

CAD Algorithms. Categorizing Algorithms

CAD 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 information

Spanning Trees, greedy algorithms. Lecture 20 CS2110 Fall 2018

Spanning 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 information

10/31/18. About A6, Prelim 2. Spanning Trees, greedy algorithms. Facts about trees. Undirected trees

10/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 information

Algorithms for Minimum Spanning Trees

Algorithms 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 information

L.J. Institute of Engineering & Technology Semester: VIII (2016)

L.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 information

On the rainbow vertex-connection

On 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 information

LATIN SQUARES AND TRANSVERSAL DESIGNS

LATIN 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 information

Chapter 2 Graphs. 2.1 Definition of Graphs

Chapter 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 information

Minimum-Cost Spanning Tree. Example

Minimum-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 information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 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 information

Example. Minimum-Cost Spanning Tree. Edge Selection Greedy Strategies. Edge Selection Greedy Strategies

Example. 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 information

Spanning Trees, greedy algorithms. Lecture 22 CS2110 Fall 2017

Spanning 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 information

LECTURE 26 PRIM S ALGORITHM

LECTURE 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 information

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Definition: 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

CMSC 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 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 information

CS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques

CS 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 information

A Partition Method for Graph Isomorphism

A 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 information

Notes for Lecture 24

Notes 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 information

managing an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm

managing 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 information

Minimum spanning trees

Minimum 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 information

Assignment No 2 (Group B)

Assignment 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 information

END-TERM EXAMINATION

END-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 information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 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 information

Theorem 2.9: nearest addition algorithm

Theorem 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 information

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

DESIGN 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 information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 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 information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: 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 information

Spanning Trees 4/19/17. Prelim 2, assignments. Undirected trees

Spanning 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 information

Spanning Trees. Lecture 22 CS2110 Spring 2017

Spanning 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 information

Advanced 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 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 information

Week 11: Minimum Spanning trees

Week 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 information

Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP).

Optimal 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 information

2 A Template for Minimum Spanning Tree Algorithms

2 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 information

Characterization of Super Strongly Perfect Graphs in Chordal and Strongly Chordal Graphs

Characterization 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 information

18 Spanning Tree Algorithms

18 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 information

A 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 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 information

Dijkstra s algorithm for shortest paths when no edges have negative weight.

Dijkstra 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 information

Minimum spanning trees

Minimum 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 information

Algorithms and Data Structures (INF1) Lecture 15/15 Hua Lu

Algorithms 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 information

1 The Traveling Salesman Problem

1 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 information

Polynomial time approximation algorithms

Polynomial 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 information

CSE 21 Mathematics for Algorithm and System Analysis

CSE 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 information

Minimum Spanning Trees My T. UF

Minimum 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 information

Topics. Trees Vojislav Kecman. Which graphs are trees? Terminology. Terminology Trees as Models Some Tree Theorems Applications of Trees CMSC 302

Topics. 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 information

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Advanced 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 information

1 Shortest Paths. 1.1 Breadth First Search (BFS) CS 124 Section #3 Shortest Paths and MSTs 2/13/2018

1 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 information

Design and Analysis of Algorithms

Design 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 information

Minimum Spanning Trees

Minimum 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)

) $ 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 information

Fall CS598CC: Approximation Algorithms. Chandra Chekuri

Fall 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 information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: 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 information

COMP 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 (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 information

SPANNING TREES. Lecture 21 CS2110 Spring 2016

SPANNING 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 information

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 + 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 information

Constrained Minimum Spanning Tree Algorithms

Constrained 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 information

Representations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs

Representations 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 information

V1.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).

V1.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 information

Prim Algorithm Based on Heap for Finding Minimal Spanning Tree of Ventilation Network. Buchuan Wang & Qinglong Liu & Wenbin Wu

Prim 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 information

Introduction to Optimization

Introduction 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 information

Hardness of Subgraph and Supergraph Problems in c-tournaments

Hardness 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 information

Lecture 4: Graph Algorithms

Lecture 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 information

Practice Problems for the Final

Practice 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 information

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29

Lecture 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 information

Lecture 8: The Traveling Salesman Problem

Lecture 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