Steiner Trees and Forests

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

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

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.

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

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

Solutions for the Exam 6 January 2014

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

1 The Traveling Salesperson Problem (TSP)

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

The k-center problem Approximation Algorithms 2009 Petros Potikas

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

6. Lecture notes on matroid intersection

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 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013

Theorem 2.9: nearest addition algorithm

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

Approximation Algorithms

A Note on Polyhedral Relaxations for the Maximum Cut Problem

Chapter 23. Minimum Spanning Trees

Primal-Dual Algorithms for Connected Facility Location Problems

Approximation Algorithms

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

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

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

Iterative Methods in Combinatorial Optimization. R. Ravi Carnegie Bosch Professor Tepper School of Business Carnegie Mellon University

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

1. Lecture notes on bipartite matching

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

Assignment # 4 Selected Solutions

Modules. 6 Hamilton Graphs (4-8 lectures) Introduction Necessary conditions and sufficient conditions Exercises...

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

Repetition: Primal Dual for Set Cover

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

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

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

12.1 Formulation of General Perfect Matching

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

Solution for Homework set 3

Notes 4 : Approximating Maximum Parsimony

Greedy Approximations

Outline. 1 The matching problem. 2 The Chinese Postman Problem

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

Lecture 3: Graphs and flows

Greedy algorithms Or Do the right thing

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.

Approximation Algorithms

The Encoding Complexity of Network Coding

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

Mathematical and Algorithmic Foundations Linear Programming and Matchings

5. Lecture notes on matroid intersection

Lecture 8: The Traveling Salesman Problem

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

Topics in Combinatorial Optimization February 5, Lecture 2

Partha Sarathi Mandal

We ve done. Introduction to the greedy method Activity selection problem How to prove that a greedy algorithm works Fractional Knapsack Huffman coding

Fall CS598CC: Approximation Algorithms. Chandra Chekuri

Approximation Algorithms

Introduction to Approximation Algorithms

Basics of Graph Theory

1 Variations of the Traveling Salesman Problem

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Approximation Algorithms for Degree-Constrained Minimum-Cost Network-Design Problems

Approximation algorithms for minimum-cost k-(s, T ) connected digraphs

Algorithm Design and Analysis

Rigidity, connectivity and graph decompositions

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

1 Linear programming relaxation

Greedy Algorithms and Matroids. Andreas Klappenecker

8 Matroid Intersection

Assignment 4 Solutions of graph problems

Combinatorial Optimization

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

Greedy Algorithms and Matroids. Andreas Klappenecker

Approximation Algorithms for Finding Low-Degree Subgraphs

An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem

arxiv: v2 [cs.ds] 21 Mar 2010

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

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

Approximation Algorithms

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

LECTURES 3 and 4: Flows and Matchings

Kruskal s MST Algorithm

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

6 Randomized rounding of semidefinite programs

Introduction to Graph Theory

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Matching Theory. Figure 1: Is this graph bipartite?

Ma/CS 6b Class 4: Matchings in General Graphs

Approximation Algorithms

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

1 Bipartite maximum matching

Primal-Dual Methods for Approximation Algorithms

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

Polynomial time approximation algorithms

Math 776 Graph Theory Lecture Note 1 Basic concepts

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Applications of the Linear Matroid Parity Algorithm to Approximating Steiner Trees

Problem Set 2 Solutions

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs.

Transcription:

Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G <V, EA, a cost function c E, and a partition of V into two sets R and S, find a minimum cost tree in G that contains all the vertices in R and any subset of the vertices in S. We would like to restrict this problem to instances in which the triangle inequality is satisfied, that is, instances in which G is a complete undirected graph and u, v, w. V c<u, wa 2 c<u, va c<u, wa The problem of solving the Steiner Tree problem with these restrictions is called the metric Steiner tree problem. The next theorem shows that an instance of the Steiner tree problem can be reduced in polynomial time to an instance of the metric Steiner tree problem, so that solving the latter implies being able to solve the first. Theorem 1 There is an approximation factor preserving reduction from the Steiner tree problem to the metric Steiner tree problem. Proof: We want to transform, in polynomial time, an instance I of the Steiner tree problem to an instance I of the metric Steiner tree problem. Given I, consisting of graph G <V, EA, create I as follows. For every u, v. V, create an edge <u, va in G with cost c<u, va equal to the cost of the shortest path from u to v in G. Let OP T and OP T be the cost of an optimal solution in I and I, respectively. We want to show that OP T OP T. We will show that OP T 2 OP T and that OP T 2 OP T. Let e and e be the edges connecting two vertices u and v in G and G, respectively. Since e is a path from u to v and e has cost equal to the cost of the shortest path from u to v, we see that c<ea 2 c<e A. Thus, for every edge e. E, we have that its cost in G is less than or equal to its cost in G. This means that the cost of the optimal solution in I is at most the cost of the optimal solution in I, and so OP T 2 OP T. Next, let T be an optimal solution to I ; we want to find a solution T in I such that c<ta 2 c<t A. Since OP T 2 c<ta for all T R E, this would mean that OP T 2 c<t A OP T. 1

Every edge in T corresponds to a shortest path in G, so replace each edge by this path to get a subgraph H R G. H might contain cycles so remove edges until H is acyclic (but still connected) and call this new subgraph T. Notice that c<ha c<t A, and since T R H, we have that c<ta 2 c<ha c<t A. Definition 1 A minimum spanning tree (MST) of a graph G that connects all vertices in V and whose total cost c<ta c<ea is minimized. e.t <V, EA is a subset T R E A minimum spanning tree on R is clearly a solution to the metric Steiner tree problem. It is not optimal but its cost is always within a factor of 2 from the optimal solution, as the next theorem illustrates. Theorem 2 The cost of an MST on R is within 2 OP T. Proof: Let OP T be the cost of an optimal solution T to an instance of the metric Steiner tree problem. If we double each edge in T, we get an Eulerian graph connecting all vertices in R and possibly some vertices in S. We can find an Eulerian tour of this graph, whose cost will be 2 OP T. Taking this tour and short-cutting vertices in R that have already been visited and vertices in S, we obtain a Hamiltonian cycle on R. Because G is complete, the short-cut edges are in E and because of the triangle inequality, they do not increase the cost of the tour. Deleting one edge from this Hamiltonian cycle yields a spanning tree of R with cost at most 2 OP T. Thus, if M is a minimum spanning tree on R, we have that c<ma 2 2 OP T. 2 Steiner Forest Problem Given an undirected graph G <V, EA, a cost function c E, and a collection of disjoint subsets of V : S 1, S 2,..., S k, find a minimum cost subgraph in G in which any two vertices belonging to the same set S i are connected. Define a connectivity requirement function r V V F0, 1K as follows: r<u, va J 1 if u and v belong to the same set S i; 0 otherwise. 2

Then an equivalent formulation of the Steiner forest problem is to find a minimum cost subgraph H R G such that if r<u, va 1, then there exists a path from u to v in H, or in other words, if r<u, va 1, then u and v are in the same connected component of H. 2.1 LP-Relaxation We define a function f ò<v A F0, 1K as follows: f<sa J 1 if u. S and v. S such that r<u, va 1; 0 otherwise. For S R V, let δ<sa denote the set of edges crossing the cut <S, SA. f can be viewed as a function on all cuts <S, SA in G, which specifies the minimum value of δ<sa in any feasible solution. Also, for each edge e. E we introduce the variable x e defined below x e J 1 if e is picked in the subgraph; 0 otherwise. The integer program is: minimize c e x e e.e subject to e e.δ<sa x e 3 f<sa, S R V x e. F0, 1K, e. E The LP-relaxation is obtained by letting 1 3 x e 3 0. The upper bound on x e is redundant, so we can drop it. Therefore, the LP-relaxation is: minimize c e x e e.e subject to x e 3 f<sa, e e.δ<sa S R V 3

x e 3 0, e. E The dual program is: maximize f<sa y S subject to S e.δ<sa y S 2 c e, e. E y S 3 0, S R V 2.2 Terminology Say that: ˆ set S has been raised in a dual solution if y S 1 0 ˆ edge e is tight if y S S e.δ<sa ˆ at any iteration, set S is unsatisfied if f<sa c e 1 but no picked edge crosses the cut <S, SA ˆ set S is active if it is a minimal unsatisfied set in the current iteration Notice that raising a set S for which f<sa 0 does not affect the dual objective function. So we can assume that such sets are never raised. Primal Conditions: For each e. E, x e 1 implies è S e.δ<sa y S c e. In other words, every edge that is picked must be tight. The algorithm starts with null primal and dual solutions. At any given iteration, the current primal solution indicates which sets need to be raised and the current dual solution indicates which edge needs to be picked. Lemma 3 Set S is active iff it is a connected component in the currently picked forest and f<sa 1. 4

Proof: Let S be an active set. If S contains part of a connected component, then there would already be an edge crossing the cut <S, SA which would contradict the fact that S is active. So S must be a union of connected components. Since f<sa 1, there must be vertices u. S, v. S such that r<u, va 1. Let S be the connected component that contains u, then S is also unsatisfied. Since S is minimal, we must have S S. The reverse follows by the definition of an active set. 2.3 Algorithm By lemma 3, all active sets can be easily found in the current iteration. The algorithm will then raise the dual variables of these sets in a synchronized manner until some edge goes tight. A tight edge is then picked arbitrarily and the iteration terminates. This process ends when a primal feasible solution F is found. However, F might contain redundant edges, that is, edges without which F would still be a feasible solution. So the algorithm drops all redundant edges and returns the newly pruned F. 1. Initialization F g for each S R V, y S 0 2. Edge augmentation while there exists an unsatisfied set do: simultaneously raise y S for each active set S, until some edge e goes tight F F 8 FeK 3. Pruning return F Fe. Fi F FeK is primal infeasiblek Lemma 4 At the end of the algorithm, F and y are primal and dual feasible solutions, respectively. Proof: At the end of step 2, all connectivity conditions are met (otherwise, another iteration would follow). Moreover, only connected sets are raised, so no edge between two vertices in the same component can go tight, and therefore F is acyclic, i.e. it is a forest. Hence, if r<u, va 1 then there is a unique path from u to v in F, and each edge in this path is non-redundant and will not be removed in step 3. Thus, F is a feasible solution. Now, when an edge goes tight, the current iteration terminates and active sets are redefined, so no edge is overtightened. This means that y is a feasible solution to the dual program. 5

Lemma 5 Consider any iteration of the algorithm and let C be a component of the graph formed by the currently picked edges. If f<ca 0 then deg F <CA h 1. Proof: Suppose, for the sake of contradiction, that f<ca 0 and deg F <CA 1. Let e be the unique edge connecting C and C. Since e. F, we know that e is not redundant, so there exist vertices u, v such that r<u, va 1 and e is part of the unique path between them. Since e is the only edge crossing the cut <C, CA, it must be the case that one of the vertices is in C and the other is in C. But we know r<u, va 1, so f<ca 1 which is a contradiction. Lemma 6 c e 2 2 y S e.f Proof: Every edge picked by the algorithm is tight, so e.f c e \ e.f ^ S e.δ<sa y S ] _ If we change the order of the summations, we get e.f c e \ ^ ] y S e.δ<sa9f _ deg F <SA y S It is therefore sufficient to show that deg F <SA y S 2 2 y S We will prove that in each iteration, the change in the left hand side is at most the change in the right hand side. Consider an iteration and let be the amount by which the dual variables were raised in this iteration. We want to prove that: @ deg F <SAE 2 2 <# active setsa S active or equivalently, è S active deg F <SA # active sets 2 2 Let H <V, F A and consider the set of connected components with respect to F at the current iteration. Shrink each one of these components to a node and call the new graph 6

H. Let V and E denote the set of vertices and edges of H, respectively. Notice that all vertices picked before the current iteration have been shrunk. Further notice that if the node s. V corresponds to the connected component S in H, then deg F <SA deg H <sa Call a node s. H active if it corresponds to an active set in H and inactive otherwise. We want to prove that or equivalently, that deg H <sa s active # active nodes in H 2 2 deg H <sa deg H <sa 2 2 <# active nodes in H A s.v s inactive Notice that if s. V is an active node, then deg H 1 0 because there must be an edge incident to it to satisfy connectivity requirements. If s is inactive then by lemma 5 we know that deg H <sa h 1, so either deg H <sa 0 or deg H <sa 3 2. By the handshaking lemma, we know that deg H <sa 2iE i 2iV i 2 <# connected components of H A 2 2iV i s.v This inequality still holds if we remove isolated vertices from V because each time we remove an isolated vertex, both iv i and the number of connected components decrease by 1. So remove any isolated vertices from H ; notice that any vertex we remove is inactive and that the inactive nodes that remain have degree greater than or equal to 2. Thus deg H <sa 3 2 <# of inactive nodes inh A s inactive This means that deg H <sa deg H <sa 2 2iV i 2 <# of inactive nodes inh A s.v s inactive 2 <# active nodes in H A This proves our claim. Theorem 7 The algorithm given above is a 2-factor approximation algorithm to the Steiner forest problem. 7

Proof: By lemma 4, we know that F and y are primal and dual feasible solutions, respectively. By lemma 5, we know that c e 2 2 y S. Since no set S for which f<sa 0 e.f was ever raised, we know that 2 y S 2 f<sa y S. This is the dual objective function, which means that if OP T f is the optimal solution to the dual program, then f<sa y S 2 OP T f But we know that the optimal solution to the fractional program is at most the optimal solution to the integer program, so 2 e.f c e 2 2 OP T f 2 2 OP T References [1] Vazirani, Vijay V. Approximation Algorithms Chapters 3.1 and 22, Springer 2003 8