Anda di halaman 1dari 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
ratios3/2,
in some special condition
ratios8/5,
in the worst case
Conclusion
Definition of Steiner tree Approximation Algorithms
Definition of full Steiner tree
A greedy
approximation algorithms
ratios3/2,
in some special condition
ratios8/5,
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:E9
+
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
5
2
6
2
2
3
4
13
2
2
3
4
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
ratios3/2,
in some special condition
ratios8/5,
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 seF(x) has a cost
c(s)eZ
+
The optimum cost is opt(x)=min
seF(x)
c(s) for a
minimization problem
Its opt(x)=max
seF(x)
c(s) for a maximization
problem
Approximation Algorithms
Let algorithm M on x returns a feasible
solution
M is an c-approximation algorithm, where
c>0, if for all x,
For a minimization problem,


For a maximization problem,


( ) ( )
( )
( )
( ) ( )
c s

e
x M c
s c x M c
x F s
min
( )
( ) ( ) ( )
( )
( )
c s

e
e
s c
x M C s c
x F s
x F s
max
max
Lower and Upper Bounds
For a minimization problem:


So approximation ratio

For a maximization problem:


So approximation ratio


The above are alternative definitions of c-approximation
algorithms
c between 0 and 1, if P=NP, then c=0





( )
( ) ( ) ( )
( )
( )
c
s s
e
e
1
min
min
s c
x M c s c
x F s
s
x F
( )
( )
( ) ( )
c >
e
1
min
x M c
s c
x F s
( )
( )
( ) ( ) ( )
( )
( ) s c x M c s c
x F s x F S e e
s s max max * 1 c
( ) ( )
( )
( )
c >
e
1
max s c
x M c
x F s
Definition of Steiner tree Approximation Algorithms
Definition of full Steiner tree
A greedy
approximation algorithms
ratios3/2,
in some special condition
ratios8/5,
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)sd(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: E9
+
on
the edges and a proper subset RcV 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
ratios3/2,
in some special condition
ratios8/5,
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:



For convenience, we use _
k
-star to denote a
steiner star with k leaves and d(center(),v)=1
for each v of leaves ()
( )
( ) ( )
( )
( ) 1
,


=

e
leaves
v center d
f
leaves v
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 x
k
-star with k>3. Then
f()=1+1/(k-1)
Lemma 5: Let
1
be an x
k
-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 RcV of terminals
Output: A full Steiner tree
APX
for R in G
Step 1: Let u 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 u=u{(center(),v)|veleaves()}
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 u;
end if

Define of Steiner tree Approximation Algorithms
Define of full Steiner tree
A greedy
approximation algorithms
ratios3/2,
in some special condition
ratios8/5,
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)sratio(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)s3/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

center()

OPT

v
Fig 3
A 3/2 analysis-(4)
Clearly, the length of is less than or equal
to OPT()+2 since d(center(),v)s2
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()sOPT(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)sratio(I)




Hence, we have ratio(I)s3/2

( )
( )
( )
( ) I OPT
I APX
k I OPT
k I APX
s
+

2
( ) ( ) ( )
( )
( )
( ) I ratio
I OPT
I APX
k
k
I APX k I kOPT
= >

>
2
2
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(o, 2o) ?
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)s8/5
Given an instance I consisting of G=(V,E) and RcV,
we say that vertex veV 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 0sqsn/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)s8/5
Assume that FSTP(1,2) totally reduces j _
ki
-stars,
where 1sisj
Even though the instance I contains no _
k
-star
with k>6, the reduced _
k
-star may be x
6
for i>2
However, its impossible that _
ki
-star is an x
k
-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 k
i
old terminals into
a new one, the number of the terminals is decreased
by k
i
-1
After reduced x
kj
, 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
( )

=

j
i
i
k n
1
1
( )

=

j
i
i
k n
1
1
Lemma 9-(4)
Hence , the total length of APX is less then of
equal to

In other words, we have APX(I)s2n-p, where we let

( )

= = =
=
|
|
.
|

\
|
+
j
i
i
j
i
i
k
i
i
k n k n k
1 1 1
) 2 ( 2 1 2
( )

=
=
j
i
i
k p
1
2
Lemma 9-(5)
Next, we claim that p>11q/10
The best situation is that each partition
i
,
where 1sisq, corresponds to an _
kl
-star,
where 1slsj, and k
l
=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 q
2
=0
(mod 2), q
3
=0(mod 3), q
4
=0(mod 4),
q
5
=0(mod 5), and q
1
+q
2
++q
5
=q
There are q
1
partitions
i1
,
i2
,
iq1
, in
which each partition
ih
,corresponds to an
_
kl
-star reduced by APX-FSTP(1,2), where
1shsq
1

Lemma 9-(10)
There are q
2
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 1shsq
2
-2 and h=0(mod 2)

There are q
5
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 1shsq
5
-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 3q
1
(respectively, 3q
2
/2, 3q
3
/3, 3q
4
/4, 3q
5
/5) to p
and in the worst case, produce 0(respectively, q
2
/2,
0, q
4
/4, and 0) _
3
-star and produce 0(respectively, 0,
2q
3
/3, 3q
4
/4 and 5q
5
/5)_
4
-star in the remaining
instance
In the worst case, the (0+q
2
/2+0+q
4
/4+0=(2q
2
+q
4
)/4)
produced _
3
-stars and the
(0+0+2q
3
/3+3q
4
/4+5q
5
/5=(8q
3
+9q
4
+12q
5
)/12)
produced _
4
-stars will further contribute
1((2q
2
+q
4
)/4)/3 and 2((8q
3
+9q
4
+12q
5
)/12)/4,
respectively to p
Lemma 9-(12)
Hence, we have


p>q
1
+264q/240>11q/10


If q>16/7(n>80/7), the ratio(I)s8/5
If n<80/7, the optimal solution can be found by an
exhaustive search in polynomial time



24
12 9 8
12
2
5
5
4
4
3
3
2
3
3
5 4 3 4 2 5 4 3 2
1
q q q q q q q q q
q p
+ +
+
+
+ + + + + >
( )
( )
( ) 20 5 25
22 40
4 5
4 8
1
4 4
5
2

s =
q n
q n
q n
p n
q n
p n
I OPT
I APX
I ratio
Some definitions-(1)
Given two optimization problem H
1
and H
2
, we say
that H
1
L-reduces to H
2
if there are polynomial-time
algorithms f and g and positive constant o and |
such that for any instance I of H1, the following
conditions are satisfied:
Algorithm f produces an instance f(I) of H
2
such that
OPT(f(I))soOPT(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 |c
1
-
OPT(I)|s||c
2
-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 c>0, the
problem can be approximated within a factor of
1+c in polynomial time
On the other hand, if H
1
L-reduces to H
2
and
H
2
has a PTAS, then H
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 G
1
=(V
1
,E
1
) and B be an instance of VC-B with
V
1
={v
1
,v
2
, ,v
n
}(w.l.o.g., we assume G
1
is
connected and n>3), then we transform I
1
into an
instance of I
2
of MIN-FSTP(1,2), say G
2
and R, as
follows:
A complete graph G
2
=(V
2
,E
2
) with V
2
=V
1
{z
i,j
|(v
i
,v
j
)eE
1
}
and R=V
2
-V
1
For each edge eeE
2
, d(e)=1 if ee; d(e)=2, othereise
={(v
i
,v
j
)|1si<jsn}{v
i
,z
i,j
),(z
i,j
,v
j
)|(v
i
,v
j
)eE
1
}

G
1
G
2
An L-reduction of VC-B to MIN-FSTP(1,2),
where only edges of length 1 in G
2
are shown
Lemma 10
Lemma 10: Let be a solution of length c to
MIN-FSTP(1,2) on the instance I
2
which is
obtained from a reduction of an instance I
1
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 I
2
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
G
2
y
x
Case 1:
x
y
v=u
z
x
v=u
z
y
Case 2:

x
y
v
z
u
x
v
z
u
y
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 I
1
of VC-B to instance I
2
of
MIN-FSTP(1,2), i.e., f(I
1
)=I
2
Let another polynomial-time algorithm g as follows:
Given a full steiner tree in G
2
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 G
1
whose
size is less than or equal to c-|E
1
|+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(I
1
))soOPT(I
1
), where o=2B
(2)|c
1
-OPT(I
1
)|s| |c
2
-OPT(I
1
)|, where |=1

Theorem1-(3)
The proof of (1):
Note that B*OPT(I
1
)>|E
1
|
Let u be a vertex in G
1
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(I
1
) on f(I
1
) whose length is B+2(|E
1
|-B)=2|E
1
|-
B
OPT(f(I
1
))s 2|E
1
|-Bs2|E
1
|=2B[|E
1
|/B]s2B*OPT(I
1
)

Theorem1-(4)
The proof of (2):
Given a vertex cover of in G
1
of size c, we can
create a full steiner tree in G
2
of length c+|E
1
|-1
in the following way: connect each edge of E
1

(corresponding a terminal in G
2
)to an arbitrary
vertex in (corresponding a steiner vertex in G
2
)
and connect all vertices of by c-1 edges of
length 1 in G
2
Hence, OPT(f(I
1
))sOPT(I
1
)+|E
1
|-1


Theorem1-(5)
Conversely, by algorithm g, a full steiner tree
of G
2
with length c
2
can be tranformed in to
a vertex cover of G
1
of size c
1
less than or
equal to c
2
-|E
1
|+1(i.e.,c
1
sc
2
-|E
1
|+1)
Then c
1
-OPT(I
1
)s(c
2
-|E
1
|+1)-OPT(I
1
)
=c
2
-(OPT(I
1
)+|E
1
|-1)sc
2
-OPT(f(I
1
))
Hence, |c
1
-OPT(I
1
)|s1|c
2
-OPT(I
1
)|,

Anda mungkin juga menyukai