We approve the thesis of Gnanasekaran Sundarraj.

Size: px
Start display at page:

Download "We approve the thesis of Gnanasekaran Sundarraj."

Transcription

1 We approve the thesis of Gnanasekaran Sundarraj. Date of Signature Thang N. Bui Associate Professor of Computer Science Chair, Mathematics and Computer Science Programs Thesis Advisor Sukmoon Chang Assistant Professor of Computer Science Qin Ding Assistant Professor of Computer Science Pavel Naumov Assistant Professor of Computer Science Linda M. Null Assistant Professor of Computer Science Graduate Coordinator Omid Ansary Professor of Electrical Engineering Director, School of Science, Engineering, and Technology

2 I grant The Pennsylvania State University the non-exclusive right to use this work for the University s own purposes and to make single copies of the work available to the public on a not-for-profit basis if copies are not otherwise available. Gnanasekaran Sundarraj

3 The Pennsylvania State University The Graduate School ON THE K-CARDINALITY TREE PROBLEM A Thesis in Computer Science by Gnanasekaran Sundarraj c 2005 Gnanasekaran Sundarraj Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science May 2005

4 The thesis of Gnanasekaran Sundarraj was reviewed and approved by the following: Thang N. Bui Associate Professor of Computer Science Chair, Mathematics and Computer Science Programs Thesis Advisor Sukmoon Chang Assistant Professor of Computer Science Qin Ding Assistant Professor of Computer Science Pavel Naumov Assistant Professor of Computer Science Linda M. Null Assistant Professor of Computer Science Graduate Coordinator Omid Ansary Professor of Electrical Engineering Director, School of Science, Engineering, and Technology Signatures are on file in the Graduate School.

5 Abstract Given an edge-weighted, connected, undirected graph G = (V, E) and an integer k, where 1 k V 1, the k-cardinality tree problem is to find a minimum weight subgraph of G that is a tree having k edges. This problem has been proven to be NP-hard on both general and planar graphs. In this thesis, we study the k-cardinality tree problem on planar as well as general graphs. We present a dynamic programming algorithm to solve this problem on planar graphs. For a given m-outerplanar embedding of an n-vertex planar graph, the algorithm takes O(n2 2m m 3m (m 3 +k 2 )) time. For the k-cardinality tree problem on general graphs, we give an ant-based algorithm. Experimental results show that the ant-based algorithm performs very well against existing algorithms from various methodologies. iii

6 Table of Contents List of Figures List of Tables Acknowledgements vi vii ix Chapter 1 Introduction Problem Definition Thesis Overview Chapter 2 k-cardinality Tree Problem on Planar Graphs Definitions and Terminology Vertex Level and m-outerplanarity m-outerplane Graph and Ordered Rooted Trees Slice and Slice Boundary Partitions and Blocks Slice Table The Dynamic Programming Algorithm Slice Operation Merge Operation Extend Operation Create Operation iv

7 2.2.5 Adjust Operation Contract Operation Chapter 3 k-cardinality Tree Problem on General Graphs Motivation The Ant-Based Algorithm Discovery Stage Tree Construction Stage Local Optimization Stage Experimental Results Chapter 4 Conclusion 34 Appendix A Performance Tables for the ABkCT Algorithm 35 References 48 v

8 List of Figures 2.1 An outerplanar graph and its ordered rooted tree A 3-outerplanar graph and its ordered rooted trees Level-3 slices for the 3-outerplanar graph shown in Figure Baker s algorithm for the slice operation Slice table computation for the edge (2, 3) Constraint removal on the merged slice Algorithm for the merge operation Algorithm for the extend operation Algorithm for the adjust operation Algorithm for the contract operation An edge-weighted graph ABkCT algorithm Discover algorithm Construct tree algorithm Stage 1 of the local optimize algorithm Stage 2 of the local optimize algorithm Stage 3 of the local optimize algorithm Stage 4 of the local optimize algorithm vi

9 List of Tables 2.1 Slice table for the level-1 edge (B,C) Benchmark graphs from KCTLIB A.1 ABkCT solution quality on g A.2 ABkCT solution quality on g A.3 ABkCT solution quality on g A.4 ABkCT solution quality on g A.5 ABkCT solution quality on bb15x A.6 ABkCT solution quality on bb15x A.7 ABkCT solution quality on bb33x A.8 ABkCT solution quality on bb33x A.9 ABkCT solution quality on steinc A.10 ABkCT solution quality on steinc A.11 ABkCT solution quality on steind A.12 ABkCT solution quality on steind A.13 Results for all algorithms on g A.14 Results for all algorithms on g A.15 Results for all algorithms on g A.16 Results for all algorithms on g A.17 Results for all algorithms on bb15x A.18 Results for all algorithms on bb15x A.19 Results for all algorithms on bb33x A.20 Results for all algorithms on bb33x vii

10 A.21 Results for all algorithms on steinc A.22 Results for all algorithms on steinc A.23 Results for all algorithms on steind A.24 Results for all algorithms on steind viii

11 Acknowledgements I would like to thank my advisor, Dr. Thang N. Bui, for his valuable input and guidance in achieving the goals of this thesis, and also in making this report more presentable. I am grateful to the members of the thesis committee: Dr. Sukmoon Chang, Dr. Qin Ding, Dr. Pavel Naumov, and Dr. Linda M. Null for reviewing this thesis report. I would like to thank Dr. Daniel J. Rosenkrantz and Dr. S. S. Ravi for the helpful discussions. I would like to extend my thanks to Dr. Donald E. Knuth for inventing TEX, a wonderful typesetting system. ix

12 Chapter 1 Introduction The k-cardinality tree problem is a combinatorial optimization problem from graph theory. The objective of this problem is to find a minimum weight k-edge tree in a given edge-weighted graph. The k-cardinality tree problem was first described by Hamacher, Jørnsten, and Maffioli [21], and this problem arises in various areas such as facility layout [17], graph partitioning [18], matrix decomposition [8], oil-field leasing [16], and quorumcast routing [12]. 1.1 Problem Definition Let G = (V,E) be an edge-weighted, connected, undirected graph with vertex set V, edge set E, and a weight function w : E R + assigning a positive weight for each edge of G. Let n = V. A k-cardinality tree of G is a subgraph of G that is a tree having k edges. The weight of a k-cardinality tree T is the sum of the weights of all the edges in T. The k-cardinality tree problem is defined as follows. Input: An edge-weighted, connected, undirected graph G = (V,E) with a weight function w : E R + and an integer k, where 1 k V 1. Output: A minimum weight k-cardinality tree of G. In the remainder of this thesis, we assume that the input graph G is an edge-weighted, connected, undirected graph, unless otherwise stated. The k-

13 1 INTRODUCTION 2 cardinality tree problem has been proven to be NP-hard on general as well as planar graphs [21]. It remains NP-hard even if w : E {1, 2, 3} [26]. However, it is solvable in polynomial time if the range of w has cardinality 2 [26]. Also, the problem is solvable in O(nk 2 ) time for the class of decomposable graphs that includes trees, series-parallel graphs, Halin graphs, and bandwidth-limited graphs [26]. Note that when k = n 1, this problem becomes the minimum spanning tree problem that can be solved in time polynomial in n [13]. For the k-cardinality tree problem on general graphs, a (2 + ɛ)-approximation algorithm that has a running time of n O(1/ɛ) for any ɛ > 0 is given in [1]. On planar graphs with edge weights being the Euclidean distance between the end vertices, this problem can be approximated to within 2 2 of the optimum [24]. Several heuristic and meta-heuristic algorithms have been developed for the k-cardinality tree problem on general graphs. Chapter 3 lists some of these algorithms. 1.2 Thesis Overview In this thesis, we study the k-cardinality tree problem on both planar and general graphs. In Chapter 2, we give a dynamic programming algorithm for this problem on planar graphs. Given an m-outerplanar embedding of an n-vertex planar graph, we show that this problem can be solved in O(n2 2m m 3m (m 3 +k 2 )) time. In Chapter 3, we present an ant-based algorithm for the k-cardinality tree problem on general graphs. We test our ant-based algorithm on several benchmark graphs and compare the results against a number of existing heuristic and meta-heuristic algorithms. Finally, we give the conclusion in Chapter 4. Portions of this thesis also appeared in [11].

14 Chapter 2 k-cardinality Tree Problem on Planar Graphs In this chapter, we present a dynamic programming algorithm for the k-cardinality tree problem restricted to the class of planar graphs. Given an m-outerplanar embedding of an n-vertex planar graph, the running time of the proposed algorithm is O(n2 2m m 3m (m 3 +k 2 )). For constant value of m, the running time is linear in n. The dynamic programming algorithm is based on the slicing technique introduced by Baker [2]. Given an m-outerplanar embedding of an n-vertex planar graph, this technique allows us to solve many NP-hard problems in time polynomial in n, but exponential in m. Using this technique, Baker showed that given an m-outerplanar embedding of an n-vertex planar graph, the maximum independent set problem can be solved in O(n2 3m ) time [2]. Baker also showed how to adapt this approach to solve some NP-hard problems on planar graphs [2]. Bui and Peck applied this technique to the graph bisection problem on planar graphs [10]. Also, Bui and Jones have used the same technique to solve the vertex separator problem on planar graphs [9]. Application of this slicing technique to the k-cardinality tree problem is unique in that the algorithm has to take into consideration additional constraints, such as connectivity and acyclicity, when computing solutions to larger subproblems from the solutions of smaller subproblems. These additional constraints make it more difficult to apply the slicing technique to the k-cardinality tree problem than to other problems, like the maximum independent set problem for example, where the merging of subproblem solutions is straightforward.

15 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 4 In Section 2.1, we introduce the necessary definitions and terminology before presenting the algorithm in Section Definitions and Terminology A planar graph is any graph that can be embedded in a plane without edge crossings. We use the term plane graph to refer to a planar embedding Vertex Level and m-outerplanarity Let G be an n-vertex planar graph and Ĝ be a planar embedding of G. The various regions defined by Ĝ are called its faces, the bounded regions being called the interior faces and the unbounded region the exterior face [22]. All vertices on the exterior face of Ĝ are called level-1 vertices. If we remove all the level-1 vertices along with their incident edges, the vertices on the new exterior face are called level-2 vertices, and so on. A planar embedding is m-outerplanar if it has level-m vertices but no vertices of level greater than m. The outerplanarity of a planar graph G is the minimum value of m such that G has an m-outerplanar embedding. Given a planar graph G, an m-outerplanar embedding of G for which m is minimum can be obtained in time polynomial in n [3]. The 1-outerplanar graphs are simply called outerplanar graphs. We use the term m-outerplane graph to denote an m-outerplanar embedding of a planar graph. A level edge is an edge that connects two vertices that are at the same level in an m-outerplanar embedding. An interlevel edge is an edge that connects a vertex at some level i, where 1 < i < m, to a level-(i 1) or a level-(i + 1) vertex. Note that an m-outerplanar embedding consists of only level and interlevel edges. A level-i subgraph is a subgraph induced by all the vertices that are at level i. Using the special data structures given in [23], the level of a vertex and its neighbors in the m-outerplanar embedding can be obtained in time linear in n m-outerplane Graph and Ordered Rooted Trees In order to apply the slicing technique, the m-outerplanar embedding Ĝ is first represented by a set of ordered rooted trees, one tree for each connected compo-

16 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 5 nent 1 of a level-i subgraph in Ĝ, where 1 i m. Since a level-i subgraph is outerplanar, we first explain how this tree representation can be constructed for an outerplanar graph. Let G be an outerplanar graph and Ĝ be an outerplanar embedding of G. We call an edge in Ĝ exterior if it lies on the outer face, otherwise it is called a diagonal edge. In other words, an exterior edge separates an interior face from the exterior face, whereas a diagonal edge separates two interior faces. Any two interior faces that share a diagonal are called neighboring faces. Let T(Ĝ) be an ordered rooted tree representation for Ĝ. Each leaf vertex in T(Ĝ) represents an exterior edge, and each non-leaf vertex represents an interior face of Ĝ. The root of T(Ĝ) can represent any interior face of Ĝ. In order to root T(Ĝ), an interior face F of Ĝ is chosen first. Then a vertex v on F is selected to form the root of T(Ĝ), represented as (v,v). Once the root vertex is chosen, the ordering of the children of (v, v) immediately follows by traversing in counterclockwise direction along F starting at the vertex v. If the child vertex is a diagonal edge, it represents the neighboring face in which case the child vertex will have its own children. A E (A,A) F 1 F 2 D (A,B) (B,C) (C,E) (E,A) B C (C,D) (D,E) Figure 2.1. An outerplanar graph and its ordered rooted tree Figure 2.1 shows a simple outerplanar graph and its ordered rooted tree. The graph has two interior faces: F 1 and F 2. Let us assume that the vertex A from the face F 1 is chosen for the root of the tree. So (A,A) will represent the root and a counterclockwise walk around F 1 starting from A gives the child vertices, (A,B), (B,C), (C,E), and (E,A) where (C,E) represents the face F 2. Starting 1 A connected component of a graph G = (V,E) is a subgraph induced by a vertex set V V such that there exists a path between any pair of vertices in V and no vertex in V is adjacent to a vertex in V V.

17 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 6 from C and traversing in the counterclockwise direction around F 2, we get (C,D) and (D,E) as the child vertices of (C,E). Here the vertices (A,A) and (C,E) are called face vertices since they represent the faces F 1 and F 2, respectively. In order to construct T(Ĝ), we assume that the outerplanar graph G is biconnected, i.e., there are no bridges 2 in G. If there is a bridge, it can be replaced by two edges so that the bridge can be treated as a face. The case when the outerplanar graph has cutpoints 3 is described in detail in [2]. For the case of m-outerplanar graphs, the trees for each level-i subgraph, 1 i m, are constructed in the same way, except that the root vertex for each level-i tree, where i > 1, is chosen based on the enclosing face vertex. Let (x,y) be the level-i face vertex, where 1 i < m, that encloses a level-(i + 1) component. Let z be a vertex in the enclosed level-(i + 1) component such that it is possible to draw a line from x to z without violating planarity. Then (z,z) becomes the root vertex of the ordered rooted tree for the enclosed component. If more than one such vertex can be found, one of them can be chosen arbitrarily to form the root vertex. Figure 2.2 shows a simply nested 3-outerplanar graph with its ordered rooted trees, one for each level. We will be using this graph to explain the details of the algorithm. The arguments and results remain the same for any planar graph. Let G be an n-vertex planar graph and Ĝ be an m-outerplanar embedding of G. The total number of vertices in the ordered rooted trees of Ĝ is linear in the number of edges in G. Since the number of edges in a planar graph G is linear in the number of its vertices, given an m-outerplanar embedding Ĝ of G, it is easily verified that T(Ĝ) can be constructed in time linear in n Slice and Slice Boundary The Baker s slicing technique recursively decomposes the m-outerplanar embedding into what are called slices and each slice has a slice table. A slice table contains the solution to the problem within the corresponding slice. The slice tables are then merged to obtain the solution within the union of the slices. 2 A bridge is an edge of a graph G whose removal increases the number of connected components in G [22]. 3 A cutpoint is a vertex of a graph G whose removal increases the number of connected components in G [22].

18 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 7 Level 1: (A,A) A D (A,B) (B,C) (C,D) (D,A) a 1 4 d Level 2: (a,a) 2 3 b c B C (a,b) (b,c) (c,d) (d,a) Level 3: (1, 1) (1, 2) (2, 3) (3, 4) (4, 1) Figure 2.2. A 3-outerplanar graph and its ordered rooted trees Each vertex in the ordered rooted tree has a corresponding slice. Each leveli slice, where 1 i m, has two slice boundaries, and each boundary is an ordered set of vertices, one from each level starting from level i to level 1. The decomposition is done in a such way that a level-i slice contains at most 2i boundary vertices. A level-i slice having 2i boundary vertices is said to be bounded or constrained by its boundary vertices. A slicing of an m-outerplanar embedding is merely the selection of slice boundaries such that (i) every level-i vertex is part of a level-i slice boundary (ii) every level-i slice boundary, where i > 1, is an extension of some level-(i 1) slice boundary, and (iii) a line drawn through the vertices of one slice boundary does not intersect a similar line drawn for any other boundary, but two boundaries may coincide. Figure 2.3 shows the level-3 slices for the graph shown in Figure 2.2. The slice boundaries for the tree vertex that represents the edge (2, 3) are {2,b,B} and {3,c,C}. Similarly, the boundaries of the slice (b,c) are {b,b} and {c,c}. Note that for the slice (2, 3), the vertices 2,b, and B form one of the two boundaries

19 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 8 A D A a d D a 1 4 d b 2 3 c B b c C B C Figure 2.3. Level-3 slices for the 3-outerplanar graph shown in Figure 2.2 that is represented by the dashed line. Two slices are adjacent if they share a common boundary. For the k-cardinality tree problem, any interlevel edge with both endpoints in a common boundary is arbitrarily included in one slice or in the other, but not in both. The slicing of an m-outerplanar embedding is done such that two adjacent slices share no more than m boundary vertices. Given an m-outerplanar embedding, its slices can be constructed in time linear in n such that each slice has at most 2m boundary vertices [2] Partitions and Blocks Given a set of i boundary vertices, there are B i different ways to partition the set into non-empty subsets, where B i is the Bell number for i [20]. The Bell number B i gives the number of ways a set of i elements can be partitioned into non-empty subsets, and B i = O(i i ). Let ν = {v 1,v 2,v 3,...,v i } denote a set of i boundary vertices. A partition P of ν is a set {β 1,β 2,β 3,...,β j } where β p, β p ν, β 1 β j = ν, and β p β q =, for 1 p,q j. Each set in a partition is called a block. The concept of partitions and blocks is specific to the k-cardinality tree problem

20 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 9 and the idea here is to consider each block as a tree spanning all the boundary vertices in the block and each partition as a forest containing as many trees as there are blocks in it. The tree that corresponds to a particular block can also include vertices other than the boundary vertices in the block, but trees that correspond to two different blocks are vertex disjoint. Thus, a forest represented by a partition cannot have a tree that is not spanning any of the boundary vertices, i.e., each tree in the forest must span at least one boundary vertex. For a given level-i slice, where 1 i m, having 2i boundary vertices, there are 2 2i 1 combinations of boundary vertices, excluding the one in which none of the boundary vertices are included. Given a boundary vertex combination containing j vertices, there are B j different partitions available for that combination, each partition representing a forest configuration. Therefore, the total number of partitions for a level-i slice having 2i boundary vertices is at most 2i ( 2i ) j=1 Bj. Note j that there are some partitions that are invalid. For example, let us consider the level-3 slice (2, 3) shown in Figure 2.3. For the combination of boundary vertices {2,b,B, 3,c,C}, the partition {{2,c,B}, {3,b,C}} is an invalid partition because the trees represented by its blocks {2,c,B} and {3,b,C} cannot be vertex disjoint. But in general, the Bell number gives an upper bound on the total number of partitions in any boundary vertex combination Slice Table While the slicing of an m-outerplanar embedding is problem independent, the slice table is problem dependent. Next we show the slice table organization for the k-cardinality tree problem. For each level-i slice, where 1 i m, and for each combination of its boundary vertices, we tabulate the minimum s-cardinality forest weight, where 1 s k, for each partition under this combination. By an s-cardinality forest, we mean a forest whose total number of edges is s. The number of edges contributed by each tree in an s-cardinality forest can be from 0 to s. The s-cardinality forest weight is the sum of the weights of all the edges in the forest. We mentioned before that the total number of partitions in a level-i slice having 2i boundary vertices is at most 2i ( 2i ) j=1 Bj. Let us call this number r j 2i. Therefore, the slice table for a level-i

21 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 10 slice will be of size r 2i k. Given a partition, we assume that the corresponding row in the slice table can be accessed in constant time. For each slice, the minimum k-cardinality forest weight among all partitions that have only one block gives the optimal k-cardinality tree weight in that slice. The minimum of all such optimal k-cardinality tree weights, one from each slice table, gives the optimal k-cardinality tree weight for the entire graph. The corresponding k-cardinality tree is an optimal solution in the given graph. 2.2 The Dynamic Programming Algorithm As mentioned before, the dynamic programming algorithm is based on the slicing technique introduced by Baker [2]. The slicing algorithm, which is explained in Section 2.2.1, uses five basic operations, namely merge, extend, create, adjust, and contract, for manipulating the slice tables during the process. By providing problem-specific algorithms for these basic operations, the slicing technique can be applied to solve many optimization problems on planar graphs. For the k-cardinality tree problem on planar graphs, we provide algorithms for these five operations in Sections through The functions performed by these operations are briefly mentioned below. Merge: Merges the slice tables of two adjacent level-i slices, where 1 i m. Extend: Extends the slice table of a level-(i 1) slice to include a level-i vertex, where 1 < i m. Create: Creates the initial slice table for a level-i slice, where 1 i m. Adjust: Adjusts the slice table of a level-i slice having level-i boundary vertices x and y to reflect the existence of an edge (x,y) or to reflect the fact that the two boundaries of the slice contain the common vertex x = y, where 1 i m. Contract: Contracts the level-i slice table into a level-(i 1) slice table by removing the constraint on the level-i boundary vertices, where 1 < i m.

22 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS Slice Operation In this section, we explain the slicing process by using the 3-outerplanar graph shown in Figure 2.2. The complete algorithm for this is given in [2]. Figure 2.4 shows the general outline of this algorithm. SLICE(v) 1 let (x,y) be the edge represented by the input vertex v 2 let i be the level of the edge (x,y) 3 if v is a face vertex and encloses no level-(i + 1) component then 4 T SLICE(u) / u is the leftmost child of v / 5 for each other child c of v from left to right do 6 T MERGE(T, SLICE(c)) 7 return ADJUST(T) 8 else if v is a face vertex and encloses a level-(i + 1) component C then 9 return ADJUST(CONTRACT(SLICE(root(C)))) 10 else if v is a level-1 leaf vertex then 11 return the table for the level-1 slice (x,y) 12 else / v is a level-i leaf vertex, i > 1 / 13 prepare the table T for v by performing the required sequence 14 of CREATE, EXTEND, and MERGE operations 15 return T Figure 2.4. Baker s algorithm for the slice operation The function SLICE is called on the root vertex (A,A) of the level-1 tree. Since (A,A) is a face vertex that encloses a next higher level component, lines 8 and 9 cause the function SLICE to be recursively called on the root vertex (a,a) and then on the root vertex (1, 1) of the enclosed level-2 and level-3 components, respectively. Lines 4 through 7 compute the slice table for the children of (1, 1), starting from the leftmost child, and merge them together to obtain a single slice table. The computation of the slice tables for the children of (1, 1) is handled in lines 13 and 14. Next we explain the slice table computation for the leaf vertex (2, 3) that is a child of (1, 1). The various stages in computing this level-3 slice table are shown in Figure 2.5. First the algorithm starts with the table for the level-1 slice (B,C) that can be computed straightaway as shown in Table 2.1. The boundary vertices for this level- 1 slice are B and C. We consider the three possible combinations of boundary vertices {B}, {C}, and {B,C}. For the combinations {B} and {C}, there is only one partition and for each partition the s-cardinality forest weights, where

23 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 12 b b c B C (a) (b) C b c 2 b c B C (c) B C (d) c b c (e) C B C (f) Figure 2.5. Slice table computation for the edge (2, 3) 1 s k, are all set to undefined. By undefined, we mean a large positive number that is greater than the largest edge weight in the input graph. In the algorithms, we denote this by. For the combination {B,C}, there are two ways to partition the set. For the partition {{B}, {C}}, all the weights are again set to undefined. For the partition {{B,C}}, the 1-cardinality forest weight is set to w (B,C), the weight of the edge (B,C), and rest of the weights are all set to undefined. The extend operation then extends the table for the slice (B,C) to include Table 2.1. Slice table for the level-1 edge (B, C) Boundary vertices Partitions s = 1 s = 2 s = 3 s = k {B} {{B}} {C} {{C}} {B,C} {{B}, {C}} {{B,C}} w (B,C)

24 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 13 vertex b. The extended table represents the slice bounded by {b, B} and {b, C} and shown in Figure 2.5(a). Next the table for the slice bounded by {b,c} and {c,c} and shown in Figure 2.5(b) is obtained through the create operation which is then merged with the table for the slice shown in Figure 2.5(a). This merge operation gives the table for the level-2 slice (b,c) shown in Figure 2.5(c). The table for the slice (b, c) is then extended to include vertex 2. This extended table represents the slice bounded by {2,b,B} and {2,c,C} and shown in Figure 2.5(d). Next the table for the slice bounded by {2,c,C} and {3,c,C} and shown in Figure 2.5(e) is obtained through the create operation that is then merged with the table for the slice shown in Figure 2.5(d) to obtain the table for the level-3 slice (2, 3) shown in Figure 2.5(f). Lines 5 and 6 merge the slice tables of the leaf vertices in the level-3 tree, starting from the leftmost child to obtain a single table. This table represents the slice bounded by {1,a,A} and {1,a,A} and shown in Figure 2.6(a). Through a sequence of alternating adjust and contract operations, the boundary vertex constraints on this merged slice are removed starting from level 3. Figure 2.6(b) shows the slice after the adjust and contract operations remove the constraint on the level-3 vertex 1. Now, the boundaries of the slice are {a,a} and {a,a}. The following adjust and contract operations remove the constraint on the level-2 vertex a. The slice, shown in Figure 2.6(c), is now constrained by the root vertex (A,A) of the level-1 tree. The table for this slice is then adjusted and returned. The following lemmas, proved in [2], show the correctness of this algorithm. Lemma 1. Calling the function SLICE on the root of the level-1 tree leads to exactly one recursive call on every other vertex of each tree of each level. Lemma 2. A call of the function SLICE on the root of the level-1 tree results in a correct table for the corresponding slice. These two lemmas together prove that the recursion is finite and is called exactly once on each tree vertex. Also, the final table returned by the algorithm is the correct table for the slice constrained by the root vertex of the level-1 tree. In the following sections, we present the algorithm for each of the aforementioned five operations for the k-cardinality tree problem.

25 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 14 A A D A A D a a d a a 1 4 d b c b c B C (a) B C (b) A A D a d b c B C (c) Figure 2.6. Constraint removal on the merged slice Merge Operation This operation merges the slice tables of two adjacent level-i slices, where 1 i m, that share a common boundary. Let S 1 and S 2 be two adjacent level-i slices. Let T 1 and T 2 be the slice tables for S 1 and S 2, respectively. The slice tables T 1 and T 2 are both of size r 2i k. Let µ and ω be the boundaries of the slice S 1 and let ω and η be the boundaries of the slice S 2. Here ω is the common boundary between the slices S 1 and S 2. Let T be the slice table for the union of the slices S 1 and S 2. Let S = S 1 S 2. The slice S is constrained by the boundaries µ and η. Note that the slice table T is also of size r 2i k.

26 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 15 MERGE(T 1,T 2 ) 1 create an empty slice table T 2 for each partition P 1 in T 1 having boundary vertex sets µ µ and ω ω do 3 for each partition P 2 in T 2 having boundary vertex sets ω ω and η η do 4 P 5 for each block β 1 in P 1 do 6 for each block β 2 in P 2 do 7 if β 1 β 2 > 1 then 8 go to step 3 9 else if β 1 β 2 = 1 then 10 P P {β 1 β 2 } 11 else 12 P P {β 1 } {β 2 } 13 for each pair of blocks β 1 and β 2 in P do 14 if β 1 β 2 then 15 P P {β 1 } 16 for each block β in P do 17 if β contains only the boundary vertices in ω then 18 go to step 3 19 else 20 remove any boundary vertices in ω from β 21 for each block β in P do 22 if β contains same-level boundary vertices that are same then 23 for s 1 to k do 24 w(t,p,s) 25 go to step 3 26 for s 1 to k do 27 w min 28 for a 0 to s do 29 if w(t 1,P 1,a) + w(t 2,P 2,s a) < w min then 30 w min w(t 1,P 1,a) + w(t 2,P 2,s a) 31 if w min < w(t,p,s) then 32 w(t,p,s) w min 33 return T Figure 2.7. Algorithm for the merge operation The algorithm for the merge operation is given in Figure 2.7. Each partition P 1 from T 1 having boundary vertex sets µ µ and ω ω is merged with each partition P 2 in T 2 having boundary vertex sets ω and η η, and for each combination of P 1 and P 2, the entries in T are computed. Line 1 first creates an empty slice table T. For each combination of P 1 and P 2, lines 4 through 25 compute and validate the partition P that represents the forest obtained by merging the forest represented by P 1 with the forest represented by P 2. In lines 5 through 12, each block β 1 in P 1 is checked against each block β 2 in P 2.

27 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 16 If the number of common vertices between β 1 and β 2 is more than 1, then merging the trees represented by β 1 and β 2 will create a cycle. So this combination of P 1 and P 2 is skipped. If there is one common vertex between β 1 and β 2, then {β 1 β 2 } is added to P. If there are no vertices in common between β 1 and β 2, then {β 1 } and {β 2 } are added to P. Lines 13 through 15 check each pair of blocks β 1 and β 2 in P to see if β 1 β 2. If so, β 1 is removed from P. Since the slice S is constrained by only µ and η, lines 16 through 20 remove any boundary vertices in ω from each block β in P. The algorithm also checks β to see if it contains only vertices from ω. If so, then β represents a tree that does not span any of the boundary vertices in µ and η. Since each tree in a forest must span at least one boundary vertex, this combination of P 1 and P 2 is also skipped. Lines 21 through 25 check the partition P to see if, for any level j, where 1 j i, the level-j boundary vertices in µ and η are the same and they are in the same block. If so, then merging the forests represented by P 1 and P 2 will create a cycle. Such combinations of P 1 and P 2 are also skipped after setting the s-cardinality forest weights, where 1 s k, to undefined. Once P is computed and verified to be a valid partition, lines 26 through 32 compute the minimum s-cardinality forest weight for the partition P, where 1 s k, by considering the s + 1 ways of splitting the s-cardinality forest between the slices S 1 and S 2 and update the table T with the minimum weight. By w(t,p,s), we mean the s-cardinality forest weight in table T represented by the partition P. Finally, the table T for the slice S is returned. The following lemma states the running time for the merge operation. Lemma 3. Let S 1 and S 2 be two adjacent level-i slices. Let T 1 and T 2 be the slice tables for S 1 and S 2, respectively. The merge operation that computes the slice table T for the slice S = S 1 S 2 from T 1 and T 2 can be performed in O(2 2i i 3i (i 3 + k 2 )) time. Proof. The for statements in line 2 and 3 are executed r 2i times and r i times, respectively. So the lines 4 through 32 are executed r 2i r i times. By applying binomial theorem, we get r 2i r i = O(2 2i i 2i ) O(i i ) = O(2 2i i 3i ). The for statements in line 5 and 13 each take O(i 3 ) time. The for statements in line 16, 21, and 26

28 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 17 take O(i 2 ), O(i 2 + k), and O(k 2 ) time, respectively. So the overall running time for the merge operation is O(2 2i i 3i (i 3 + k 2 )) Extend Operation Given the slice table T i 1 for a level-(i 1) slice S and a level-i vertex z such that the boundaries of S can be extended to include z, the extend operation returns the level-i slice table T i for the slice S bounded by µ = {z} µ and η = {z} η where µ and η are the boundaries of S. In S, there are at most two edges from z to the level-(i 1) boundary vertices of S. For the k-cardinality tree problem, we keep one of these two edges in S and move the other to the left or the right side slice that will be merged later with S. This is done in order to simplify the computation of the entries in T i. Since both µ and η contain the vertex z, a boundary vertex combination containing only one z represents a conflicting combination and is invalid. So the s-cardinality forest weights, where 1 s k, for a partition under such a conflicting boundary vertex combination are all set to undefined in T i. The remaining entries in T i are computed by adjusting the entries in T i 1 to include the edge from z to one of the two level-(i 1) boundary vertices. Figure 2.8 gives the algorithm for this operation. The algorithm starts out with an empty slice table T i. For each partition P i in T i, the procedure checks for the vertex z. Lines 4 and 5 handle the case where the vertex z is not included in P i in which case the s-cardinality forest weights, where 1 s k, for the partition P i in T i 1 are copied over to T i. If z is included only once in P i, lines 7 and 8 set the s-cardinality forest weights, where 1 s k, to undefined. If z is included twice in P i, lines 11 and 12 set the s-cardinality forest weights, where 1 s k, to undefined if the two z s are in different blocks. Lines 14 through 39 handle the various scenarios when the two z s are in the same block and set the s-cardinality forest weights accordingly in T i. Lemma 4. Let S be a level-(i 1) slice and let z be a level-i vertex such that the boundaries of S can be extended to include z. A table for the extended slice that includes z can be computed in O(2 2i i 2i (i + k)) time. Proof. The for statement in line 2 is executed r 2i times and each time only one for statement between lines 3 and 39 is executed. Each of the inside for statement

29 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 18 EXTEND(T i 1,z) 1 create an empty slice table T i 2 for each partition P i in T i do 3 if z is not included in any of the blocks in P i then 4 for s 1 to k do 5 w(t i,p i,s) w(t i 1,P i,s) 6 else if z is included only once in some block in P i then 7 for s 1 to k do 8 w(t i,p i,s) 9 else / z is included twice in some block(s) in P i / 10 if the two z s are in different blocks then 11 for s 1 to k do 12 w(t i,p i,s) 13 else / the two z s are in the same block / 14 if no edge from z to either level-(i 1) boundary vertices in this slice then 15 if the block that contains both z s contains other vertices also then 16 for s 1 to k do 17 w(t i,p i,s) 18 else 19 P i 1 P i {the block that contains both z s} 20 for s 1 to k do 21 w(t i,p i,s) w(t i 1,P i 1,s) 22 else 23 let a be the level-(i 1) boundary vertex that is adjacent to z in this slice 24 if z s and a are in different blocks then 25 if the block that contains both z s contains other vertices also then 26 for s 1 to k do 27 w(t i,p i,s) 28 else 29 P i 1 P i {the block that contains both z s} 30 for s 1 to k do 31 w(t i,p i,s) w(t i 1,P i 1,s) 32 else 33 P i 1 P i 34 remove z s from the block in P i 1 that contains them 35 for s 1 to k do 36 if w(t i 1,P i 1,s 1) + w (a,z) < w(t i 1,P i 1,s) then 37 w(t i,p i,s) w(t i 1,P i 1,s 1) + w (a,z) 38 else 39 w(t i,p i,s) w(t i 1,P i 1,s) 40 return T i Figure 2.8. Algorithm for the extend operation takes O(k) time and each of the if conditions can be tested in O(i) time. Thus, the overall running time for the extend operation is O(2 2i i 2i (i + k)).

30 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS Create Operation This operation creates the initial slice table for a leaf vertex of a tree for a level-i component, where 1 < i m, enclosed by a level-(i 1) face. Let u be the leaf vertex of a tree for the level-i component enclosed by a level-(i 1) face. Let (x,y) be the edge represented by u and let S be the slice of u. Let p and q be the level-(i 1) boundary vertices of S such that x and p are in one of the two boundaries of S and y and q are in the other boundary. Let z be a level-(i 1) vertex in S such that z is adjacent to y. Note that z could be either p or q itself. If there are more than one such adjacent vertices found, the one closest to p is chosen as z. If there is no such adjacent vertex found between p and q, then q is chosen as z. Let t be a level-(i 1) vertex in S such that t is adjacent to z and closest to p. Let v be the edge between z and t and let S be the slice of v. Note that S is a level-(i 1) slice. Given the vertices u and z, this operation creates the slice table for the subgraph that includes (i) the edge (x,y), (ii) the subgraph induced by the boundary of S that contains z, and (iii) any edges from x or y to z. It can be easily checked that there are i + 1 vertices and at most i + 1 edges in this subgraph. For example, let us consider the slice shown in Figure 2.5(e). The table for this slice is obtained using the create operation. Here v represents the edge (2, 3), and z the vertex c. Therefore, the edge (2, 3), the subgraph induced by the boundary {c,c} that contains c, and the edge (3,c) form the subgraph for which the slice table is created. Note that the edge (c,c) has already been included in the slice shown in Figure 2.5(d). So it is not included in the slice shown in Figure 2.5(e). Lemma 5. Given the leaf vertex u of a tree for a level-i component enclosed by a level-(i 1) face F and the vertex z on F, the initial slice table for u can be computed in O(i2 2i i 2i k) time. Proof. Since the slice includes i + 1 vertices and at most i + 1 edges, each of the r 2i k entries can be filled in O(i) time by scanning the i + 1 edges once. So it can be easily checked that the create operation can be performed in O(i2 2i i 2i k) time.

31 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS Adjust Operation Given the slice table T i for a level-i slice S, this operation adjusts the entries in T i based on the level-i boundary vertices. Let x and y be the two level-i boundary vertices of S. If x = y, then (x,y) is the root vertex in the ordered rooted tree that represents a level-i component enclosed by a level-(i 1) face. In this case, a partition that contains either x or y but not both, in some block, represents an invalid partition. The slice table entries for such partitions are set to undefined. If x y, then (x,y) is an edge, in which case we try to use the edge (x,y) if it reduces the existing s-cardinality forest weights, where 1 s k, for any partition. This operation adjusts the slice table for the above two cases. Figure 2.9 gives the algorithm for this operation. If x = y, then for each partition P i in T i, if P i contains either x or y but not both, lines 4 through 6 set the s-cardinality forest weights, where 1 s k, for this partition to undefined. If x y, then (x,y) is an edge. In this case, for each partition P i in T i, lines 8 through 40 check the various scenarios to see if the edge (x,y) can be included to reduce the existing s-cardinality forest weights, where 1 s k, and then update the entries in T i accordingly. Lemma 6. Let S be a level-i slice for which the slice table of size r 2i k has already been computed. The adjust operation on this table can be performed in O(2 2i i 2i (i + k)) time. Proof. There are r 2i partitions to check and in each partition, k entries may need to be adjusted. To check whether the vertices x and y are in any blocks in a partition, it takes O(i) time. Therefore, the adjust operation can be performed in O(2 2i i 2i (i + k)) time Contract Operation Given the slice table T i for a level-i slice S, the contract operation removes the constraints on the level-i boundary vertices and returns the level-(i 1) slice table T i 1. By the construction of the slicing operation, the contract operation is performed on the root vertex of a level-i component enclosed by a level-(i 1) face. Let µ and η be the boundaries of the level-(i 1) face. Then the boundaries of the

32 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 21 ADJUST(T i ) 1 let x and y be the highest level boundary vertices 2 if x = y then 3 for each partition P i in T i do 4 if P i contains either x or y, but not both, in some block then 5 for s 1 to k do 6 w(t i,p i,s) 7 else / (x,y) is an edge / 8 for each partition P i in T i do 9 if x and y are not in any block in P i then 10 P P i {{x,y}} 11 for s 1 to k do 12 if w(t i,p i,s 1) + w (x,y) < w(t i,p,s) then 13 w(t i,p,s) w(t i,p i,s 1) + w (x,y) 14 else if P i contains either x or y, but not both, in some block then 15 P P i 16 if P contains only x in some block then 17 add y to the block in P that contains x 18 else 19 add x to the block in P that contains y 20 for s 1 to k do 21 if w(t i,p i,s 1) + w (x,y) < w(t i,p,s) then 22 w(t i,p,s) w(t i,p i,s 1) + w (x,y) 23 else 24 if x and y are in the same block then 25 for s 1 to k do 26 P P i 27 remove x from the block in P that contains it 28 if w(t i,p,s 1) + w (x,y) < w(t i,p i,s) then 29 w(t i,p i,s) w(t i,p,s 1) + w (x,y) 30 P P i 31 remove y from the block in P that contains it 32 if w(t i,p,s 1) + w (x,y) < w(t i,p i,s) then 33 w(t i,p i,s) w(t i,p,s 1) + w (x,y) 34 else 35 P P i 36 let β 1 and β 2 be the blocks in P that contain x and y, respectively 37 P (P {β 1 β 2 }) {β 1 } {β 2 } 38 for s 1 to k do 39 if w(t i,p i,s 1) + w (x,y) < w(t i,p,s) then 40 w(t i,p,s) w(t i,p i,s 1) + w (x,y) 41 return T i Figure 2.9. Algorithm for the adjust operation enclosed level-i component are {x} µ and {x} η for some vertex x, where (x,x) represents the root vertex of the ordered rooted tree for the enclosed component.

33 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 22 CONTRACT(T i ) 1 create an empty slice table T i 1 2 let x be the highest level boundary vertex 3 for each partition P i in T i do 4 P i 1 P i 5 if P i 1 contains two x s in two different blocks then 6 let β 1 and β 2 be those two blocks 7 P i 1 (P i 1 {β 1 β 2 }) {β 1 } {β 2 } 8 remove the vertex x from any block in P i 1 9 for s 1 to k do 10 if w(t i,p i,s) < w(t i 1,P i 1,s) then 11 w(t i 1,P i 1,s) w(t i,p i,s) 12 return T i 1 Figure Algorithm for the contract operation The algorithm for this operation is given in Figure The algorithm starts out with an empty slice table T i 1. For each partition P i in T i, if P i includes the two x s in different blocks, the corresponding partition P i 1 for T i 1 is computed in lines 5 through 7. Line 8 removes the x s from any block in P i 1. Then the s-cardinality forest weights, where 1 s k, are transferred from T i to T i 1 in lines 9 through 11, and finally T i 1 is returned. Lemma 7. Let S be a level-i slice for which the slice table of size r 2i k has already been computed. The slice table for the slice constrained by the boundary vertices from the lower i 1 levels can be computed in O(2 2i i 2i (i + k)) time. Proof. There are r 2i k entries that must be checked and each such check can be performed in constant time. It takes O(i) time to check whether the leveli boundary vertices are in different blocks. So the contract operation can be performed in O(2 2i i 2i (i + k)) time. The running time of the dynamic programming algorithm for the k-cardinality tree problem on planar graphs is stated in the following theorem. Theorem 1. Given an m-outerplanar embedding of an n-vertex planar graph G and an integer k, where 1 k n 1, an optimal k-cardinality tree in G can be obtained in O(n2 2m m 3m (m 3 + k 2 )) time. Proof. It takes O(n) time to build the ordered rooted trees and to compute the slice boundaries. Each of the above five operations is performed at most once on

34 2 k-cardinality TREE PROBLEM ON PLANAR GRAPHS 23 each tree vertex. Since the number of edges is linear in the number of vertices in a planar graph, the maximum number of times each of these operations is performed is linear in n. So it takes O(n2 2m m 3m (m 3 +k 2 )) time to find an optimal k-cardinality tree.

35 Chapter 3 k-cardinality Tree Problem on General Graphs Several heuristic and meta-heuristic algorithms have been developed for the k- cardinality tree problem on general graphs. Under the heuristic category, an integer programming approach is given in [16], and a Branch and Bound approach is given in [12]. These heuristic algorithms are based on the greedy and dual greedy strategies in addition to the dynamic programming technique. Recent meta-heuristic approaches for this problem include ant colony optimization [5], evolutionary computation [7], tabu search [7], and variable neighborhood search [25]. We present an ant-based algorithm for the k-cardinality tree problem on general graphs. The algorithm is based on the ant colony optimization meta-heuristic approach introduced in [14]. The difference between our algorithm and the ant colony optimization algorithm is given in Section 3.1. The foraging behavior of real ants is the inspiration behind the ant colony optimization algorithms. While searching for food, ants leave pheromone trails between their nest and the food source. The shorter the path between the nest and the food source, the stronger the pheromone trail along the path. In ant colony optimization algorithms, artificial ants are used to imitate this behavior in searching for an optimal solution. We test our ant-based algorithm on a number of benchmark graphs and compare the results against several existing algorithms including an ant colony optimization algorithm, an evolutionary algorithm, a tabu search algorithm, and a greedy-based algorithm. Experimental results show that our algorithm performs very well against these algorithms. Our ant-based algorithm matches or surpasses

A note on Baker s algorithm

A note on Baker s algorithm A note on Baker s algorithm Iyad A. Kanj, Ljubomir Perković School of CTI, DePaul University, 243 S. Wabash Avenue, Chicago, IL 60604-2301. Abstract We present a corrected version of Baker s algorithm

More information

Symmetric Product Graphs

Symmetric Product Graphs Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 5-20-2015 Symmetric Product Graphs Evan Witz Follow this and additional works at: http://scholarworks.rit.edu/theses

More information

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1 UNIT I INTRODUCTION CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1. Define Graph. A graph G = (V, E) consists

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Exercise set 2 Solutions

Exercise set 2 Solutions Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Separators in High-Genus Near-Planar Graphs

Separators in High-Genus Near-Planar Graphs Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 12-2016 Separators in High-Genus Near-Planar Graphs Juraj Culak jc1789@rit.edu Follow this and additional works

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1 Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

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

Notes on Binary Dumbbell Trees

Notes on Binary Dumbbell Trees Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Discrete mathematics

Discrete mathematics Discrete mathematics Petr Kovář petr.kovar@vsb.cz VŠB Technical University of Ostrava DiM 470-2301/02, Winter term 2018/2019 About this file This file is meant to be a guideline for the lecturer. Many

More information

Fixed-Parameter Algorithms, IA166

Fixed-Parameter Algorithms, IA166 Fixed-Parameter Algorithms, IA166 Sebastian Ordyniak Faculty of Informatics Masaryk University Brno Spring Semester 2013 Introduction Outline 1 Introduction Algorithms on Locally Bounded Treewidth Layer

More information

arxiv: v1 [cs.ds] 11 Nov 2016

arxiv: v1 [cs.ds] 11 Nov 2016 A PTAS for Three-Edge Connectivity in Planar Graphs Glencora Borradaile and Baigong Zheng Oregon State University {glencora, zhengb}@eecs.oregonstate.edu arxiv:1611.03889v1 [cs.ds] 11 Nov 2016 Abstract

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

Solving NP-hard Problems on Special Instances

Solving NP-hard Problems on Special Instances Solving NP-hard Problems on Special Instances Solve it in poly- time I can t You can assume the input is xxxxx No Problem, here is a poly-time algorithm 1 Solving NP-hard Problems on Special Instances

More information

Math 776 Graph Theory Lecture Note 1 Basic concepts

Math 776 Graph Theory Lecture Note 1 Basic concepts Math 776 Graph Theory Lecture Note 1 Basic concepts Lectured by Lincoln Lu Transcribed by Lincoln Lu Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6702 - GRAPH THEORY AND APPLICATIONS Anna University 2 & 16 Mark Questions & Answers Year / Semester: IV /

More information

Straight-Line Drawings of 2-Outerplanar Graphs on Two Curves

Straight-Line Drawings of 2-Outerplanar Graphs on Two Curves Straight-Line Drawings of 2-Outerplanar Graphs on Two Curves (Extended Abstract) Emilio Di Giacomo and Walter Didimo Università di Perugia ({digiacomo,didimo}@diei.unipg.it). Abstract. We study how to

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

Math 778S Spectral Graph Theory Handout #2: Basic graph theory Math 778S Spectral Graph Theory Handout #: Basic graph theory Graph theory was founded by the great Swiss mathematician Leonhard Euler (1707-178) after he solved the Königsberg Bridge problem: Is it possible

More information

Polygon Triangulation

Polygon Triangulation Polygon Triangulation Definition Simple Polygons 1. A polygon is the region of a plane bounded by a finite collection of line segments forming a simple closed curve. 2. Simple closed curve means a certain

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

Graph Theory. Part of Texas Counties.

Graph Theory. Part of Texas Counties. Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

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

Simultaneously flippable edges in triangulations

Simultaneously flippable edges in triangulations Simultaneously flippable edges in triangulations Diane L. Souvaine 1, Csaba D. Tóth 2, and Andrew Winslow 1 1 Tufts University, Medford MA 02155, USA, {dls,awinslow}@cs.tufts.edu 2 University of Calgary,

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Planarity Testing for C-Connected Clustered Graphs. Elias Dahlhaus Karsten Klein Petra Mutzel. Algorithm Engineering Report TR July 2006

Planarity Testing for C-Connected Clustered Graphs. Elias Dahlhaus Karsten Klein Petra Mutzel. Algorithm Engineering Report TR July 2006 Planarity Testing for C-Connected Clustered Graphs Elias Dahlhaus Karsten Klein Petra Mutzel Algorithm Engineering Report TR06-1-001 July 2006 ISSN 1864-4503 University of Dortmund Department of Computer

More information

A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants. Outline. Tyler Derr. Thesis Adviser: Dr. Thang N.

A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants. Outline. Tyler Derr. Thesis Adviser: Dr. Thang N. A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants Tyler Derr Thesis Adviser: Dr. Thang N. Bui Department of Math & Computer Science Penn State Harrisburg Spring 2015

More information

CS 6783 (Applied Algorithms) Lecture 5

CS 6783 (Applied Algorithms) Lecture 5 CS 6783 (Applied Algorithms) Lecture 5 Antonina Kolokolova January 19, 2012 1 Minimum Spanning Trees An undirected graph G is a pair (V, E); V is a set (of vertices or nodes); E is a set of (undirected)

More information

Fixed-Parameter Tractability Results for Full-Degree Spanning Tree and Its Dual

Fixed-Parameter Tractability Results for Full-Degree Spanning Tree and Its Dual Fixed-Parameter Tractability Results for Full-Degree Spanning Tree and Its Dual Jiong Guo Rolf Niedermeier Sebastian Wernicke Institut für Informatik, Friedrich-Schiller-Universität Jena, Ernst-Abbe-Platz

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

Linda M. Null Associate Professor of Computer Science Associate Chair, Mathematics and Computer Science Programs Graduate Coordinator

Linda M. Null Associate Professor of Computer Science Associate Chair, Mathematics and Computer Science Programs Graduate Coordinator We approve the thesis of Mohammad Adi. Date of Signature Thang N. Bui Associate Professor of Computer Science Associate Director, School of Science, Engineering and Technology Chair, Computer Science and

More information

Basics of Graph Theory

Basics of Graph Theory Basics of Graph Theory 1 Basic notions A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. Simple graphs have their

More information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics An Introduction to Graph Theory. Introduction. Definitions.. Vertices and Edges... The Handshaking Lemma.. Connected Graphs... Cut-Points and Bridges.

More information

The Geodesic Integral on Medial Graphs

The Geodesic Integral on Medial Graphs The Geodesic Integral on Medial Graphs Kolya Malkin August 013 We define the geodesic integral defined on paths in the duals of medial graphs on surfaces and use it to study lens elimination and connection

More information

Introduction to Graphs

Introduction to Graphs Graphs Introduction to Graphs Graph Terminology Directed Graphs Special Graphs Graph Coloring Representing Graphs Connected Graphs Connected Component Reading (Epp s textbook) 10.1-10.3 1 Introduction

More information

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15 CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#3 Due at the beginning of class Thursday 02/26/15 1. Consider a model of a nonbipartite undirected graph in which

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

Generating edge covers of path graphs

Generating edge covers of path graphs Generating edge covers of path graphs J. Raymundo Marcial-Romero, J. A. Hernández, Vianney Muñoz-Jiménez and Héctor A. Montes-Venegas Facultad de Ingeniería, Universidad Autónoma del Estado de México,

More information

Embedded Width, A Variation of Treewidth for Planar Graphs

Embedded Width, A Variation of Treewidth for Planar Graphs Embedded Width, A Variation of Treewidth for Planar Graphs Robert Weber Advisor: Glencora Borradaile Abstract A commonly studied property of graphs is treewidth, a measure of how tree-like a graph is.

More information

Computational Geometry

Computational Geometry Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is

More information

Grids containment and treewidth, PTASs

Grids containment and treewidth, PTASs Lecture 8 (30..0) Grids containment and treewidth, PTASs Author: Jakub Oćwieja Definition. A graph G is a t t grid if it consists of t vertices forming a square t t such that every two consecutive vertices

More information

Basic Properties The Definition of Catalan Numbers

Basic Properties The Definition of Catalan Numbers 1 Basic Properties 1.1. The Definition of Catalan Numbers There are many equivalent ways to define Catalan numbers. In fact, the main focus of this monograph is the myriad combinatorial interpretations

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane

An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane Information Processing Letters 81 (2002) 151 156 An approximation algorithm for a bottleneck k-steiner tree problem in the Euclidean plane Lusheng Wang,ZimaoLi Department of Computer Science, City University

More information

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected graph G with at least 2 vertices contains at least 2

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Planar Graphs with Many Perfect Matchings and Forests

Planar Graphs with Many Perfect Matchings and Forests Planar Graphs with Many Perfect Matchings and Forests Michael Biro Abstract We determine the number of perfect matchings and forests in a family T r,3 of triangulated prism graphs. These results show that

More information

Discrete mathematics II. - Graphs

Discrete mathematics II. - Graphs Emil Vatai April 25, 2018 Basic definitions Definition of an undirected graph Definition (Undirected graph) An undirected graph or (just) a graph is a triplet G = (ϕ, E, V ), where V is the set of vertices,

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Graph theory G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 1 GG A.I. 1/37 Outline 1 Graph theory Undirected and directed graphs

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES RACHEL CARANDANG Abstract. This paper provides an overview of the homology groups of a 2- dimensional complex. It then demonstrates a proof of the Invariance

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)

More information

Part II. Graph Theory. Year

Part II. Graph Theory. Year Part II Year 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2017 53 Paper 3, Section II 15H Define the Ramsey numbers R(s, t) for integers s, t 2. Show that R(s, t) exists for all s,

More information

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME PLANAR GRAPH BIPARTIZATION IN LINEAR TIME SAMUEL FIORINI, NADIA HARDY, BRUCE REED, AND ADRIAN VETTA Abstract. For each constant k, we present a linear time algorithm that, given a planar graph G, either

More information

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem David Glickenstein November 26, 2008 1 Graph minors Let s revisit some de nitions. Let G = (V; E) be a graph. De nition 1 Removing

More information

arxiv:cs/ v1 [cs.ds] 20 Feb 2003

arxiv:cs/ v1 [cs.ds] 20 Feb 2003 The Traveling Salesman Problem for Cubic Graphs David Eppstein School of Information & Computer Science University of California, Irvine Irvine, CA 92697-3425, USA eppstein@ics.uci.edu arxiv:cs/0302030v1

More information

EULER S FORMULA AND THE FIVE COLOR THEOREM

EULER S FORMULA AND THE FIVE COLOR THEOREM EULER S FORMULA AND THE FIVE COLOR THEOREM MIN JAE SONG Abstract. In this paper, we will define the necessary concepts to formulate map coloring problems. Then, we will prove Euler s formula and apply

More information

GRAPHS WITH 1-FACTORS

GRAPHS WITH 1-FACTORS proceedings of the american mathematical society Volume 42, Number 1, January 1974 GRAPHS WITH 1-FACTORS DAVID P. SUMNER Abstract. In this paper it is shown that if G is a connected graph of order 2n (n>

More information

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models. Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected

More information

Rubber bands. Chapter Rubber band representation

Rubber bands. Chapter Rubber band representation Chapter 1 Rubber bands In the previous chapter, we already used the idea of looking at the graph geometrically, by placing its nodes on the line and replacing the edges by rubber bands. Since, however,

More information

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs CS 311 Discrete Math for Computer Science Dr. William C. Bulko Graphs 2014 Definitions Definition: A graph G = (V,E) consists of a nonempty set V of vertices (or nodes) and a set E of edges. Each edge

More information

The Structure and Properties of Clique Graphs of Regular Graphs

The Structure and Properties of Clique Graphs of Regular Graphs The University of Southern Mississippi The Aquila Digital Community Master's Theses 1-014 The Structure and Properties of Clique Graphs of Regular Graphs Jan Burmeister University of Southern Mississippi

More information

W[1]-hardness. Dániel Marx. Recent Advances in Parameterized Complexity Tel Aviv, Israel, December 3, 2017

W[1]-hardness. Dániel Marx. Recent Advances in Parameterized Complexity Tel Aviv, Israel, December 3, 2017 1 W[1]-hardness Dániel Marx Recent Advances in Parameterized Complexity Tel Aviv, Israel, December 3, 2017 2 Lower bounds So far we have seen positive results: basic algorithmic techniques for fixed-parameter

More information

[8] that this cannot happen on the projective plane (cf. also [2]) and the results of Robertson, Seymour, and Thomas [5] on linkless embeddings of gra

[8] that this cannot happen on the projective plane (cf. also [2]) and the results of Robertson, Seymour, and Thomas [5] on linkless embeddings of gra Apex graphs with embeddings of face-width three Bojan Mohar Department of Mathematics University of Ljubljana Jadranska 19, 61111 Ljubljana Slovenia bojan.mohar@uni-lj.si Abstract Aa apex graph is a graph

More information

An Introduction to Chromatic Polynomials

An Introduction to Chromatic Polynomials An Introduction to Chromatic Polynomials Julie Zhang May 17, 2018 Abstract This paper will provide an introduction to chromatic polynomials. We will first define chromatic polynomials and related terms,

More information

Extremal Graph Theory: Turán s Theorem

Extremal Graph Theory: Turán s Theorem Bridgewater State University Virtual Commons - Bridgewater State University Honors Program Theses and Projects Undergraduate Honors Program 5-9-07 Extremal Graph Theory: Turán s Theorem Vincent Vascimini

More information

Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d

Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch] NP Completeness Andreas Klappenecker [partially based on slides by Jennifer Welch] Dealing with NP-Complete Problems Dealing with NP-Completeness Suppose the problem you need to solve is NP-complete. What

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Here, we present efficient algorithms vertex- and edge-coloring graphs of the

Here, we present efficient algorithms vertex- and edge-coloring graphs of the SIAM J. ALG. DISC. METH. Vol. 7, No. 1, January 1986 (C) 1986 Society for Industrial and Applied Mathematics 016 EFFICIENT VERTEX- AND EDGE-COLORING OF OUTERPLANAR GRAPHS* ANDRZEJ PROSKUROWSKIf AND MACIEJ

More information

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1

Undirected Graphs. DSA - lecture 6 - T.U.Cluj-Napoca - M. Joldos 1 Undirected Graphs Terminology. Free Trees. Representations. Minimum Spanning Trees (algorithms: Prim, Kruskal). Graph Traversals (dfs, bfs). Articulation points & Biconnected Components. Graph Matching

More information

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not.

Decision Problems. Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Decision Problems Observation: Many polynomial algorithms. Questions: Can we solve all problems in polynomial time? Answer: No, absolutely not. Definition: The class of problems that can be solved by polynomial-time

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Binding Number of Some Special Classes of Trees

Binding Number of Some Special Classes of Trees International J.Math. Combin. Vol.(206), 76-8 Binding Number of Some Special Classes of Trees B.Chaluvaraju, H.S.Boregowda 2 and S.Kumbinarsaiah 3 Department of Mathematics, Bangalore University, Janana

More information

Overlapping Cluster Planarity.

Overlapping Cluster Planarity. Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 12, no. 3, pp. 267 291 (2008) Overlapping Cluster Planarity. Walter Didimo 1 Francesco Giordano 1 Giuseppe Liotta 1 1 Dipartimento di

More information

arxiv: v1 [cs.dm] 21 Dec 2015

arxiv: v1 [cs.dm] 21 Dec 2015 The Maximum Cardinality Cut Problem is Polynomial in Proper Interval Graphs Arman Boyacı 1, Tinaz Ekim 1, and Mordechai Shalom 1 Department of Industrial Engineering, Boğaziçi University, Istanbul, Turkey

More information

Graph Theory CS/Math231 Discrete Mathematics Spring2015

Graph Theory CS/Math231 Discrete Mathematics Spring2015 1 Graphs Definition 1 A directed graph (or digraph) G is a pair (V, E), where V is a finite set and E is a binary relation on V. The set V is called the vertex set of G, and its elements are called vertices

More information

Approximation Algorithms for Geometric Intersection Graphs

Approximation Algorithms for Geometric Intersection Graphs Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline

More information

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming

More information

Two trees which are self-intersecting when drawn simultaneously

Two trees which are self-intersecting when drawn simultaneously Discrete Mathematics 309 (2009) 1909 1916 www.elsevier.com/locate/disc Two trees which are self-intersecting when drawn simultaneously Markus Geyer a,, Michael Kaufmann a, Imrich Vrt o b a Universität

More information

Graph Connectivity G G G

Graph Connectivity G G G Graph Connectivity 1 Introduction We have seen that trees are minimally connected graphs, i.e., deleting any edge of the tree gives us a disconnected graph. What makes trees so susceptible to edge deletions?

More information

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise. Final exam This is a closed book exam. No calculators are allowed. Unless stated otherwise, justify all your steps. You may use lemmas and theorems that were proven in class and on assignments unless stated

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

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

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}. Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

THE DIMENSION OF POSETS WITH PLANAR COVER GRAPHS

THE DIMENSION OF POSETS WITH PLANAR COVER GRAPHS THE DIMENSION OF POSETS WITH PLANAR COVER GRAPHS STEFAN FELSNER, WILLIAM T. TROTTER, AND VEIT WIECHERT Abstract. Kelly showed that there exist planar posets of arbitrarily large dimension, and Streib and

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

Planar Graphs and Partial k-trees

Planar Graphs and Partial k-trees Planar Graphs and Partial k-trees by Philip Thomas Henderson A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree of Master of Mathematics in Computer

More information

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v. Graph Adjacent Endpoint of an edge Incident Neighbors of a vertex Degree of a vertex Theorem Graph relation Order of a graph Size of a graph Maximum and minimum degree Let G = (V, E) be a graph. If u,

More information

Immersion in four-edge-connected graphs

Immersion in four-edge-connected graphs Immersion in four-edge-connected graphs Maria Chudnovsky 1 Princeton University, Princeton, NJ 08544, USA Zdeněk Dvořák 2 Charles University, Prague, Czech Republic Tereza Klimošová 3 University of Warwick,

More information

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Kavish Gandhi April 4, 2015 Abstract A geodesic in the hypercube is the shortest possible path between two vertices. Leader and Long

More information

Assignment 1 Introduction to Graph Theory CO342

Assignment 1 Introduction to Graph Theory CO342 Assignment 1 Introduction to Graph Theory CO342 This assignment will be marked out of a total of thirty points, and is due on Thursday 18th May at 10am in class. Throughout the assignment, the graphs are

More information

Graphs & Algorithms: Advanced Topics Planar Separators

Graphs & Algorithms: Advanced Topics Planar Separators Graphs & Algorithms: Advanced Topics Planar Separators Johannes Lengler, Uli Wagner ETH Zürich Separators Definition Let G = (V, E) be a graph on n vertices, f : N 0 R a function, α (0, 1) a parameter.

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

Dominating Sets in Triangulations on Surfaces

Dominating Sets in Triangulations on Surfaces Dominating Sets in Triangulations on Surfaces Hong Liu Department of Mathematics University of Illinois This is a joint work with Michael Pelsmajer May 14, 2011 Introduction A dominating set D V of a graph

More information