A 1.8 approximation algorithm for augmenting edge-connectivity of a graph from 1 to 2.

Size: px
Start display at page:

Download "A 1.8 approximation algorithm for augmenting edge-connectivity of a graph from 1 to 2."

Transcription

1 A 1.8 approximation algorithm for augmenting edge-connectivity of a graph from 1 to 2. Guy Even Jon Feldman Guy Kortsarz Zeev Nutov May 14, 2006 Abstract We present a 1.8-approximation algorithm for the following NP-hard problem: given a connected graph G = (V, E) and an additional edge set E, find a minimum size subset of edges F E such that (V, E F) is 2-edge-connected. Our result improves and simplifies the approximation algorithm of ratio ε [17]. Preliminary version appeared in Proceedings of APPROX 2001, Lecture Notes in Computer Science 2129, Springer, pp , Dept. of Electrical Engineering-Systems, Tel-Aviv University, Tel-Aviv 69978, Israel. guy@eng.tau.ac.il. Columbia University, New York, NY. jonfeld@ieor.columbia.edu. Part of this work was done while the author was visiting Tel-Aviv University. Rutgers University, Camden. guyk@crab.rutgers.edu. Part of this work was done while the author was at the Open University of Israel. Open University of Israel, 16 Klauzner St, Tel-Aviv, Israel. nutov@shaked.openu.ac.il.

2 1 Introduction Graph connectivity problems are fundamental to the study of robust network design. A multigraph (i.e., a graph in which parallel edges are allowed) is said to be k-edge-connected if every pair of nodes in the graph is connected by k edge-disjoint subpaths. The edge-connectivity of a graph is the largest value k for which the graph is k-edge-connected. High edge connectivity is useful in networks since connectivity is not lost even if some of the edges fail. In this paper we study one of the most basic connectivity augmentation problem: We are given a connected undirected graph G(V, E) and a set of additional edges (called links ) E V V. Consider a subset of links F E. Let E F denote the multiset union of edges obtained by adding the links in F to the edges in E (i.e., if (u,v) is both a link in F and an edge in E, then it appears twice in E F). An augmentation of G is a subset of links F E such that the edge-connectivity of G(V, E F) is higher than that of G(V, E). In our problem, the goal is to find a minimum size augmentation F such that G(V, E F) is 2-edge-connected. The 2-edge-connected components of the given graph G form a tree. It follows that by contracting these components, one may assume that G is a tree. Hence, our problem is equivalent to the Tree Augmentation Problem (TAP), defined as follows: Given a tree T(V, E) and a set of links E V V, find the smallest subset F E such that G(V, E F) is 2-edge-connected. A ρ approximation for this problem gives an approximation for a more general problem with the same ratio: augmenting the connectivity from k to k + 1 for any odd k. The equivalence of these two problems is due to the cactus model (see for example [4]). The Tree Augmentation Problem is NP-Complete [2], and not approximable within some constant c > 1 [13]. In [5] we presented a 1.5 ratio approximation algorithm for the problem. The full description of this result is now 40 pages long, uses a complicated credit scheme, and contains a long case analysis for trees with at most 5 leaves. Here we present a weaker result with the following advantages: (1) it improves the ratio of ( ε) [17]; (2) we believe it is simpler than [17] (i.e., fewer cases, fewer structures, shorter), and (3) the major techniques of the 1.5 approximation ratio algorithm are presented. Breaking the 2-approximation barrier. Every leaf of the input tree T must be incident to a link in the set F. Since each link can be incident to at most two leaves, it must be that F has size at least half the number of leaves in T. This simple lower bound can be used to design a 2-approximation algorithm for TAP (see Sec. 3). The first 2-approximation for TAP (which also holds for the weighted version) dates back twenty years previous to this result, and was given by Frederickson & Jájá [8]. Improving the approximation ratio below 2 was a long-standing open problem, and was characterized by Khuller [18] as the main open problem in graph augmentation and one of the main open problems in graph connectivity. The first approximation algorithm that achieved an approximation ration below 2 was presented by Nagamochi [17, 16]. He reported a ( ε)-approximation ratio. The running time of the algorithm depends exponentially on 1/ǫ. One could avoid the dependence of ε by setting, for example, ε = to obtain a 1.9 approximation algorithm. Several of the ideas introduced in [17, 16] are used in this paper (e.g., computing maximum leaf-closed trees and stems and the lower bound). Our approximation algorithm is based on a lower bound, called the unmatched leaves lower bound (see Claim 22). A similar lower bound was proven in [17, 16]. Key to our analysis is a 1

3 credit scheme for using the different parts of the lower bound. This credit system has a static component and a dynamic component. The static credit is computed in the beginning of the algorithm and is distributed to different parts of the graph. The dynamic credit is available only after the algorithm reveals it by proving that the optimum solution had to be larger than the initial static estimate. We believe that this technique has merit of its own and may be useful for other augmentation problems. Related Results. The weighted version of augmenting a graph so that it becomes 2-edge connected is called Bridge-Connectivity Augmentation (BRA) in [8]. In the BRA problem, the input consists of a complete graph G = (V,E) and edge weights w(e). The goal is to find a minimum weight subset of edges F such that G = (V,F) is 2-edge-connected. The TAP problem is simply the case in which the edges have {0,1, } weights; the edges of the connected graph have zero weight, links have unit weight, and all other edges have infinite weight. There are a few 2-approximation algorithms for the BRA problem. The first algorithm, by Frederickson and Jájá [8] was simplified later by Khuller and Thurimella [19]. These algorithms are based on constructing a directed graph and computing a minimum weight arborescence. The primal-dual algorithm of Goemans & Williamson [10] and the iterative rounding algorithm of Jain [11] are LP-based 2-approximation algorithms. The approximation ratio of 2 for all these algorithms is tight. Fredrickson and Jájá [8] showed also that when the edge costs satisfy the triangle inequality, the Christofides heuristic leads to a 3/2-approximation algorithm. Cheriyan et. al. [3] presented a 17/12-approximation algorithm for the special case of BRA in which edges have {1, } weights. A 4/3-approximation algorithm was presented for {1, } weights by Vempala & Vetta [20]. The best known ratio for the {1, } version is 5/4 [12]. Eswaran & Tarjan [6] presented a linear time algorithm for the special case of BRA in which all edges have unit weights. Surveys for broad classes of augmentation problems can be found in [18, 7, 14]. The TAP problem is sometimes posed equivalently as the problem of covering laminar families of subsets (see e.g., [2])). Namely, given a laminar family S of proper subsets of a ground set U, and an edge set E on U, find a minimum subset F E such that for every S S, there is an edge in F with one endpoint in S and the other in V S. Garg et al. [9] presented a 5/3 approximation algorithm for a special case when all the candidate edges are incident to the leaves of the tree. 2 Preliminaries Throughout the paper, the TAP instance consists of the input tree T = (V, E) and the set of links E. In this section, we define the basic graph terminology used throughout the paper. We also describe the basic operation of our augmentation algorithm, which is to add a link from E to the solution F, and then contract the resulting 2-edge-connected component of the tree T. We describe how the connectivity augmentation problem can then be seen as a covering problem, where links in E cover certain parts of the tree. We also give some simplifying assumptions that will be essential for the approximation ratio arguments in later sections of the paper. 2.1 Rooted Trees Let T = (V, E) denote a tree defined over a vertex set V and edge set E. A rooted tree is a tree T with a node r V designated as a root. The root induces a partial order on V as follows. For 2

4 u,v V, we say that u is a descendant of v, and that v is an ancestor of u, if v is an interior node in the path from r to u in T; if, in addition, (u,v) is an edge of T, then u is a child of v, and v is the parent of u. We denote the parent of u by par(u). The least common ancestor, lca(u,v), of u and v is the common ancestor of u and v with the largest distance to the root. Assumption 1: The input tree T = (V, E) is a rooted tree (T,r), where an arbitrary node r V is designated as the root. The leaves of a rooted tree T = (V, E) are the nodes in V r that have no descendants. We denote the leaf set of T by L(T), or simply by L, when the context is clear. We refer to a rooted tree as a pair (T,r), and do not mention the root when it is clear from context. Consider a rooted tree (T,r) and a vertex v V. The rooted subtree of T induced by v and its descendants is denoted by T v. Note that v is the root of T v. A subtree T of T is called a rooted subtree if T = T v, for some vertex v V. Definition 2: Let P be some property. A rooted subtree T of rooted tree T is P-minimal if T satisfies property P, but no proper rooted subtree of T satisfies property P. 2.2 Contraction of links To contract a subset X of vertex set V is to combine all nodes in X into a single new node x. All edges and links with both endpoints in X are deleted. All edges and links with one endpoint in X now have x as their new endpoint, but retain their correspondence with the edge or link of the original graph. If the root r is contained in X, then x becomes the root of the new tree. For simplicity, we say that the new node x contains a node v if v X. Let p(u,v) denote the path between u and v in the tree T = (V, E). Consider a link (u,v) E. If we decide to add (u,v) to the solution F, then the vertices along the path p(u,v) belong to the same 2-edge-connected component of the augmented graph (V, E F). Hence, we may contract the vertices along p(u,v). For a set of links F E, let T/F denote the tree obtained by contracting every 2-edge-connected component of T F into a single node. Since all contractions are induced by subsets of links, we refer to the contraction of every 2-edge-connected component of T F into a single node simply as the contraction of the links in F. Instead of defining a new node into which the vertices are contracted (as in the definition of contraction above), it is convenient to regard this contraction as a contraction of the vertices along p(u, v) into the least common ancestor, namely, lca(u, v). The advantage of this convention is that it enables a canonical representation of T/F: simply contract one by one all the paths in T corresponding to the links of F. The order in which the links are contracted does not affect the resulting tree. The contracted tree is a subtree of T. 2.3 TAP as a Covering Problem We say that a link (u,v) covers all the edges along the path p(u,v). This terminology enables us to formulate TAP as a covering problem. Namely, find a minimum size subset of links in E that covers the edges of T; we refer to such a link set as a cover of the tree T. We extend this terminology and say that a link (a,b) covers a node v if (v,par(v)) p(a,b). Note that any link set that covers every edge of T also covers every node of T, besides the root. 3

5 Assumption 3:(Feasibility) The link set E contains a cover; or, equivalently, the graph (V, E E) is 2-edge-connected. Note that feasibility can be tested beforehand by contracting every link of E. 2.4 Shadows The following definition will allow us to make some very important assumptions about the input link set E and the tree T that simplify many of the arguments we make. Definition 4: A link (u,v ) is a shadow of a link (u,v) if p(u,v ) p(u,v), and (u,v ) is a proper shadow of (u,v) if the inclusion is proper, i.e., if p(u,v ) p(u,v). A link is maximal if it is not a proper shadow of any other link. Assumption 5: The set of links E is closed under shadows, that is, if (u,v) E and p(u,v ) p(u,v) then (u,v ) E. Every instance can be rendered closed under shadows by adding shadows of existing links as new links. We refer to the addition of all shadows as shadow completion. Shadow completion does not affect the optimal solution size, since every shadow can be replaced by a maximal link. (However, shadow completion may increase the size of the set of links so that there are Ω(n 2 ) links.) The following examples illustrate how shadow completion helps in the analysis of the TAP problem. Example 1: Consider a rooted subtree T v and two nodes w T v and z T v. Assume that (w,z) is a link. Obviously, v is a node along the path p(w,z). Shadow completion implies that (w,v) is a link, as well as the links joining w to all its other ancestors along the path p(w,v). Example 2: If the problem instance is feasible, that is, the graph (V, E E) is 2-edge-connected, then shadow completion implies that (v,par(v)) is a link, for every non-root v. The reason is that an edge (v, par(v)) E must be covered by some link in E. (Recall that par(v) denotes the parent of v.) Definition 6: A cover F of T is shadows minimal if, for every link (u, v) F, replacing (u, v) by a proper shadow of (u,v) results in a set of links that does not cover T. 2.5 Reducible Edges Further simplifying assumptions can be made when we consider the relationship between pairs of edges in T. Definition 7: An edge e of a tree T is reducible with respect to a link set E if e is covered by a unique maximal link or if there exists a tree edge e e such that every maximal link that covers e also covers e. If an edge (u,v) is covered by a unique maximal link (a,b), then adding (a,b) to the cover is an optimal step (i.e., the size of an optimal solution in the residual problem is smaller by one). If an edge e is a shadow of every maximal link that covers e e, then e may be contracted without affecting the sizes of the optimal solution and the computed solution. Hence, we may preprocess the instance so that there are no reducible edges. 4

6 Assumption 8: There are no reducible edges in the tree T = (V, E) with respect to the link set E. The following proposition shows that if there are no reducible edges, then leaves cannot hang from degree-2 vertices. Proposition 9: If there are no reducible edges, then every parent of a leaf has at least two children. Proof: Consider a leaf l, its parent v and its grandparent u. There are at least two maximal links emanating from l. Hence, every maximal link emanating from l must cover the tree edge (u,v). Hence, (u,v) is reducible, a contradiction. Although there cannot be a path (of length 2 or more) consisting of degree-2 vertices ending at a leaf, the tree may contain long paths consisting of degree 2 nodes. Such paths may not end at leaves if there are no reducible edges. 3 Motivation: a 2-approximation algorithm We start the discussion with a 2-approximation algorithm. This rather simple algorithm introduces the notions of leaf-closed subtrees, up-links, local-ratio[1], and disjointness of credit. Our 1.8- approximation algorithm is based on these ideas. 3.1 Preliminaries Recall that L(T) refers to the set of leaves of T. The 2-approximation algorithm is based on the following leaf lower bound. Claim 10: If link set F E is a cover of the tree T, then F L(T). 2 Proof: Every leaf u L(T) has at least one link of F incident to it, since any link that covers the edge (u,par(u)) must be incident to u. Each link of F is incident to at most two leaves, and hence F L(T) /2. The ratio between the value of an optimal solution and the leaf lower bound can be arbitrarily large. For example, if T is a path, and E consists only of links parallel to the edges of T, then L(T) /2 = 1, but the value of an optimal solution is V 1. To obtain an approximation algorithm from the leaf lower bound, we partition the tree so that a local ratio argument can be applied. Let opt denote an optimum cover. We partition the input tree edges E into disjoint parts E 1,...,E k. Even though opt is unknown, each part E i is covered by a subset opt i opt such that the subsets opt 1,...,opt k are disjoint. If we are able to cover each part E i by at most 2 opt i edges, then a 2-approximate algorithm follows. Example 3: Suppose that E 1 is the set of edges emanating from leaves and that E 2 = E \ E 1. Covering E 1 is easy; simply pick a set of links F with one link per leaf. The cost of covering the leaves is L(T), and the leaf lower bound is L(T) /2, so the local approximation ratio for solving the subproblem E 1 is 2. However, what can we say about the local approximation ratio for solving the subproblem E 2? 5

7 Suppose we recurse now on T/F by covering the leaves of T/F. Unfortunately, this does not yield a 2-approximation algorithm. The problem lies in the fact that a link in opt can cover a leaf in L(T) as well as a leaf in L(T/F). Hence opt 1 and opt 2 are not disjoint. The example above motivates the following definition and lemma, which appeared in the paper of Nagamochi and Ibaraki [15] for U = L(T). Definition 11: Let U V. A rooted subtree T of T is U-closed (with respect to E) if there is no link between U V (T ) and V \ V (T ). A minimally U closed subtree can be found in polynomial time (see [15]). For any U V, the set of rooted subtrees that are U-closed is not empty since the whole tree T is trivially U-closed. This implies that, for every U V, there exists a minimal U-closed subtree (as in Definition 2). The highest link incident to a node u is defined as the link (u,v) such that v is as close as possible to the root. Note that, for every link (u,v ), v is not a proper ancestor of v. We denote the highest link incident to u by up(u). We often refer to up(u) as the up-link emanating from u. For a node set U V, we let up(u) = {up(u) : u U}. Lemma 12: Let U V, and let T be a U-closed minimal rooted subtree of T. Then up(u V (T )) covers T. Proof: Suppose that up(u V (T )) does not cover an edge (u,v) of T, where u is a child of v. Then T u is U-closed. This contradicts the minimality of T. A rooted subtree T of T is leaf-closed if it is L(T )-closed. Lemma 12 implies the following claim, that appears in [15]. Claim 13: [15] A leaf-closed minimal subtree T of T is covered by up(l(t )). 3.2 The 2-Approximation Algorithm We now present a simple 2-approximation algorithm. To simplify the correctness proof, we present a recursive version of the algorithm. The algorithm starts with the whole tree T. It finds a leafclosed minimal subtree T and returns the cover consisting of up(l(t )) and a (recursively found) cover of T/up(L(T )). The algorithm stops when T is contracted into a single node. A listing of the algorithm appears as Algorithm 1. Algorithm 1 cover(t) - A 2-approximate algorithm. 1: If V (T) = 1, then return and stop. 2: Compute a leaf-closed minimal subtree T of T. 3: Return up(l(t )) cover(t/up(l(t )). Since at least one edge is covered in each recursive call, the algorithm terminates. The algorithm returns a feasible cover since, by Claim 13, up(l(t )) covers the minimal leaf-closed subtree T. The following claim establishes the approximation ratio of the algorithm. Claim 14: The approximation ratio of Algorithm cover(t) is 2. 6

8 Proof: We prove that the size of the computed cover is 2-optimal by induction on k, the number of recursive calls of the algorithm. The induction basis, for k = 0, is trivial since T contains a single node. For the induction step, consider a leaf-closed minimal subtree T of the first iteration of the algorithm. Let F be an arbitrary optimal cover of T. Let FL(T ) be the links in F incident to the leaves of T, and let Fres be the links in F that cover at least one link not in T. The leaf lower bound implies that FL(T ) L(T ) /2. Since T is leaf-closed, both endpoints of every link in FL(T ) are in V (T ). Hence, FL(T ) and F res are disjoint. Moreover, F res covers T/up(L(T )). By the induction hypothesis, the recursive call for covering T/up(L(T )) produces a solution F res with at most 2 Fres links. Hence, the total number of links in the solution produced by the algorithm satisfies: up(l(t )) + F res = L(T ) + F res 2 FL(T ) + 2 F res 2 F, and the claim follows. One way to interpret the leaf lower bound is that we are given a credit of one coupon per leaf, where each coupon can pay for one link. Since the optimal solution uses at least L(T)/2 links, our goal in the 2-approximation algorithm is to pay for a cover of the graph using the coupons. In the algorithm above, we use L(T ) leaf coupons to cover the leaf-closed minimal subtree T using L(T ) links. Then, by showing that FL(T ) and F res are disjoint, we prove that the optimal cover F is forced to contain a link that is not a leaf-to-leaf link; this reveals an extra source of credit, due to the contribution of such a link to the degree-sum of F. It is useful to interpret the recursion step as an assignment of an extra coupon to the new leaf in T/up(L(T )) created by the contraction of the tree T. In the following section we present a lower bound that strengthens the leaf lower bound, as well as a generalization of the idea of leaf-closed minimal subtrees, in order to improve the approximation ratio. 4 The unmatched leaves lower bound In this section we present a new lower bound on the size of a minimum cover, called the unmatched leaves lower bound (see Coro. 23). This lower bound is based on a maximum matching of links. 4.1 Notation and preliminaries The following definitions are depicted in Figure 1. Definition 15: A non-root node s V r is a stem of a tree T if it has exactly two children and both of the children are leaves. The two children of a stem are called a twin-pair, and a link between them is called a twin-link. The edge connecting a stem s and its parent is called a stem-edge. The following claim proves the existence of twin-links if no edge is reducible. Claim 16: If no edge is reducible, then there is a twin-link between every twin-pair. Proof: Consider a twin-pair depicted in Figure 1. If (l 1,l 2 ) is not a link, then since there are at least two maximal links that cover (l 1,s), every maximal link that covers (l 1,s) also covers the edge (s,v). Hence, (s,v) is reducible, a contradiction. 7

9 a stem-edge a stem a leaf v s l 1 l 2 a twin link Figure 1: A stem, a twin-pair, a twin-link, and a stem-edge. (The node s is the parent of two leaves l 1 and l 2.) We denote the the set of stems of a tree T by St(T). Leaves and stems play a special role in our algorithm. We say that a node v of T is special if v is a leaf or a stem. We denote the set of special nodes in T by Sp(T). We denote the set of non-special nodes in T by nsp(t). We often use L,St,Sp for short to denote the set of leaves, the set of stems, and the set of special nodes, respectively. We say that a rooted subtree T of T is leaf-stem-closed if it is Sp(T)-closed (see Definition 11). For X,Y V and a set of links F, let F X,Y denote the be the set of links in F that have one endpoint in X and the other in Y. The following lemma shows that leaf-to-leaf links in a shadows minimal solution constitute a matching. Lemma 17: Let F be a shadows minimal cover of T (see Definition 6). Then, (i) every two links in F that share an endpoint cover disjoint sets of edges, (ii) there is exactly one link in F emanating from every leaf v of T, and (iii) F L,L is a matching. Proof: We begin by proving (i). Suppose that (v,u) and (v,w) are links in F. Since T is a tree, if the paths p(v,u) and p(v,w) have an edge in common, then the first edge (emanating from v) along these paths is identical. Let (v,q) be the first edge in these paths. The edge (v,q) is covered twice, hence F is not shadows minimal. (We can replace the link (v, u) F by its proper shadow (q,u) and still cover the edges of T.) Part (i) implies the other two parts. For a set of links F and a vertex v, let deg F (v) denote the number of links in F incident to v. For a subset U V of nodes, we let deg F (U) = v U deg F(v). Figure 2 depicts the terms defined in the following definition. Definition 18: Consider a matching M that consists of leaf-to-leaf links. A leaf l L is unmatched with respect to M if deg M (l) = 0. The set of unmatched leaves in T with respect to M is denoted by UL T (M). A stem s S is uncovered with respect to M if stem-edge (s,par(s)) is not covered by the links of M. The set of uncovered stems in T with respect to M is denoted by US T (M). Consider some optimum cover F, and assume that F is shadows minimal (we use F to denote a shadows minimal optimal cover for the remainder of the paper). The optimality of F implies that if s is a stem and l 1 and l 2 are the children of s, then it is not possible that both the links (s,l 1 ) and (s,l 2 ) are in F. The reason is that these two links can be replaced by the link (l 1,l 2 ). (Recall that the twin-link is always present by Claim 16.) The following assumption shows that we may exclude the case that a stem is linked in F to one of its children. 8

10 v s u b 2 v s l 1 l 2 b 1 a 1 Figure 2: A matching M consisting of two leaf-to-leaf links: (b 1,b 2 ) and (l 1,l 2 ). The leaf a 1 is the only unmatched leaf with respect to M. The stem s uncovered with respect to M while the stem s is covered by M. Assumption 19: Without loss of generality, an optimal shadows minimal cover F of T lacks links from a stem to one of its children. Proof: Assume that s is a stem with children v 1 and v 2. Suppose that (s,v 1 ) F and let u be in V such that (v 2,u) F. Then, we may replace the two links (s,v 1 ) and (v 2,u) by the links (v 1,v 2 ) and (s,u). (The link (s,u) is a shadow of (v 2,u).) This replacement maintains feasibility as well as shadows minimality. The following claim is a consequence of Assumption 19. Claim 20: Let s denote a stem. If F is a shadows minimal cover that satisfies Assumption 19, then deg F (s) 1. Moreover, deg F (s) = 1 if and only if s is uncovered with respect to F L,L. Note that Claim 20 also implies that a stem s is uncovered with respect to FL,L the twin-link between the children of s is in FL,L. if and only if 4.2 The lower bound In this section T is an arbitrary leaf-stem closed subtree of T. Recall that F denotes a shadows minimal optimal cover of T that satisfies Assumption 19. The following claim proves a lower bound on the number of links of F that have both endpoints inside T ; the lower bound is in terms of the number of leaves, uncovered stems, unmatched leaves and links incident to non-special nodes in T. It is useful to view this as a local bound that tells us how much effort has to be spent to cover a subtree T. This bound holds for any subtree T as long as it is leaf-stem closed. Notation. We use the following notation: V = V (T ) denotes the vertices in T, L = L(T ) denotes the set of leaves in T, St = St(T ) denotes the set of stems in T, nsp = nsp(t ) denotes the set of non-special nodes in T, 9

11 F L,L denotes the leaf-to-leaf links in F that are contained in T, F V,V denotes the links in F with both endpoints in T, US T denotes the stems in T that are not covered by F L,L, UL T denotes the leaves in T that are not covered by F L,L, deg F (V,V )(nsp ) denotes the sum of the degrees of non-special nodes in T when only links in F (V,V ) are considered. Claim 21: The number of links of F that are contained in T satisfies, F V,V 1 2 L US T UL T deg F V,V (nsp ). (1) Proof: The left hand side equals the number of links in F that have both endpoints inside T. We partition FV,V into all possible combinations of endpoints in L, St and nsp to get: FV,V = F L,L + F L,St + F L,nSp + F St,St + F St,nSp + F nsp,nsp. (2) By shadows-minimality and Assumption 19, every leaf has exactly one link of F incident to it, and every stem has at most one link of F incident to it. A link covering a leaf or a stem in T must be in FV,V since T is leaf-stem closed. By counting degrees we obtain L = 2 FL,L + F L,St + F L,nSp. (3) By Claim 20, a stem is uncovered with respect to FL,L if and only if there is a link of F emanating from it. Therefore, US T = F L,St + 2 F St,St + F St,nSp (4) Since FL,L is a matching, it follows that a leaf l is unmatched if and only if it is covered by a leaf-to-stem link or leaf-to-non-special link. Hence, UL T = F L,St + F L,nSp. (5) Multiply Eq. 3 by 1 2, multiply Eq. 4 by 1 3, multiply Eq. 5 by 1 6, and add them to get 1 2 L US T UL T = F L,L + F L,St F L,nSp F St,St F St,nSp F L,L + F L,St + F L,nSp + F St,St + F St,nSp + F nsp,nsp 1 3 deg F V,V (nsp ). (6) The claim now follows from Eq. 2. Let M denote the set of leaf-to-leaf links in F that are not twin-links. We use MT the subset of links in M that are incident to leaves in T. to denote 10

12 Claim 22: L 2 M T = UL T + 2 US T. Proof: The left hand side equals the number of unmatched leaves in T with respect to M. Such an unmatched leaf l can be unmatched due to exactly one of the following reasons: (i) l is unmatched with respect to FL,L or (ii) l is matched by a twin-link in F L,L. The two terms on the right hand side account for these two reasons. Namely, UL T is the number of unmatched leaves with respect to FL,L. For every pair of leaves matched by a twin-link, we have one stem in US T. Hence, the claim follows. Let M denote a maximum matching of leaf-to-leaf links excluding twin-links. Corollary 23: [The unmatched leaves lower bound] F (V,V ) 2 3 L 1 3 M T deg F V,V (nsp) 2 3 L 1 3 M T deg F V,V (nsp). Proof: The first part follows directly from Claims The second part follows from the maximality of M and the fact that T is leaf-closed. Let us compare the unmatched leaves lower bound with the leaf lower bound (we ignore the last term in the unmatched leaves lower bound in this comparison). Suppose that the matching M is a perfect matching of the leaves. Then, M T = L /2, and 2 3 L 1 3 M T = L /2, and the two lower bounds are equal. On the other hand, as M T decreases (i.e., when M is not a perfect matching), the gap between the unmatched leaves lower bound and the leaf lower bound increases. Another way to compare the lower bounds is to count leaves. In the leaf lower bound, every leaf contributes 1/2. In the unmatched leaves lower bound, an unmatched leaf contributes 2/3 and a matched leaf contributes 1/2. 5 A 9/5-approximation algorithm The 1.8-approximation algorithm distributes credit according to the unmatched leaves lower bound of Claim 22. This credit is used by the algorithm to pay for links that are added to the cover and then contracted to reduce the tree. The amount of credit never exceeds 1.8 F. Hence, if the algorithm is able to cover the tree without over-spending credit, then an approximation ratio of 1.8 is obtained. In Sec. 5.1, we begin by presenting the credit scheme and how accounting of credit is managed by using coupons and tickets. The Coupons Invariant specifies how many coupons should be assigned to nodes and links. In Sec. 5.2, we present a greedy step in which links the contraction of links is paid by coupons and tickets while preserving the Coupons Invariant. The intuition of the algorithm is presented in Sec The algorithm itself is presented in Sec Coupons and tickets The justification for coupons and tickets is provided by the following rearrangement of the unmatched leaves lower bound. 1.8 F (V,V ) 1.2 ( L 2 M T ) M T deg F V,V (nsp). (7) 11

13 After the maximum matching M (that excludes twin-links) is computed, the algorithm distributes coupons as follows. Unmatched leaves. Every leaf that is unmatched by a link in M is given 1.2 coupons. The total number of coupons distributed to unmatched leaves equals the first term in the right hand side of Eq. 7. Links in M. Every link in M is given 1.8 coupons. Note that the total number of coupons distributed to links in M equals the second term in the right hand side of Eq. 7. Consider the last term on the right hand side of Eq. 7. If we can prove that an optimal cover F contains a link that emanates from a non-special node v, then we may give 3 5 coupons to v. We refer to such an event as finding a ticket since coupons are known after the matching M is computed while tickets are not. Even though a ticket is worth 0.6 coupons, to simplify the presentation we say it is worth half a coupon. (In fact, the analysis works even if a ticket is worth 0.2 coupons since we are presenting a 1.8 approximation ratio rather than the tighter 1.5-approximation.) Note that the total number of tickets is bounded by deg F V,V (nsp), so the purchasing power of tickets does not exceed the third term in Eq. 7. We emphasize that the problem with using tickets is the burden of proving that F contains a link emanating from a non-special node. The coupons invariant. The algorithm maintains a partial cover J that is simply a set of links that were selected so far. Recall that the nodes of the contracted tree T/J are 2-edgeconnected components of T J. A compound node in T/J is a node that corresponds to a 2-edgeconnected component in T J that contains more than one node. Moreover, recall that we follow the convention that the compound node is named after the lca of the contracted 2-edge-connected component. We often identify a compound node v in T/J with the 2-edge-connected component in T J that is contracted into v. Invariant 24:[Coupons Invariant] 1. Every link in M owns 1.8 coupons. 2. Every leaf in T/J that was unmatched by M owns 1.2 coupons. 3. Every compound node in T/J owns one coupon. Active nodes. The algorithm does not maintain explicit lists of how many coupons are owned by each link and each node. Instead, the algorithm holds a partial cover J E and a subset of nodes A V called the active nodes. The set of active nodes is initialized to the set of unmatched leaves. After each contraction, the resulting compound node is activated while the active nodes that are contracted into the compound node are deactivated. Hence, every leaf in T/J that is not matched by M and every compound node is active. The Coupons Invariant requires that every active node own a coupon if it is compound and 1.2 coupons if it is an unmatched leaf. 5.2 Greedy Contractions Consider a subtree T T. Let coupons(t ) denote the number of coupons that reside in T. Note that a link in M contributes 1.8 coupons to coupons(t ) only if both endpoints are in T. 12

14 A subtree T is α-contractible if T is the union of α paths {p(u i,v i )} α i=1, where (u i,v i ) is a link. Note that these paths are not disjoint since T is connected. Definition 25: Let T denote an α-contractible subtree. The contraction of T into a compound node using α links is α-greedy if coupons(t ) α + 1. Implementation of a greedy contraction. Let J denote a partial cover of T, and let A denote the set of active nodes in T/J. An α-greedy contraction of a subtree T T/J is implemented by the algorithm as follows. Let F denote the set of α links that are used to contract T. Let v denote the lca of the nodes in T. The algorithm updates J and A as follows: J J F A (A \ T ) {v}. (8) The following claim shows that the Coupons Invariant is preserved by a greedy contraction. Claim 26: If the Coupons Invariant holds before a greedy contraction, then it also holds after it. Proof: After an α-greedy contraction is used to contract T, we are left with at least one coupon. The resulting compound node (i.e., the lca of the nodes contracted by the α-greedy contraction) is added to the set of active nodes and is granted a coupon. Hence the invariant that every compound node owns a coupon is maintained. Let coupons(t ) denote the number of tickets that reside in T. We also consider a greedy contractions that use tickets (here, a ticket is worth half a coupon). Definition 27: Let T denote an α-contractible subtree. The contraction of T into a compound node using α links is α-greedy with tickets if coupons(t ) tickets(t ) α + 1. An α-greedy contraction, if one exists, can found in polynomial-time as long as α is constant. One of the steps of the algorithm is to apply all possible 1- and 2-greedy contractions exhaustively. The following examples of greedy contractions illustrate various possible scenarios that may arise during this step of the algorithm. (A) (B) (C) (D) u s a v b c d a 1 v b 1.8 c d 1 b 2 v s b 1 a 1 Figure 3: Greedy contractions: (A) A 1-greedy contraction of a twin-link. (B) A 2-greedy contraction of two links in the matching. (C) A 2-greedy contraction of two links not in the matching. (D) A 2-greedy contraction using an original leaf and a matching link. 13

15 Example 4: Figure 3 depicts some greedy contractions. Note that there may be additional subtrees hanging from descendants of v in examples (B) and (C) and from descendants of u in example (D). Such additional subtrees are not depicted. (A) A 1-greedy contraction is depicted in which the twin-link between two unmatched twin-leaves is contracted. The contracted tree T consists of the stem s and the twin-leaves. Note that coupons(t ) = 2.4 since there are two unmatched leaves in T. Note also that T is 1- contractible. One coupon is used to pay for the contraction of the twin-link; another coupon is given to the compound node s created by the contraction of the twin-link. The remaining fraction of a coupon is lost. (B) A 2-greedy contraction is depicted in which two links (a,c) and (b,d) in M are contracted. (The important property in this example is that the paths p(a,c) and p(b,d) share a node.) In this example, the 2-contractible tree T equals the union of the paths p(a,c) p(b,d). (There could be additional subtrees hanging from the parents of the leaves that are not depicted; these subtrees are not contracted, so after the contraction they hand from the lca, namely from v). Note that coupons(t ) = > 3 since there are 2 links in M T. Note that T is 2-contractible. Two coupons are used to pay for the contraction of T ; a third coupon is given to the compound node v created by the contraction of the two links. (C) A 2-greedy contraction is depicted in which two links not in M are contracted. The 2- contractible tree T equals p(a,c) p(b,d). The number of coupons is at least > 3 since there is one link (b,c) M T and two unmatched leaves a,d UL T (M). The tree T is 2-contractible using the links (a,c) and (b,d) that are not in M. Two coupons are used to pay for the contraction of T, a third coupon is given to the compound node v created by the contraction of the two links, and the remaining coupons are lost. (D) A 2-greedy contraction of a subtree T. The 2-contractible tree T equals p(b 1,b 2 ) p(a 1,u), where u is the other endpoint of the up-link emanating from the original leaf a 1. The subtree T is contracted by contracting the link (b 1,b 2 ) M and (a 1,u). The number of coupons in T is = 3 since (b 1,b 2 ) owns 1.8 coupons and a 1 owns 1.2 coupons Basic Covers The following claim is analogous to Lemma 12, and follows from the same argument. Claim 28: If (T/(J M)) v is minimally A-closed, then (M T v ) up(a T v ) covers (T/J) v. Claim 28 justifies the following definition. Definition 29: The basic cover of (T/J) v is the set of links (M T v ) up(a T v ). We denote the basic cover of (T/J) v by basic-cover((t/j) v ). 5.3 Algorithm: intuition We now present an intuitive description of the approximation algorithm. Although the description of Algorithm i-cover(t) (listed as Algorithm 2) mimics the 2-approximation algorithm (listed as Algorithm 1), there are two major differences. 14

16 1. The partitioning now is done by a hypothetic oracle that is somehow able to identify a good leaf-stem-closed subtree T = T v. Recall that the unmatched leaves lower bound applies only to leaf-stem closed subtrees. The important property that subtree T satisfies is that the set of links J used to cover T charges only links in F V,V, where V denotes the nodes in T. This is important because the recursive step that covers T/J charges a disjoint set of links in F, namely, links in F \ F V,V. Obviously, this hypothetic oracle is not available, and we describe later how T is computed in reality. 2. The up-links from the leaves of T may not cover T. This is why the procedure bg-cover(t ) is used (listed as Algorithm 3). The procedure bg-cover covers T by its basic cover if it is indeed a feasible cover. If the basic cover of T is not a feasible cover, then a greedy contraction F is found. The procedure then recurses on T /F. We are left with the task of proving that if basic-cover(t ) is not feasible, then there exists a greedy contraction that can be efficiently found. We later prove that this is true, except for one special case in which T has only 3 leaves. We now note a few remarks about this intuitive algorithm: 1. We omitted the preprocessing needed to eliminate reducible edge in T. Such a preprocessing should take place in the first line of i-cover(t), and the contracted links (if any) should be added to the solution. 2. The matching M is computed by i-cover(t) so that coupons can be distributed to make greedy contractions well defined. Note that after T = T v is contracted, the recursive call recomputes the matching (from scratch) so that the root of v of T can participate as a leaf. 3. A link in M is not split by T. Namely, either both endpoints of the link are in T or outside T. This is true because T is leaf-closed. 4. The two important characteristics presented in this intuitive presentation are disjointness and progress by greedy contractions. Disjointness means that credit for covering the subtree T = T v originates only from links of F, both endpoints of which are in T. To achieve disjointness T must be leaf-stem closed. Progress by greedy contractions means that T is contracted by a sequence of greedy contractions that may end with a basic-cover. In each greedy-contraction, the number of coupons in the contracted subtree is greater than the number of links used in the contraction. The surplus (consisting of at least one coupon) is placed in the lca of the contracted subtree. Algorithm 2 i-cover(t) - An intuitive approximation algorithm. 1: If V (T) = 1, then return and stop. 2: M a maximum matching of leaf-to-leaf links in T, excluding twin-links. 3: Ask oracle for a good leaf-stem-closed subtree T = T v of T. 4: J bg-cover(t ). 5: Return J i-cover(t/j). 15

17 Algorithm 3 bg-cover(t ) - cover a leaf-stem-closed subtree using its basic-cover or greedy contractions. 1: If basic-cover(t ) covers T, then Return(basic-cover(T )) and stop. 2: Else, {apply a greedy contraction and recurse} 3: F a subset of links in T whose contraction is a greedy contraction. 4: Return(F bg-cover(t /F)). 5.4 The algorithm In this section we describe the approximation algorithm, listed below as Algorithm 4. (One particular case of a subtree with 3 leaves is deferred to Sec. 6.4.) The main issue that we address here is how to find the good leaf-stem-closed subtree that the oracle computed for us in the intuitive algorithm. The progress of bg-cover, namely, justifying the intermediate contractions as greedy contractions is addressed in Sec. 6. Algorithm 4 Tree-Cover(T) - a 1.8-approximation algorithm. 1: Notation: A - a set of active nodes, J - partial cover. 2: Assumption: There are no reducible edges in T. If not, reduce and add contracted links to final solution. 3: If T contains a single node, then Return( ) and halt. 4: Compute matching: M maximum matching of leaf-to-leaf links that are not twin-links. 5: Initialize: A all leaves in T that are not not matched by a link in M. J. 6: Exhaust 1- and 2-greedy contractions: (A, J) exhaust all possible 1-greedy, 2-greedy contractions in T/J 7: Find a node v T such that (T/(J M)) v is a minimally A-closed subtree of T/(J M). 8: while (T/J) v is not Sp(T)-closed do 9: Process: contract (T/J) v by its basic cover (special case if contains 3 leaves). J J basic-cover((t/j) v )) A (A \ (T/J) v ) {v}. 10: (A,J) exhaust all possible 1-greedy, 2-greedy contractions in T/J 11: Find a node v T such that (T/(J M)) v is a minimally A-closed subtree of T/(J M). 12: end while 13: Find a cover only of T v : J (J T v ) basic-cover((t/j) v ). 14: Contract T v and recurse: Return (J Tree-Cover(T/J)). The algorithm accepts a tree T to be covered (the set of links is implied). The algorithm maintains two sets: A (the set of active nodes) and J (a partial cover). We first assume that there are no reducible edges in T. If not, then tree edges are eliminated and maximal links are contracted 16

18 until all edges are not reducible achieved (see Sec. 2.5). Links contracted in this stage are added to the computed cover. The stopping condition of the algorithm is when T contains a single node. If the stopping condition does not hold, then the following preprocessing takes place (lines 4-6). A maximum matching M of leaf-to-leaf links not including twin-links is computed in line 4. Initialization takes place in line 5. The initial set of active nodes is the set of unmatched leaves, and the initial partial cover is empty. In line 6, all possible 1- and 2-greedy contractions in T are performed (see Sec. 5.2). Each greedy contraction requires updating the set A of active nodes and the partial cover J (see Eq. 8). In Line 7, a node v is found such that the subtree (T/(J M)) v is a minimally A-closed subtree of T/(J M). We refer to the subtree (T/J) v in the beginning of an iteration of the while-loop as the current subtree. The stopping condition of the while-loop in lines is that the current subtree (T/J) v is leaf-stem-closed. The criteria for selecting the current subtree may seem awkward; namely, after J M is contracted the subtree should be active-closed. As pointed out in the previous section, to achieve disjointness, we do not want to split links in M. So we must consider a subtree that does not split matching links. This explains why the links in M are contracted before the current subtree is chosen. Since we do not have enough credit to contract the up-links from matched leaves (because every matched link owns less than 2 coupons), a cheaper cover is used. By Claim 28, the current subtree is covered by its basic-cover. However, if the current subtree is not leaf-stem-closed, then disjointness might not be satisfied. Hence, we have not reached a good tree yet, and a coupon must given to the root of the current subtree after it is contracted. Progress is achieved in the case that the current subtree is not leaf-stem-closed by showing that the basic-cover is a greedy cover of the current subtree, except for one special case (see Theorem 33). The contraction of the links in the basic cover may enable new 1- and 2-greedy contractions before a new current subtree is found and a new iteration of the while-loop takes place. If the current subtree (T/J) v is leaf-stem-closed, then the subtree T v is a good tree. There is no need to recompute a cover of T v ; in line 13 the algorithm simply takes the basic cover of (T/J) v and the links in J T v. All other links in the partial solution are discarded because these links are not contributing to the contraction of the good tree. In this way the partial cover computed by the algorithm is identical to the one computed by the intuitive algorithm in which the good tree is given in advance by the oracle. To see that the algorithm terminates with a cover it suffices to prove that the while-loop terminates. Note that if v is the root of the current subtree in the beginning of an iteration of the while-loop, then at the end of the iteration, v and all its descendants can not be selected as the root of the new current subtree. Indeed, if (T/J) v is contracted by its basic cover, then v becomes active, and is not selected again as the root of the current subtree. In Section 6.4 we show that this is also true if the current subtree has 3 leaves. 17

19 6 Analysis of the algorithm 6.1 The AMJ-invariant In this section we present an invariant that is satisfied by the algorithm after 1- and 2-greedy contractions are exhausted. This invariant plays a crucial role in proving the correctness of the algorithm. Invariant 30: [The AMJ-invariant] Let A denote the set of active nodes. Let M denote a matching between leaves of a tree T. Let J E denote a partial cover. We say that the triple (A,M,J) satisfies the AMJ-invariant if the following seven conditions are satisfied. 1. The set of active nodes is independent; namely, there does not exist a link between two active nodes. 2. For every pair of links (a 1,b 1 ) and (a 2,b 2 ) in M, the paths p(a 1,b 1 ) and p(a 2,b 2 ) are vertexdisjoint. 3. Active nodes do not belong to paths covered by matching links. 4. Every stem s St(T) (T/J) has exactly one child incident to a link in M; the other child is an unmatched leaf. 5. If the subtree (T/J) v contains a link in M then it has at least three leaves (one of the leaves must be a compound node or an unmatched leaf in T). 6. Every leaf in T/(J M) is an active leaf in A (T/J). In particular, the contraction of a link in M does not introduce a new leaf in T/J. 7. Consider a node v T such that T = (T/(J M)) v is minimally active-closed. Then every active node u A (T/J) v is a leaf in T/(J M). 8. Every matched vertex has exactly one link in F emanating from it, i.e., if deg M (v) = 1, then deg F (v) = Satisfying the AMJ-invariant Claim 31: Suppose that M does not contain a twin-link in T/J and that the Coupons Invariant holds. If no 1- or 2-greedy contractions are applicable, then the AMJ-invariant holds. Proof: Proof of part 1: if (a 1,a 2 ) is a link between two active nodes, then the contraction of (a 1,a 2 ) is a 1-greedy contraction (as in part (1) of example 4). Proof of part 2: if p(a 1,b 1 ) and p(a 2,b 2 ) share a vertex v, for (a 1,b 1 ),(a 2,b 2 ) M, then the contraction of (a 1,b 1 ) and (a 2,b 2 ) is a 2-greedy contraction (as in part (2) of example 4). Proof of part 3: If an active node a belongs to a path p(b 1,b 2 ) covered by a matching link (b 1,b 2 ) M, then the contraction of (b 1,b 2 ) is a 1-greedy contraction. Proof of part 4: If both twin-leaves are not matched, then they are active. But then the twinlink connects them, in contradiction to part 1. If both leaves are incident to links in M, then the the stem is covered by both links, contradicting part 2. 18

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

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

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

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

In this lecture, we ll look at applications of duality to three problems:

In this lecture, we ll look at applications of duality to three problems: Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CPSC 536N: Randomized Algorithms Term 2. Lecture 10 CPSC 536N: Randomized Algorithms 011-1 Term Prof. Nick Harvey Lecture 10 University of British Columbia In the first lecture we discussed the Max Cut problem, which is NP-complete, and we presented a very

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

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

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

Matching Theory. Figure 1: Is this graph bipartite?

Matching Theory. Figure 1: Is this graph bipartite? Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to

More information

Approximation Algorithms for Finding Highly. Samir Khuller. Dept. of Computer Science. University of Maryland. College Park, MD 20742

Approximation Algorithms for Finding Highly. Samir Khuller. Dept. of Computer Science. University of Maryland. College Park, MD 20742 Approximation Algorithms for Finding Highly Connected Subgraphs Samir Khuller Dept. of Computer Science University of Maryland College Park, MD 20742 samir@cs.umd.edu (301) 405 6765 This chapter is dedicated

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

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

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

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

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

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

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

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

1 Variations of the Traveling Salesman Problem

1 Variations of the Traveling Salesman Problem Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

More information

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method. My T. Thai Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

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

4 Greedy Approximation for Set Cover

4 Greedy Approximation for Set Cover COMPSCI 532: Design and Analysis of Algorithms October 14, 2015 Lecturer: Debmalya Panigrahi Lecture 12 Scribe: Allen Xiao 1 Overview In this lecture, we introduce approximation algorithms and their analysis

More information

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

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

1 Better Approximation of the Traveling Salesman

1 Better Approximation of the Traveling Salesman Stanford University CS261: Optimization Handout 4 Luca Trevisan January 13, 2011 Lecture 4 In which we describe a 1.5-approximate algorithm for the Metric TSP, we introduce the Set Cover problem, observe

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 Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Polynomial-Time Approximation Algorithms

Polynomial-Time Approximation Algorithms 6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz Polynomial-Time Approximation Algorithms NP-hard problems are a vast

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

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

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

Topics in Combinatorial Optimization February 5, Lecture 2

Topics in Combinatorial Optimization February 5, Lecture 2 8.997 Topics in Combinatorial Optimization February 5, 2004 Lecture 2 Lecturer: Michel X. Goemans Scribe: Robert Kleinberg In this lecture, we will: Present Edmonds algorithm for computing a maximum matching

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009

More information

Disjoint directed cycles

Disjoint directed cycles Disjoint directed cycles Noga Alon Abstract It is shown that there exists a positive ɛ so that for any integer k, every directed graph with minimum outdegree at least k contains at least ɛk vertex disjoint

More information

1 Matchings in Graphs

1 Matchings in Graphs Matchings in Graphs J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 J J 2 J 3 J 4 J 5 J J J 6 8 7 C C 2 C 3 C 4 C 5 C C 7 C 8 6 Definition Two edges are called independent if they are not adjacent

More information

11.9 Connectivity Connected Components. mcs 2015/5/18 1:43 page 419 #427

11.9 Connectivity Connected Components. mcs 2015/5/18 1:43 page 419 #427 mcs 2015/5/18 1:43 page 419 #427 11.9 Connectivity Definition 11.9.1. Two vertices are connected in a graph when there is a path that begins at one and ends at the other. By convention, every vertex is

More information

4 Fractional Dimension of Posets from Trees

4 Fractional Dimension of Posets from Trees 57 4 Fractional Dimension of Posets from Trees In this last chapter, we switch gears a little bit, and fractionalize the dimension of posets We start with a few simple definitions to develop the language

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

Approximation scheme for the traveling salesman problem

Approximation scheme for the traveling salesman problem Chapter 15 Approximation scheme for the traveling salesman problem 15.1 Multiterminal cut In this chapter, we describe a methodology that can be used for some problems for which the previous chapter s

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19: CS270 Combinatorial Algorithms & Data Structures Spring 2003 Lecture 19: 4.1.03 Lecturer: Satish Rao Scribes: Kevin Lacker and Bill Kramer Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Lecture Overview. 2 The Steiner Tree Problem. 2.1 Steiner tree: a 2-approximation algorithm. COMPSCI 590.1: Graph Algorithms March 22, 2015

Lecture Overview. 2 The Steiner Tree Problem. 2.1 Steiner tree: a 2-approximation algorithm. COMPSCI 590.1: Graph Algorithms March 22, 2015 COMPCI 590.1: Graph Algorithms March 22, 2015 Lecturer: Debmalya Panigrahi Lecture 16-17 cribe: Yuhao Hu 1 Overview The main topics of this lecture are the offline edge-weighted teiner tree and teiner

More information

Strongly Connected Spanning Subgraph for Almost Symmetric Networks

Strongly Connected Spanning Subgraph for Almost Symmetric Networks CCC 2015, Kingston, Ontario, August 10 12, 2015 Strongly Connected Spanning Subgraph for Almost Symmetric Networks A. Karim Abu-Affash Paz Carmi Anat Parush Tzur Abstract In the strongly connected spanning

More information

THE LEAFAGE OF A CHORDAL GRAPH

THE LEAFAGE OF A CHORDAL GRAPH Discussiones Mathematicae Graph Theory 18 (1998 ) 23 48 THE LEAFAGE OF A CHORDAL GRAPH In-Jen Lin National Ocean University, Taipei, Taiwan Terry A. McKee 1 Wright State University, Dayton, OH 45435-0001,

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

V10 Metabolic networks - Graph connectivity

V10 Metabolic networks - Graph connectivity V10 Metabolic networks - Graph connectivity Graph connectivity is related to analyzing biological networks for - finding cliques - edge betweenness - modular decomposition that have been or will be covered

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

arxiv: v1 [cs.ds] 19 Feb 2014

arxiv: v1 [cs.ds] 19 Feb 2014 Turing Kernelization for Finding Long Paths and Cycles in Restricted Graph Classes Bart M. P. Jansen 1 University of Bergen, Norway. Bart.Jansen@ii.uib.no arxiv:1402.4718v1 [cs.ds] 19 Feb 2014 Abstract.

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,

More information

Bicriteria Network Design via Iterative Rounding

Bicriteria Network Design via Iterative Rounding Bicriteria Network Design via Iterative Rounding Piotr Krysta Department of Computer Science, Dortmund University Baroper Str. 301, 44221 Dortmund, Germany piotr.krysta@cs.uni-dortmund.de Abstract. We

More information

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H. Abstract We discuss a class of graphs called perfect graphs. After defining them and getting intuition with a few simple examples (and one less simple example), we present a proof of the Weak Perfect Graph

More information

Problem Set 2 Solutions

Problem Set 2 Solutions Problem Set 2 Solutions Graph Theory 2016 EPFL Frank de Zeeuw & Claudiu Valculescu 1. Prove that the following statements about a graph G are equivalent. - G is a tree; - G is minimally connected (it is

More information

Minimum sum multicoloring on the edges of trees

Minimum sum multicoloring on the edges of trees Minimum sum multicoloring on the edges of trees Dániel Marx a,1 a Department of Computer Science and Information Theory, Budapest University of Technology and Economics, H-1521 Budapest, Hungary. Abstract

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

Throughout the chapter, we will assume that the reader is familiar with the basics of phylogenetic trees.

Throughout the chapter, we will assume that the reader is familiar with the basics of phylogenetic trees. Chapter 7 SUPERTREE ALGORITHMS FOR NESTED TAXA Philip Daniel and Charles Semple Abstract: Keywords: Most supertree algorithms combine collections of rooted phylogenetic trees with overlapping leaf sets

More information

Optimization I : Brute force and Greedy strategy

Optimization I : Brute force and Greedy strategy Chapter 3 Optimization I : Brute force and Greedy strategy A generic definition of an optimization problem involves a set of constraints that defines a subset in some underlying space (like the Euclidean

More information

Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search

Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search Simpler, Linear-time Transitive Orientation via Lexicographic Breadth-First Search Marc Tedder University of Toronto arxiv:1503.02773v1 [cs.ds] 10 Mar 2015 Abstract Comparability graphs are the undirected

More information

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 1 An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 2 Linear independence A collection of row vectors {v T i } are independent

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Decreasing the Diameter of Bounded Degree Graphs

Decreasing the Diameter of Bounded Degree Graphs Decreasing the Diameter of Bounded Degree Graphs Noga Alon András Gyárfás Miklós Ruszinkó February, 00 To the memory of Paul Erdős Abstract Let f d (G) denote the minimum number of edges that have to be

More information

arxiv: v2 [cs.ds] 15 Sep 2016

arxiv: v2 [cs.ds] 15 Sep 2016 Improved Approximation for Weighted Tree Augmentation with Bounded Costs arxiv:1607.03791v [cs.ds] 15 Sep 016 David Adjiashvili Institute for Operations Research, ETH Zürich Rämistrasse 101, 809 Zürich,

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

The External Network Problem

The External Network Problem The External Network Problem Jan van den Heuvel and Matthew Johnson CDAM Research Report LSE-CDAM-2004-15 December 2004 Abstract The connectivity of a communications network can often be enhanced if the

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1

DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1 Discussiones Mathematicae Graph Theory 32 (2012) 643 657 doi:10.7151/dmgt.1633 DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1 Soufiane Khelifi Laboratory LMP2M, Bloc of laboratories

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

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

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

More information

CSC Linear Programming and Combinatorial Optimization Lecture 12: Semidefinite Programming(SDP) Relaxation

CSC Linear Programming and Combinatorial Optimization Lecture 12: Semidefinite Programming(SDP) Relaxation CSC411 - Linear Programming and Combinatorial Optimization Lecture 1: Semidefinite Programming(SDP) Relaxation Notes taken by Xinwei Gui May 1, 007 Summary: This lecture introduces the semidefinite programming(sdp)

More information

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Approximation Algorithms

Approximation Algorithms Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Maximum Betweenness Centrality: Approximability and Tractable Cases

Maximum Betweenness Centrality: Approximability and Tractable Cases Maximum Betweenness Centrality: Approximability and Tractable Cases Martin Fink and Joachim Spoerhase Chair of Computer Science I University of Würzburg {martin.a.fink, joachim.spoerhase}@uni-wuerzburg.de

More information

Augmenting Trees so that Every Three Vertices Lie on a Cycle

Augmenting Trees so that Every Three Vertices Lie on a Cycle Augmenting Trees so that Every Three Vertices Lie on a Cycle Peter Dankelmann School of Mathematical and Statistical Sciences, University of Natal, Durban, 4041, South Africa Wayne Goddard School of Geological

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

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Fundamenta Informaticae 56 (2003) 105 120 105 IOS Press A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Jesper Jansson Department of Computer Science Lund University, Box 118 SE-221

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

2. Lecture notes on non-bipartite matching

2. Lecture notes on non-bipartite matching Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 15th, 013. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested in finding

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

Scribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017

Scribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017 CS6 Lecture 4 Greedy Algorithms Scribe: Virginia Williams, Sam Kim (26), Mary Wootters (27) Date: May 22, 27 Greedy Algorithms Suppose we want to solve a problem, and we re able to come up with some recursive

More information

The strong chromatic number of a graph

The strong chromatic number of a graph The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same

More information

arxiv:submit/ [math.co] 9 May 2011

arxiv:submit/ [math.co] 9 May 2011 arxiv:submit/0243374 [math.co] 9 May 2011 Connectivity and tree structure in finite graphs J. Carmesin R. Diestel F. Hundertmark M. Stein 6 May, 2011 Abstract We prove that, for every integer k 0, every

More information

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference

Sources for this lecture. 3. Matching in bipartite and general graphs. Symmetric difference S-72.2420 / T-79.5203 Matching in bipartite and general graphs 1 3. Matching in bipartite and general graphs Let G be a graph. A matching M in G is a set of nonloop edges with no shared endpoints. Let

More information

Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Module 7. Independent sets, coverings. and matchings. Contents

Module 7. Independent sets, coverings. and matchings. Contents Module 7 Independent sets, coverings Contents and matchings 7.1 Introduction.......................... 152 7.2 Independent sets and coverings: basic equations..... 152 7.3 Matchings in bipartite graphs................

More information