the full steiner tree problem n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
The full Steiner tree problem PowerPoint Presentation
Download Presentation
The full Steiner tree problem

Loading in 2 Seconds...

play fullscreen
1 / 61

The full Steiner tree problem - PowerPoint PPT Presentation


  • 245 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The full Steiner tree problem' - Olivia


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
the full steiner tree problem

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

outline
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

slide3

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

definition of steiner tree 1
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

definition of steiner tree 2
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
slide6

5

6

5

2

2

2

3

3

4

2

2

4

13

Fig 1

applications hardness
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
slide8

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

approximation algorithms
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
some definitions
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
approximation algorithms1
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,
lower and upper bounds
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
slide13

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

definition of full steiner tree 1
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
definition of full steiner tree 2
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
min fstp 1 2
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
applications hardness1
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)
slide19

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

some important properties
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 ()
some important lemmas 1
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
some important lemmas 2
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)
apx fstp 1 2 1
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
apx fstp 1 2
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
slide25

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

a 3 2 analysis 1
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
a 3 2 analysis 2
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
a 3 2 analysis 3
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
slide29
{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
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
a 3 2 analysis 5
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
questions and discuss
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) ?
the full steiner tree problem part two

The Full Steiner tree problemPart Two

Reporter: Cheng-Chung Li2004/07/05

outline1
Outline
  • The 8/5 ratio analysis
  • Hardness
some properties
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
lemma 7
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|

some definitions1
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
lemma 8
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
lemma 9 1
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
lemma 9 3
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
lemma 9 4
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
lemma 9 5
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
lemma 9 6
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
lemma 9 10
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)
lemma 9 11
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
lemma 9 12
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
some definitions 1
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))|
some definitions 2
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
hardness 1
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
hardness 2
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 G1=(V1,E1) and B be an instance of VC-B with V1={v1,v2, …,vn}(w.l.o.g., we assume G1 is connected and n3), then we transform I1 into an instance of I2 of MIN-FSTP(1,2), say G2 and R, as follows:
    • A complete graph G2=(V2,E2) with V2=V1{zi,j|(vi,vj)E1} and R=V2-V1
    • For each edge eE2, d(e)=1 if e; d(e)=2, othereise={(vi,vj)|1i<jn}{vi,zi,j),(zi,j,vj)|(vi,vj)E1}
slide52

G2

G1

An L-reduction of VC-B to MIN-FSTP(1,2), where only edges of length 1 in G2 are shown

lemma 10
Lemma 10
  • Lemma 10: Let  be a solution of length c to MIN-FSTP(1,2) on the instance I2 which is obtained from a reduction of an instance I1 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 I2 such that ’ contains no edge of length 2
slide54
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 

y

x

G2

slide55
Case 1:

y

y

x

x

v=u

v=u

z

z

slide56
Case 2:

y

y

x

x

u

v

u

v

z

z

theorem 1 1
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 I1 of VC-B to instance I2 of MIN-FSTP(1,2), i.e., f(I1)=I2
    • Let another polynomial-time algorithm g as follows: Given a full steiner tree  in G2 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
theorem1 2
Theorem1-(2)
  • The collection of those internal vertices of ’ which are adjacent to the leaves of ’ corresponds to a vertex cover of G1 whose size is less than or equal to c-|E1|+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(I1))OPT(I1), where =2B
    • (2)|c1-OPT(I1)| |c2-OPT(I1)|, where =1
theorem1 3
Theorem1-(3)
  • The proof of (1):
    • Note that B*OPT(I1)|E1|
    • Let u be a vertex in G1 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(I1) on f(I1) whose length is B+2(|E1|-B)=2|E1|-B
    • OPT(f(I1)) 2|E1|-B2|E1|=2B[|E1|/B]2B*OPT(I1)
theorem1 4
Theorem1-(4)
  • The proof of (2):
    • Given a vertex cover of  in G1 of size c, we can create a full steiner tree  in G2 of length c+|E1|-1 in the following way: connect each edge of E1 (corresponding a terminal in G2)to an arbitrary vertex in (corresponding a steiner vertex in G2) and connect all vertices of  by c-1 edges of length 1 in G2
    • Hence, OPT(f(I1))OPT(I1)+|E1|-1
theorem1 5
Theorem1-(5)
  • Conversely, by algorithm g, a full steiner tree  of G2 with length c2 can be tranformed in to a vertex cover of G1 of size c1 less than or equal to c2-|E1|+1(i.e.,c1c2-|E1|+1)
  • Then c1-OPT(I1)(c2-|E1|+1)-OPT(I1) =c2-(OPT(I1)+|E1|-1)c2-OPT(f(I1))
  • Hence, |c1-OPT(I1)|1|c2-OPT(I1)|,