0% found this document useful (0 votes)
5 views61 pages

The Full Steiner Tree Problem

The document discusses the full Steiner tree problem, defining it as a connected, acyclic subgraph that spans all specified terminal vertices in a graph. It presents approximation algorithms with performance ratios of 3/2 under certain conditions and 8/5 in the worst case, highlighting the problem's NP-completeness and applications in various fields. The paper also details the properties of Steiner trees and provides a greedy algorithm for finding approximate solutions.

Uploaded by

mohamed tifrout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views61 pages

The Full Steiner Tree Problem

The document discusses the full Steiner tree problem, defining it as a connected, acyclic subgraph that spans all specified terminal vertices in a graph. It presents approximation algorithms with performance ratios of 3/2 under certain conditions and 8/5 in the worst case, highlighting the problem's NP-completeness and applications in various fields. The paper also details the properties of Steiner trees and provides a greedy algorithm for finding approximate solutions.

Uploaded by

mohamed tifrout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 61

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, ratio8/5,
in some special condition in the worst case

Conclusion
Definition of Steiner tree Approximation Algorithms

Definition of full Steiner tree

A greedy
approximation algorithms

ratio3/2, ratio8/5,
in some special condition in the worst case

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

 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
5

6 5
2
2

2
3 3 4

2 4 2

13
Fig 1
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
Definition of Steiner tree Approximation Algorithms

Definition of full Steiner tree

A greedy
approximation algorithms

ratio3/2, ratio8/5,
in some special condition in the worst case

Conclusion
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
 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
 Let algorithm M on x returns a feasible
solution
 M is an -approximation algorithm, where
0, if for all x,
 For a minimization problem,
cM x  min sF x  cs 

cM x 
 For a maximization problem,
max sF x  cs  C M x 

max sF x  c s 
Lower and Upper Bounds
 For a minimization problem:
min sF x  cs 
min sF  x  cs  cM x  
1 
 So approximation ratio min sF x  c s 
1  
c M x 
 For a maximization problem:

1   * max SF x  cs  cM x  max sF x  cs 


 So approximation ratio cM x 
1  
max sF x  cs 

 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, ratio8/5,
in some special condition in the worst case

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

 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)(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

 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, ratio8/5,
in some special condition in the worst case

Conclusion
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:
 d center , v 
f   vleaves  

leaves  1
 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)

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

 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)
 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)
 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
Define of Steiner tree Approximation Algorithms

Define of full Steiner tree

A greedy
approximation algorithms

ratio3/2, ratio8/5,
in some special condition in the worst case

Conclusion
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)
 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)
 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
 {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)

 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)
 Hence, ratio(I’)=APX(I’)/OPT(I’)(APX(I)-
k)/(OPT(I)-k+2)
 Recall that ratio(I’)ratio(I)
APX I  k APX I 

OPT I  k  2 OPT I 

 Hence, we have ratio(I)3/2


 kOPT I  k  2 APX I 
k APX I 
  ratioI 
k  2 OPT I 
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
Reporter: Cheng-Chung Li
2004/07/05
Outline

 The 8/5 ratio analysis


 Hardness
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: 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 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: 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: 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-(2)


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 ki old terminals into
a new one, the number of the terminals is decreased
by ki-1
 After reduced
j xkj, the number of remaining terminals
is n   ki  1
i 1

j
 To reduce these terminals, APX-FSTP(1,2) creates n   a ki  1
steiner star with length less than or equal to 2 i 1
Lemma 9-(4)
 Hence , the total length of APX is less then of
equal to k k  2 n  k  1 2n  (k  2)
j j

 i   i   i
i 1  i 1  i 1

 In other words, we have APX(I)2n-p, where we let


j
p  ki  2 
i 1
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)

 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)
 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)
 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, q 2/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)
 Hence, we have
3q2 3q3 4q4 5q5 2q2  q4 8q3  9q4  12q5
p 3q1      
2 3 4 5 12 24
 pq1+264q/24011q/10
APX I  2n  p 8n  4 p 40n  22q
ratioI     
OPT I  5n  q  1 5n  q  4 25n  5q  20
4 4
 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)
 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 |c1-
OPT(I)||c2-OPT(f(I))|
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)

 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)
 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}
G1 G2

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: 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
 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

G2
 Case 1:
y y

x x

v=u v=u
z z
 Case 2:
y y

x x

u v u v

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

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

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

 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 E 1
(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)

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy