Download presentation
Presentation is loading. Please wait.
Published byVernon Phelps Modified over 9 years ago
1
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
2
Outline Definition of Steiner treeApproximation Algorithms Define of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition ratio 8/5, in the worst case Conclusion
3
Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition ratio 8/5, in the worst case Conclusion
4
Definition of Steiner tree-(1) 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
5
Definition of Steiner tree-(2) The vertices in R are usually referred as terminals and vertices in V\R 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
6
5 5 2 6 2 2 3 4 13 2 2 3 4 Fig 1
7
Applications & Hardness Applications: VLSI design, network routing, wireless communications, computational biology The problem is well known to be NP- complete [R.M. Karp, 1972], even in Euclidean metric or rectilinear metricR.M. Karp
8
Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition ratio 8/5, in the worst case Conclusion
9
Approximation Algorithms Many important problems are NP-complete or worse They are approximation algorithms How good are the approximations ? We are looking for theoretically guaranteed bounds, not empirical bounds
10
Some Definitions 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)=min s F(x) c(s) for a minimization problem Its opt(x)=max s F(x) c(s) for a maximization problem
11
Approximation Algorithms Let algorithm M on x returns a feasible solution M is an -approximation algorithm, where 0, if for all x, For a minimization problem, For a maximization problem,
12
Lower and Upper Bounds For a minimization problem: So approximation ratio For a maximization problem: So approximation ratio The above are alternative definitions of -approximation algorithms between 0 and 1, if P=NP, then =0
13
Definition of Steiner treeApproximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition ratio 8/5, in the worst case Conclusion
14
Definition of full steiner tree-(1) 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
15
Definition of full steiner tree-(2) The length function d is called a metric if it satisfies the following three conditions: 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
16
MIN-FSTP(1,2) 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
17
Applications & Hardness 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)
19
Definition of Steiner treeApproximation Algorithms Definition of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition ratio 8/5, in the worst case Conclusion
20
Some important properties 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 ( )
21
Some important lemmas-(1) 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
22
Some important lemmas-(2) Lemma 4: Let be a x k -star with k 3. Then f( )=1+1/(k-1) Lemma 5: Let 1 be an x k -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 )
23
APX-FSTP(1,2)-(1) 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 */ if there are two or more remaining steiner vertices then find a steiner star with the minimum average length; 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
24
APX-FSTP(1,2) Step 3:/*Perform a reduction*/ 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: 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
25
Define of Steiner treeApproximation Algorithms Define of full Steiner tree A greedy approximation algorithms ratio 3/2, in some special condition ratio 8/5, in the worst case Conclusion
26
A 3/2 analysis-(1) 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 worst- case instance among all instances. That is, ratio(I’) ratio(I) for each I’ I
27
A 3/2 analysis-(2) Lemma 6: If instance I contains an k -star for k 6, then ratio(I) 3/2 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
28
A 3/2 analysis-(3) 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
29
{ OPT +E( )}-{some edges not in E( )}+(center( ),v)= full steiner tree ’ contains E( ) for I center( ) OPT ’’ v Fig 3
30
A 3/2 analysis-(4) 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
31
A 3/2 analysis-(5) Hence, ratio(I’)=APX(I’)/OPT(I’) (APX(I)- k)/(OPT(I)-k+2) Recall that ratio(I’) ratio(I) Hence, we have ratio(I) 3/2
32
Questions and Discuss Why f( ) divides |leaves( )|-1 ? not |leaves( )| ? Because divides |leaves( )| will let APX-FSTP(1,2) fails Is APX-FSTP(1,2) suits for FSTP( , 2 ) ? By lemma 6, it seems ok What is the case FSTP(1,2,3) ?
33
The Full Steiner tree problem Part Two Reporter: Cheng-Chung Li 2004/07/05
34
Outline The 8/5 ratio analysis Hardness
35
Some properties 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
36
Lemma 7 Lemma 7: Given an instance of MIN- FSTP(1,2), let D be a minimum dominating set of R. Then OPT(I) n+|D|-1, where n=|R| …
37
Some Definitions 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 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
38
Lemma 8 Lemma 8: OPT(I) 5n/4 – q/4 – 1 According to the partition of R, we have 5q+4(|D|- q) n, which means that |D| (n-q)/4 Recall that OPT(I) n+|D|-1, then because |D| (n- q)/4 OPT(I) 5n/4 – q/4 – 1
39
Lemma 9-(1) Lemma 9: If instance I contains no k -star with k 6, then ratio(I) 8/5 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 x k -star with k 7
40
Lemma 9-(2) …
41
Lemma 9-(3) Note that ki is a subtree of the full steiner tree APX produced by APX-FSTP(1,2) and its length is k i Since the reduction of ki merges k i old terminals into a new one, the number of the terminals is decreased by k i -1 After reduced x kj, 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
42
Lemma 9-(4) Hence, the total length of APX is less then of equal to In other words, we have APX(I) 2n-p, where we let
43
Lemma 9-(5) Next, we claim that p 11q/10 The best situation is that each partition Ψ i, where 1 i q, corresponds to an kl -star, where 1 l j, and k l =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 3q> 11q/10
44
Lemma 9-(6) 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 Ψ i1,Ψ i2,…Ψ iq1, in which each partition Ψ ih,corresponds to an kl -star reduced by APX-FSTP(1,2), where 1 h q 1
45
Lemma 9-(10) There are q 2 partitions Ψ iq1+1,Ψ q1+2,…Ψ iq1+q2, in which every other two consecutive partitions Ψ iq1+h+1 and Ψ iq1+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 Ψ iq1+q2+q3+q4+1,Ψ q1+q2+q3+q4+2,…Ψ iq1+q2+q3+q4+q5, in which every other five consecutive partitions Ψ iq1+q2+q3+q4+h+1 and Ψ iq1+q2+q3+q4+h+2, … Ψ iq1+q2+q3+q4+h+5 corresponds to an kl -star reduced by APX-FSTP(1,2), where 1 h q 5 -5 and h=0(mod 5)
46
Lemma 9-(11) It is not hard to see that the reduction of kl -stars of property(1)(respectively, (2)-(5)) will contribute at least 3q 1 (respectively, 3q 2 /2, 3q 3 /3, 3q 4 /4, 3q 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, 2q 3 /3, 3q 4 /4 and 5q 5 /5) 4 -star in the remaining instance In the worst case, the (0+q 2 /2+0+q 4 /4+0=(2q 2 +q 4 )/4) produced 3 -stars and the (0+0+2q 3 /3+3q 4 /4+5q 5 /5=(8q 3 +9q 4 +12q 5 )/12) produced 4 -stars will further contribute 1((2q 2 +q 4 )/4)/3 and 2((8q 3 +9q 4 +12q 5 )/12)/4, respectively to p
47
Lemma 9-(12) Hence, we have p q 1 +264q/240 11q/10 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
48
Some definitions-(1) 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: 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))|
49
Some definitions-(2) 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 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
50
Hardness-(1) 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
51
Hardness-(2) 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, …,v n }(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: A complete graph G 2 =(V 2,E 2 ) with V 2 =V 1 {z i,j |(v i,v j ) E 1 } and R=V 2 -V 1 For each edge e E 2, d(e)=1 if e ; d(e)=2, othereise ={(v i,v j )|1 i<j n} {v i,z i,j ),(z i,j,v j )|(v i,v j ) E 1 }
52
G1G1 G2G2 An L-reduction of VC-B to MIN-FSTP(1,2), where only edges of length 1 in G 2 are shown
53
Lemma 10 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
54
We only show how to replace an edge of length 2 from with some edges of length 1 in polynomial time without increasing the length of the resulting G2G2 y x
55
Case 1: x y v=u z x z y
56
Case 2: x y v z u x v z u y
57
Theorem 1-(1) Theorem 1: MIN-FSTP(1,2) is a MAX SNP- hard problem 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
58
Theorem1-(2) 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 L- reduction from VC-B to MIN-FSTP(1,2) by showing the following two inequalities: (1)OPT(f(I 1 )) OPT(I 1 ), where =2B (2)|c 1 -OPT(I 1 )| |c 2 -OPT(I 1 )|, where =1
59
Theorem1-(3) The proof of (1): 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 ) 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 |=2B[|E 1 |/B] 2B*OPT(I 1 )
60
Theorem1-(4) The proof of (2): 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
61
Theorem1-(5) 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 )|,
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.