Approximation Algorithms Lecture 14 01/25/11 1
- Again Problem: Steiner Tree. Given an undirected graph G=(V,E) with non-negative edge costs c : E Q + whose vertex set is partitioned into required vertices (terminals) R V and Steiner vertices V \R, find a minimum cost tree in G that contains all terminals. In the metric Steiner Tree Problem, G is the complete graph and edge costs satisfy the triangle inequality, i.e. c(u, w) c(u, v)+c(v, w) for all u, v, w V. Proposition 1 There is an approximation factor preserving reduction from the Steiner Tree Problem to the metric Steiner Tree Problem. 2
Steiner terminal 3
Literature for this Chapter: J. Byrka, F. Grandoni, T. Rothvoß, L. Sanità. An Improved LP-based Approximation for Steiner Tree. In Proc. of 42nd ACM Symposium on Theory of Computing (STOC), 2010....and references therein. 4
Let us consider an interesting LP relaxation of the Steiner tree problem: Fix an arbitrary terminal r as the root. Replace every edge {u, v} of G by two directed edges (u, v), (v, u) of cost c({u, v}) each. For a cut U V define δ + (U) = (u, v) E u U, v / U as the set of directed edges leaving U. Given the optimal Steiner tree we can turn it into an arborescence with sink r of identical cost. Then for every set U V \{r} containing terminals, T must contain an edge from δ + (U). This leads to the bidirected cut relaxation: 5 T
BCR: min. s.t. c(e)z e e E e δ + (U) z e 0 z e 1 U V \{r} : U R = e E Theorem 28 For R = V, the polyhedron of BCR is integral. Thus, BCR is an exact LP relaxation of the MST problem. The integrality gap in general is not known (but expected) to be <2. 6
Steiner terminal A (full) component is a maximal subtree in which all leaves are terminals and all inner vertices are Steiner vertices. 7
The edge set of a Steiner tree is partitioned by its components. A k-restricted Steiner tree is a Steiner tree consisting of components containing at most k terminals each (k-components). For a given instance, let Opt and Opt k denote the optimal unrestricted and k-restricted Steiner trees, opt and opt k their respective cost. Theorem 27 It holds that opt k opt 1+ 1 log 2 k. The components of an optimal k-restricted Steiner tree are optimal Steiner trees for their respective terminals. 8
Given graph G, a directed k-component C is an optimal Steiner arborescence on a set of up to k terminals with one of the terminals being specified as the sink. For a given set of terminals, a sink and constant k, we can compute the optimal arborescence in poly time. For given G, let C 1,...,C h be the set of all possible directed k- components. Note, that h = O(kn k ). Let c(c j ) denote the cost of C j, sink(c j ) its sink and sources(c j )=V(C j ) R\sink(C j ) its set of sources. For every U R\{r}, define δ + k (U) = C j sources(c j ) U = sink(c j ) / U to be the set of directed k-components crossing U. 9
The directed-component cut relaxation for k-restricted Steiner tree: k-dcr: min. c(c j )x j s.t. j C j δ + k (U) x j 1 U R\{r},U = x j 0 j =1,...,h Proposition 2 k-dcr can be solved in polynomial time for constant k. 10
Let Opt f k denote an optimal (fractional) solution to k-dcr, opt f k its cost. For a given (directed or undirected) component, V (C ) R is its set of terminals. C R(C )= T 0 Let be a minimum cost spanning tree on the set of terminals. Lemma 26 For any k, c(t 0 ) 2 opt f k. We will derive another bound on the cost of a terminal spanning tree exploiting the structure of the optimal k-dcr solution. 11
Consider a given Steiner tree S containing a subset terminals. k R R of Imagine we collapse terminals into a single terminal. Let S be the minimum cost tree with S S in the resulting (multi-) graph spanning all vertices of S. Note, that S\S = k 1. We call Br S (R )=S\S the bridges of S with respect to R. We denote br S (R )=c(br S (R )) and for a (directed or undirected) component C, Br S (C )=Br S (R(C )) and br S (C )=c(br S (C )). R 12
Steiner terminal R 1 1 2 8 1 7 1 3 4 6 13
Steiner terminal R 1 1 2 8 1 7 1 3 4 6 14
Steiner terminal R 1 1 2 8 1 7 1 3 4 6 15
Keep tree S fixed. We define a bridge weight function w : R R Q + 0, where w(u, v) is the maximum cost of any edge on the unique u-v-path in S. Lemma 27 Let R R and Br S (R )={b 1,...,b k 1} with k = R. Then one can construct a spanning tree Y = {e 1,...,e k 1} on R such that, for i =1,...,k 1, (a) w(e i )=c(b i ), (b) b i is the only bridge edge on the cycle in S {e i }. In particular, w(y )=br S (R ). 16
e 3 6 Steiner terminal R e 1 e 2 e 4 2 7 8 b 2 1 1 2 b 4 8 1 b 1 7 1 3 4 b 3 6 17
Lemma 28 [Bridge Lemma] Let T be a terminal spanning tree and x a solution to k-dcr. Then, c(t ) x j br T (C j ). j 18