110 likes | 315 Views
On approximation algorithms for the terminal Steiner tree problem. Doratha E. Drake, Stefan Hougardy Information Processing Letters 89(2004) 15-18. Reporter: Cheng-Chung,Li 2004/04/19. Outline. Introduction The hardness result The approximation algorithm. Introduction-(1).
E N D
On approximation algorithms for the terminal Steiner tree problem Doratha E. Drake, Stefan Hougardy Information Processing Letters 89(2004) 15-18 Reporter: Cheng-Chung,Li 2004/04/19
Outline • Introduction • The hardness result • The approximation algorithm
Introduction-(1) • Given a graph G=(V,E) with a length function w:ER+ and a subset RV of terminals the Steiner tree problem is to find a minimum length tree in G that contains all vertices of R. Such a tree is called a Steiner minimum tree • If all vertices of R are leaves in Steiner tree, this special version is called terminal steiner tree problem • Metric-Steiner tree problem is known to be APX-hard, unless P=NP • The best polynomial time approximation algorithm for the Steiner tree problem that is currently know is due to Robins and Zelikovsky, they proved that their algorithm has an approximation ratio of at most 1.55
1 1 1 1 x Introduction-(2) • For the Steiner tree problem on may assume that the given graph is metric, i.e., it is a complete graph and the edge lengths satisfy the triangle inequality • Non-metric case: x+3 • Metric case: <5(x<2) Fig. 1. A non-metric instance for the terminal Steiner tree ProblemTerminals are indicted by squares, non-terminals by circles
Introduction-(3) • We will show that unless NP=DTIME(nO(loglogn)) the non-metric version of the terminal Steiner tree problem cannot be approximated to any constant (reduced by set cover problem) • The metric version of the terminal Steiner tree problem is APX-hard and we will give a factor 2 approximation algorithm, where denotes the best approximation ratio for the Steiner tree problem, i.e., 1.01<<1.55 currently, if PNP
The hardness result-(1) • Theorem 1: For any constant a polynomial time - approximation algorithm for the terminal Steiner tree problem yields a polynomial time -approximation algorithm for the set cover problem • We use a reduction from the set cover to non-metric terminal Steiner tree problem • Note that the set cover problem is known to be not approximable better than lnn, unless NP=DTIME(nO(loglogn))
1 T1 2 T2 7 T7 4 X 2 3 5 5 6 10 T0 T4 4 T3 3 T5 5 T9 9 T6 6 T10 10 T8 8 The hardness result-(2) A 1 C 7 2 8 B 6 D 5 3 9 4 10 E
The hardness result-(3) • Now a solution to the terminal Steiner tree problem contains the vertex x (as terminal T0 must be connected with other terminals) and some of the rays emanating from x • The weight of the solution of the terminal Steiner tree problem is exactly the number of these rays • All the sets Si that are connected to x by these rays form a set cover because for each j terminal Tj is connected to other terminals in the solution of the terminal Steiner tree problem only via sets which contain element j • Therefore the weight of the solution to the terminal Steiner tree problem = the solution to the set cover problem that is induced by this problem
The approximation algorithm-(1) • The algorithm of metric version terminal Steiner tree has a 2-factor, here denotes the best possible performance ratio for Steiner tree problem • We assume in the following that the given instance of the terminal Steiner tree contains at least three terminals • This algorithm based on two crucial operations: • first: remove those edges connect two vertices from R • Star-replacement: the operation reduces the degree of a vertex in R to one
a4 a5 a4 r a1 a1 r a2 a3 a2 The approximation algorithm-(2) • AlgorithmTerminalSteiner(G=(V,E),w: ER+, RV) • Remove all edges from G that connect two terminals in R • Compute a -approximate Steiner tree T in G for R • For rR do • If r is not a leaf in T • then make a star-replacement for r a5
The approximation algorithm-(3) • Theorem 2: The TerminalSteiner algorithm has performance ratio 2 • the first step does not change the value of optimal solution • For the star-replacement algorithm: Consider the terminal r with the neighbors a1,a2,…,ak in T(w.l.o.g., let w(r,a1)w(r,a2)…w(r,ak)), the star replacement replace the edges (r,a2), …,(r,ak) with the edges (a1,a2),…,(a1,ak) • By triangulation inequality: