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
ratio3/2,
in some special condition
Conclusion
ratio8/5,
in the worst case
Definition of Steiner tree
Approximation Algorithms
Definition of full Steiner tree
A greedy
approximation algorithms
ratio3/2,
in some special condition
Conclusion
ratio8/5,
in the worst case
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
2
4
2
4
13
Fig 1
Applications & Hardness


Applications: VLSI design, network routing,
wireless communications, computational
biology
The problem is well known to be NPcomplete [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,
in some special condition
Conclusion
ratio8/5,
in the worst case
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   cM x  
So approximation ratio
min
sF  x 
cs 
1 
min
sF  x 
cs 
cM x 
 1 
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,
in some special condition
Conclusion
ratio8/5,
in the worst case
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,
in some special condition
Conclusion
ratio8/5,
in the worst case
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:

f  
vleaves   

d center , v 
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,
in some special condition
Conclusion
ratio8/5,
in the worst case
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 worstcase 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()| ?


Is APX-FSTP(1,2) suits for FSTP(, 2) ?


Because divides |leaves()| will let APX-FSTP(1,2)
fails
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 MINFSTP(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|(nq)/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 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
j
is n  k  1

i 1

i
To reduce these terminals, APX-FSTP(1,2) createsj a
steiner star with length less than or equal to 2 n   ki  1
i 1
Lemma 9-(4)

Hence , the total length of APX is less then of
equal to k k  2 n  j k  1  2n  j (k  2)

i 1

i



i 1
i



i 1
i
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, 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)

Hence, we have
p  3q1 

pq1+264q/24011q/10
ratioI  


3q2 3q3 4q4 5q5 2q2  q4 8q3  9q4  12q5





2
3
4
5
12
24
APX I 
2n  p
8n  4 p
40n  22q



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 c2, algorithm g produces
a solution of I with cost c1 in polynomial time such that |c1OPT(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
x
G2

Case 1:
y
y
x
x
v=u
z
v=u
z

Case 2:
y
y
x
x
u
v
z
u
v
z
Theorem 1-(1)

Theorem 1: MIN-FSTP(1,2) is a MAX SNPhard 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 Lreduction 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 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)



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)|,