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
ratio3/2,
in some special condition
Conclusion
ratio8/5,
in the worst case
Definition of Steiner tree
Approximation Algorithms
Definition of full Steiner tree
A greedy
approximation algorithms
ratio3/2,
in some special condition
Conclusion
ratio8/5,
in the worst case
Definition of Steiner tree-(1)
Given a graph G=(V,E), a subset RV 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
ratio3/2,
in some special condition
Conclusion
ratio8/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 sF(x) has a cost
c(s)Z+
The optimum cost is opt(x)=minsF(x)c(s) for a
minimization problem
Its opt(x)=maxsF(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,
cM x min
sF x
cs
cM x
For a maximization problem,
max sF x cs C M x
max sF x cs
Lower and Upper Bounds
For a minimization problem:
min
sF x
cs cM x
So approximation ratio
min
sF x
cs
1
min
sF x
cs
cM x
1
For a maximization problem:
1 * max SF x cs cM x max sF x cs
So approximation ratio
cM x
1
max sF x cs
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
ratio3/2,
in some special condition
Conclusion
ratio8/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 RV 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
ratio3/2,
in some special condition
Conclusion
ratio8/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
vleaves
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 k2. 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 k2. 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 k2. 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 k3. Then
f()=1+1/(k-1)
Lemma 5: Let 1 be an xk-star with k3 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 RV 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)|vleaves()}
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
ratio3/2,
in some special condition
Conclusion
ratio8/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
k6, 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 RV,
we say that vertex vV 1-dominates (or dominates
for simplicity) itself and all other vertices at distance
1 from v
For any DV, 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 0qn/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 k6, then ratio(I)8/5
Assume that FSTP(1,2) totally reduces j ki-stars,
where 1ij
Even though the instance I contains no k-star
with k6, the reduced k-star may be x6 for i2
However, it’s impossible that ki-star is an xk-star
with k7
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 p11q/10
The best situation is that each partition Ψi,
where 1iq, corresponds to an kl-star,
where 1lj, 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 p3q>
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
1hq1
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 1hq2-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 1hq5-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
pq1+264q/24011q/10
ratioI
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 q16/7(n80/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 n3), 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 eE2, d(e)=1 if e; d(e)=2, othereise
={(vi,vj)|1i<jn}{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|-B2|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.,c1c2-|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)|,
© Copyright 2026 Paperzz