Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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)

18

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 )|,


Download ppt "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."

Similar presentations


Ads by Google