The full Steiner tree problem Theoretical Computer Science
The full Steiner tree problem Theoretical Computer Science 306 (2003) 55 -67 C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28
Outline Definition of Steiner tree Approximation Algorithms Define of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition Conclusion ratio 8/5, in the worst case
Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition Conclusion ratio 8/5, in the worst case
Definition of Steiner tree-(1) n Given a graph G=(V, E), a subset R V of vertices, and a length function d: E + on the edges, a steiner tree is a connected and acyclic subgraph of G which spans all vertices of R
Definition of Steiner tree-(2) n n The vertices in R are usually referred as terminals and vertices in VR as steiner (or optional) vertices Note that a steiner tree might contain the steiner vertices. The length of a steiner tree is defined to be the sum of the lengths of all its edges The so-called steiner tree problem is to find a steiner minimum tree, i. e. , steiner tree of minimum length Please see Fig 1
5 6 5 2 2 2 3 4 2 4 13 Fig 1
Applications & Hardness n n Applications: VLSI design, network routing, wireless communications, computational biology The problem is well known to be NPcomplete [R. M. Karp, 1972], even in Euclidean metric or rectilinear metric
Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition Conclusion ratio 8/5, in the worst case
Approximation Algorithms n n n Many important problems are NP-complete or worse They are approximation algorithms How good are the approximations ? q We are looking for theoretically guaranteed bounds, not empirical bounds
Some Definitions n n Given an optimization problem, each problem instance x has a set of feasible solutions F(x) Each feasible solution s F(x) has a cost c(s) Z+ The optimum cost is opt(x)=mins F(x)c(s) for a minimization problem Its opt(x)=maxs F(x)c(s) for a maximization problem
Approximation Algorithms n n Let algorithm M on x returns a feasible solution M is an -approximation algorithm, where 0, if for all x, q For a minimization problem, q For a maximization problem,
n For a minimization problem: So approximation Lower andratio. Upper Bounds q n For a maximization problem: q n n So approximation ratio The above are alternative definitions of -approximation algorithms between 0 and 1, if P=NP, then =0
Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition Conclusion ratio 8/5, in the worst case
Definition of full steiner tree-(1) n n n A steiner tree is full if all terminals are leaves of the tree If we restrict the lengths of edges to be either 1 or 2, then the problem is called the (1, 2)-full steiner tree problem(FSTP(1, 2)) In order to make sure that a full steiner tree exists, we restrict the given graph G=(V, E) to be complete and R to be a proper subset of V in the FSTP
Definition of full steiner tree-(2) n The length function d is called a metric if it satisfies the following three conditions: q q q d(x, y) 0 for any x, y in V, where equality holds iff x=y d(x, y)=d(y, x) d(x, y) d(x, z)+d(z, y) for any x, y, z in V
MIN-FSTP(1, 2) n MIN-FSTP(1, 2)(minimum (1, 2)-full steiner tree problem): Given a complete graph G=(V, E) with a length function d: E + on the edges and a proper subset R V of terminals, find a full steiner tree of minimum length in G
Applications & Hardness n n Applications: Phylogenetic tree (evolutionary tree), telephone communication Please Fig 2 FSTP and FSTP(1, 2) are NP-complete In this paper, we give a 8/5 approximation algorithm for the FSTP(1, 2)
Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition Conclusion ratio 8/5, in the worst case
Some important properties n n n Let steiner star be a star with a steiner vertex as its center( ) and the terminals as its leaves( ), where center( ) and leaves( ) denote the center and the leaves of , respectively For a steiner star with |leaves( )| 2, we define its average length f( ) as follows: For convenience, we use k-star to denote a steiner star with k leaves and d(center( ), v)=1 for each v of leaves ( )
Some important lemmas-(1) n n n Lemma 1: Let be a steiner star with k terminals, where k 2. If contains no leaf at distance 1 from center( ), then f( )=2+2/(k-1) Lemma 2: Let be a steiner star with k terminals, where k 2. If contains only one leaf at distance 1 from center( ), then f( )=2+1/(k-1) Lemma 3: Let be a steiner star with k terminals, where k 2. If contains exactly two leaves at distance 1 from center( ), then f( )=2
Some important lemmas-(2) n n Lemma 4: Let be a xk-star with k 3. Then f( )=1+1/(k-1) Lemma 5: Let 1 be an xk-star with k 3 and let 2 be the steiner star obtained from 1 by adding a new terminal z with d(center( 1), z)=2. Then f( 2)>f( 1)
APX-FSTP(1, 2)-(1) n n Input: A complete graph G=(V, E) with d: E {1, 2} and a set R V of terminals Output: A full Steiner tree APX for R in G Step 1: Let be an empty set Step 2: /* Choose a steiner tree with the minimum average length */ q if there are two or more remaining steiner vertices then find a steiner star with the minimum average length; n n n q if f( )=2 then /*Transform into an 2 -star*/ Remove from those leaves at distance 2 from center( ) end if else Let be the steiner star with the only steiner vertex as its center and remaining terminals as its leaves
APX-FSTP(1, 2) n Step 3: /*Perform a reduction*/ q q q n Let = {(center( ), v)|v leaves( )} Replace the steiner star by a single new terminal, say z; Let d(z, u)=d(center( ), v) for each remaining vertex u; Step 4: q q q if there is still more than one terminal then go to step 2; else let APX be the full steiner tree induced by ; end if
Define of Steiner tree Approximation Algorithms Define of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition Conclusion ratio 8/5, in the worst case
A 3/2 analysis-(1) n n Let the performance ratio of APX-FSTP(1, 2) for instance I be ratio(I)=APX(I)/OPT(I) In the following, we assume that I is a worstcase instance among all instances. That is, ratio(I’) ratio(I) for each I’ I
A 3/2 analysis-(2) n Lemma 6: If instance I contains an k-star for k 6, then ratio(I) 3/2 q q Let be an arbitrary k-star whose k is maximum and let E( ) be the set of its edges By lemma 1~5, the first iteration of APX-FSTP(1, 2) will reduce first Let I’ be the resulting instance of APX-FSTP(1, 2) after is reduced Clearly, APX(I’)=APX(I)-k
A 3/2 analysis-(3) n n n Let OPT be an optimal full steiner tree of I, and let ☺be the resulting graph obtained by adding the k edges of E( ) to Then by removing from ☺ some edges not in E( ) and adding one edge if possible, we can build a full steiner tree ’ of I such that it contains all edges of E( ) Fig 3 illustrate the worst case
n { OPT+E( )}-{some edges not in E( )}+(center( ), v)= full steiner tree ’ contains E( ) for I OPT v ’ center( ) Fig 3
A 3/2 analysis-(4) n n n Clearly, the length of ’ is less than or equal to OPT( )+2 since d(center( ), v) 2 If we reduce in ’, then we obtain a full steiner tree ’’ of instance I’ whose length is less than or equal to OPT(I)-k+2 In other words, OPT( ’’) OPT(I)-k+2
A 3/2 analysis-(5) n Hence, ratio(I’)=APX(I’)/OPT(I’) (APX(I)k)/(OPT(I)-k+2) Recall that ratio(I’) ratio(I) n Hence, we have ratio(I) 3/2 n
Questions and Discuss n Why f( ) divides |leaves( )|-1 ? not |leaves( )| ? q n Is APX-FSTP(1, 2) suits for FSTP( , 2 ) ? q n Because divides |leaves( )| will let APXFSTP(1, 2) fails By lemma 6, it seems ok What is the case FSTP(1, 2, 3) ?
The Full Steiner tree problem Part Two Reporter: Cheng-Chung Li 2004/07/05
Outline n n The 8/5 ratio analysis Hardness
Some properties n n In the following, we assume instance I contains no such an k-star with k 6 and we will then show that ratio(I) 8/5 Given an instance I consisting of G=(V, E) and R V, we say that vertex v V 1 -dominates (or dominates for simplicity) itself and all other vertices at distance 1 from v For any D V, we call it as 1 -dominating set( or dominating set) of R if every terminal in R is dominated by at least one vertex of D A dominating set of R with minimum cardinality is called as a minimum dominating set of R
Lemma 7 n Lemma 7: Given an instance of MINFSTP(1, 2), let D be a minimum dominating set of R. Then OPT(I) n+|D|-1, where n=|R| …
Some Definitions n n Let D be a minimum dominating set of R We partition R into many subsets in a way as follows: Assign each terminal z of R to a member of D which dominates it q n If two or more vertices of D dominate z, then we arbitrarily assign z to one of them Let Ψ 1, Ψ 2, …Ψq be the partition consisting of exactly 5 terminals, clearly, we have 0 q n/5
Lemma 8 n Lemma 8: OPT(I) 5 n/4 – q/4 – 1 q q According to the partition of R, we have 5 q+4(|D|q) n, which means that |D| (n-q)/4 Recall that OPT(I) n+|D|-1, then because |D| (nq)/4 OPT(I) 5 n/4 – q/4 – 1
Lemma 9 -(1) n Lemma 9: If instance I contains no k-star with k 6, then ratio(I) 8/5 q q q Assume that FSTP(1, 2) totally reduces j ki-stars, where 1 i j Even though the instance I contains no k-star with k 6, the reduced k-star may be x 6 for i 2 However, it’s impossible that ki-star is an xk-star with k 7
Lemma 9 -(2) …
Lemma 9 -(3) n n Note that ki is a subtree of the full steiner tree APX produced by APX-FSTP(1, 2) and its length is ki Since the reduction of ki merges ki old terminals into a new one, the number of the terminals is decreased by ki-1 After reduced xkj, the number of remaining terminals is To reduce these terminals, APX-FSTP(1, 2) creates a steiner star with length less than or equal to 2
Lemma 9 -(4) n n Hence , the total length of APX is less then of equal to In other words, we have APX(I) 2 n-p, where we let
Lemma 9 -(5) n n n Next, we claim that p 11 q/10 The best situation is that each partition Ψi, where 1 i q, corresponds to an kl-star, where 1 l j, and kl=5 or 6, which will be reduced by APX-FSTP(1, 2) In the case, each such an kl-star contributes at least 3 to p and hence we have p 3 q> 11 q/10
Lemma 9 -(6) n n Otherwise, we consider the general case with the following five properties, where for simplicity of illustration, we assume that q 2=0 (mod 2), q 3=0(mod 3), q 4=0(mod 4), q 5=0(mod 5), and q 1+q 2+…+q 5=q There are q 1 partitions Ψi 1, Ψi 2, …Ψiq 1, in which each partition Ψih, corresponds to an kl-star reduced by APX-FSTP(1, 2), where 1 h q 1
Lemma 9 -(10) n n n There are q 2 partitions Ψiq 1+1, Ψq 1+2, …Ψiq 1+q 2, in which every other two consecutive partitions Ψiq 1+h+1 and Ψiq 1+h+2 corresponds to an kl-star reduced by APX-FSTP(1, 2), where 1 h q 2 -2 and h=0(mod 2) … There are q 5 partitions Ψiq 1+q 2+q 3+q 4+1, Ψq 1+q 2+q 3+q 4+2, …Ψiq 1+q 2+q 3+q 4+q 5, in which every other five consecutive partitions Ψiq 1+q 2+q 3+q 4+h+1 and Ψiq 1+q 2+q 3+q 4+h+2, … Ψiq 1+q 2+q 3+q 4+h+5 corresponds to an kl-star reduced by APXFSTP(1, 2), where 1 h q 5 -5 and h=0(mod 5)
Lemma 9 -(11) n n It is not hard to see that the reduction of kl-stars of property(1)(respectively, (2)-(5)) will contribute at least 3 q 1(respectively, 3 q 2/2, 3 q 3/3, 3 q 4/4, 3 q 5/5) to p and in the worst case, produce 0(respectively, q 2/2, 0, q 4/4, and 0) 3 -star and produce 0(respectively, 0, 2 q 3/3, 3 q 4/4 and 5 q 5/5) 4 -star in the remaining instance In the worst case, the (0+q 2/2+0+q 4/4+0=(2 q 2+q 4)/4) produced 3 -stars and the (0+0+2 q 3/3+3 q 4/4+5 q 5/5=(8 q 3+9 q 4+12 q 5)/12) produced 4 -stars will further contribute 1((2 q 2+q 4)/4)/3 and 2((8 q 3+9 q 4+12 q 5)/12)/4, respectively to p
n Hence, we have n p q 1+264 q/240 11 q/10 n If q 16/7(n 80/7), the ratio(I) 8/5 If n<80/7, the optimal solution can be found by an exhaustive search in polynomial time Lemma 9 -(12) n
Some definitions-(1) n Given two optimization problem 1 and 2, we say that 1 L-reduces to 2 if there are polynomial-time algorithms f and g and positive constant and such that for any instance I of 1, the following conditions are satisfied: q q Algorithm f produces an instance f(I) of 2 such that OPT(f(I)) OPT(I), where OPT(I) and OPT(f(I)) stand for the optimal solutions of I and f(I), respectively Given any solution of f(I) with cost c 2, algorithm g produces a solution of I with cost c 1 in polynomial time such that |c 1 OPT(I)| |c 2 -OPT(f(I))|
Some definitions-(2) n n A problem is said to be MAX SNP-hard if a MAX SNP-hard can be L-reduced to it P=NP if any MAX SNP-hard problem has a PTAS q n A problem has a PTAS(polynomial time approximation scheme) if for any fixed >0, the problem can be approximated within a factor of 1+ in polynomial time On the other hand, if 1 L-reduces to 2 and 2 has a PTAS, then 1 has a PTAS
Hardness-(1) n n We will show that the optimization problem of FSTP(1, 2), referred to as MIN-FSTP(1, 2), is MAX SNP-hard by an L-reduction from the vertex cover-B problem From the proof of this MAX SNP-hardness, it can be easy to see that the decision problem FSTP(1, 2) is NP-hard
Hardness-(2) n n VC-B(vertex cover-B problem): Given a graph G=(V, E) with degree bounded by a constant B, find a vertex cover of minimum cardinality in G Let G 1=(V 1, E 1) and B be an instance of VC-B with V 1={v 1, v 2, …, vn}(w. l. o. g. , we assume G 1 is connected and n 3), then we transform I 1 into an instance of I 2 of MIN-FSTP(1, 2), say G 2 and R, as follows: q q A complete graph G 2=(V 2, E 2) with V 2=V 1 {zi, j|(vi, vj) E 1} and R=V 2 -V 1 For each edge e E 2, d(e)=1 if e ; d(e)=2, othereise ={(vi, vj)|1 i<j n} {vi, zi, j), (zi, j, vj)|(vi, vj) E 1}
G 1 G 2 An L-reduction of VC-B to MIN-FSTP(1, 2), where only edges of length 1 in G 2 are shown
Lemma 10 n Lemma 10: Let be a solution of length c to MIN-FSTP(1, 2) on the instance I 2 which is obtained from a reduction of an instance I 1 of VC-B. Then in polynomial time, we can find another solution ’ of length no more than c to MIN-FSTP(1, 2) on instance I 2 such that ’ contains no edge of length 2
n We only show to replace an edge of length 2 from with some edges of length 1 in polynomial time without increasing the length of the resulting y x G 2
n Case 1: y y x x v=u z
n Case 2: y y x x u v z
Theorem 1 -(1) n Theorem 1: MIN-FSTP(1, 2) is a MAX SNPhard problem q q q Let f denote the polynomial-time algorithm to transform an instance I 1 of VC-B to instance I 2 of MIN-FSTP(1, 2), i. e. , f(I 1)=I 2 Let another polynomial-time algorithm g as follows: Given a full steiner tree in G 2 of length c, we transform it into another full steiner tree ’ using the method described in the proof of lemma 10 Clearly, the number of vertices in ’ is less than or equal to c+1
Theorem 1 -(2) n n The collection of those internal vertices of ’ which are adjacent to the leaves of ’ corresponds to a vertex cover of G 1 whose size is less than or equal to c-|E 1|+1 Next, we prove that algorithms f and g are Lreduction from VC-B to MIN-FSTP(1, 2) by showing the following two inequalities: q q (1)OPT(f(I 1)) OPT(I 1), where =2 B (2)|c 1 -OPT(I 1)| |c 2 -OPT(I 1)|, where =1
Theorem 1 -(3) n The proof of (1): q q q Note that B*OPT(I 1) |E 1| Let u be a vertex in G 1 whose degree is B Then we can build a star with u as its center and R as its leaves Clearly, is a feasible solution of MIN-FSTP(1, 2) on f(I 1) whose length is B+2(|E 1|-B)=2|E 1|-B OPT(f(I 1)) 2|E 1|-B 2|E 1|=2 B[|E 1|/B] 2 B*OPT(I 1)
Theorem 1 -(4) n The proof of (2): q q Given a vertex cover of in G 1 of size c, we can create a full steiner tree in G 2 of length c+|E 1|-1 in the following way: connect each edge of E 1 (corresponding a terminal in G 2)to an arbitrary vertex in (corresponding a steiner vertex in G 2) and connect all vertices of by c-1 edges of length 1 in G 2 Hence, OPT(f(I 1)) OPT(I 1)+|E 1|-1
Theorem 1 -(5) n n n Conversely, by algorithm g, a full steiner tree of G 2 with length c 2 can be tranformed in to a vertex cover of G 1 of size c 1 less than or equal to c 2 -|E 1|+1(i. e. , c 1 c 2 -|E 1|+1) Then c 1 -OPT(I 1) (c 2 -|E 1|+1)-OPT(I 1) =c 2 -(OPT(I 1)+|E 1|-1) c 2 OPT(f(I 1)) Hence, |c 1 -OPT(I 1)| 1|c 2 -OPT(I 1)|,
- Slides: 61