1 / 61

The full Steiner tree problem

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.

Download Presentation

The full Steiner tree problem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The full Steiner tree problem Theoretical Computer Science 306 (2003) 55-67C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28

  2. Outline Definition of Steiner tree Approximation Algorithms Define of full Steiner tree A greedyapproximation 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 greedyapproximation 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 6 5 2 2 2 3 3 4 2 2 4 13 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 metric

  8. Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedyapproximation 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)=minsF(x)c(s) for a minimization problem • Its opt(x)=maxs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 tree Approximation Algorithms Definition of full Steiner tree A greedyapproximation 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. Definition of Steiner tree Approximation Algorithms Definition of full Steiner tree A greedyapproximation algorithms ratio3/2, in some special condition ratio8/5,in the worst case Conclusion

  19. 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 ()

  20. 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

  21. Some important lemmas-(2) • 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)

  22. 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

  23. 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

  24. Define of Steiner tree Approximation Algorithms Define of full Steiner tree A greedyapproximation algorithms ratio3/2, in some special condition ratio8/5,in the worst case Conclusion

  25. 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

  26. 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

  27. 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

  28. {OPT+E()}-{some edges not in E()}+(center(),v)= full steiner tree ’ contains E() for I OPT v  ’ center() Fig 3

  29. 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

  30. 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

  31. 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) ?

  32. The Full Steiner tree problemPart Two Reporter: Cheng-Chung Li2004/07/05

  33. Outline • The 8/5 ratio analysis • Hardness

  34. 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

  35. 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| …

  36. 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

  37. 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

  38. 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 x6 for i2 • However, it’s impossible that ki-star is an xk-star with k7

  39. Lemma 9-(2)

  40. 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 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

  41. 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

  42. 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 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3q> 11q/10

  43. Lemma 9-(6) • Otherwise, we consider the general case with the following five properties, where for simplicity of illustration, we assume that q2=0 (mod 2), q3=0(mod 3), q4=0(mod 4), q5=0(mod 5), and q1+q2+…+q5=q • There are q1 partitions Ψi1,Ψi2,…Ψiq1, in which each partition Ψih,corresponds to an kl-star reduced by APX-FSTP(1,2), where 1hq1

  44. Lemma 9-(10) • There are q2 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q2-2 and h=0(mod 2) • … • There are q5 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q5-5 and h=0(mod 5)

  45. 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 3q1(respectively, 3q2/2, 3q3/3, 3q4/4, 3q5/5) to p and in the worst case, produce 0(respectively, q2/2, 0, q4/4, and 0) 3-star and produce 0(respectively, 0, 2q3/3, 3q4/4 and 5q5/5)4-star in the remaining instance • In the worst case, the (0+q2/2+0+q4/4+0=(2q2+q4)/4) produced 3-stars and the (0+0+2q3/3+3q4/4+5q5/5=(8q3+9q4+12q5)/12) produced 4-stars will further contribute 1((2q2+q4)/4)/3 and 2((8q3+9q4+12q5)/12)/4, respectively to p

  46. Lemma 9-(12) • Hence, we have • pq1+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

  47. 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 c2, algorithm g produces a solution of I with cost c1 in polynomial time such that |c1-OPT(I)||c2-OPT(f(I))|

  48. 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

  49. 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

More Related