The Internal Steiner Tree Problem: Hardness and Approximations
Sun-Yuan Hsieh (謝孫源 )Department of Computer Science and Information Engineering
Institute of Medical InformaticsInstitute of Manufacturing Information and Systems
National Cheng Kung [email protected]
http://algorithm.csie.ncku.edu.tw
Outline
IntroductionWhat is the Steiner tree?applications of the Steiner treevariants of the Steiner tree
MAX SNP-hardnessApproximation algorithmISTP(1,2)Concluding remarks
2013/04/26 2S.-Y. Hsieh @ 30th CMCT, NDHU
Introduction (1/11)
What is the Steiner tree?Given a graph G = (V, E) with a cost (or distance) function c: E R+, and a vertex subset R V, a Steiner tree is a connected and acyclic subgraph contains all the vertices in R
(terminals).
2013/04/26 3S.-Y. Hsieh @ 30th CMCT, NDHU
2
35
6
245 7
7 8
G
R
3
42
3
2
Introduction (2/11)
Steiner tree problemthe decision version: NP-complete [Karp, 1972 Complexity of Computer Computations]in the Euclidean metric: NP-complete [Garey et al., 1977 SIAM J. APPL. MATH.]in the rectilinear metric: NP-complete [Garey and Johnson, 1977 SIAM J. APPL. MATH.]MAX SNP-hard [Bern and Plassmann, 1989 IPL]1.55-approximation algorithm [Robins and Zelikovsky, 2000 SODA]
1.39-approximation algorithm [Byrka et al., 2010 STOC]1.25-approximation algorithm for STP(1, 2) [Berman et al., 2009 WADS]
2013/04/26 4S.-Y. Hsieh @ 30th CMCT, NDHU
Introduction (3/11)
ApplicationsVLSI design
local or global routingplacement problemengineering change order (ECO)
2013/04/26 5S.-Y. Hsieh @ 30th CMCT, NDHU
Introduction (4/11)
Applicationscomputational biology - reconstruction of phylogenetic
minimize the tree length according to the principle of parsimony (i.e., nature always finds the paths that require a minimum evolution)
2013/04/26 6S.-Y. Hsieh @ 30th CMCT, NDHU
extant taxa
extinct ancestral taxa
The length of edge in T as the evolutionary time
DolphinCow
PigAlpaca
Horse
DogCat
Introduction (5/11)
Applicationsnetwork routing - resource allocation
2013/04/26 7S.-Y. Hsieh @ 30th CMCT, NDHU
resource
Introduction (6/11)
Applicationstelecommunications
wireless communications, transportation
2013/04/26 8S.-Y. Hsieh @ 30th CMCT, NDHU
senderreceiver
transmitter
Introduction (7/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 9
2
35
6
245 7
7 8
G
R3
4
TST
3
24
Introduction (8/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 10
2
35
6
245 7
7 8
G
R R’
PTST
35
24
Introduction (9/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 11
2
35
6
245 7
7 8
G
R
IST
35
4
Introduction (10/11)
Selected Internal Steiner tree problem (SISTP): R’ R Veach vertex in R’ must be an internal vertexNP-complete and MAX SNP-hard [Hsieh and Yang, 2007 TCS]
(1 + )-approximation algorithm [Li et al., 2010 Algorithmica]
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 12
2
35
6
245 7
7 8
G
R R’
SIST
Introduction (11/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 13
NP-completeness MAX SNP-hardness Best approximation ratio
STP[Karp, 1972] [Bern, 1989]
STP(1,2) 1.25 [Berman et al., 2009]
TSTP[Lu et al., 2003] [Lu et al., 2003]
TSTP(1,2)
1.42 [Martinez et al., 2007]
PTSTP [Hsieh et al., 2007] [Hsieh et al., 2007]
ISTP [Huang et al., 2013] [Huang et al., 2013]
ISTP(1,2)
SISTP [Hsieh et al., 2007] [Hsieh et al., 2007] 1+ [Li et al., 2010]
MAX SNP-hardness (1/12)
Any MAX SNP-hard problem has a PTAS, then P = NP.Journal of the Association for Computing Machinery 1998.
How to show a problem to be MAX SNP-hard: by providing an L-reduction from some MAX SNP-hard problem to it.
Lemma 1. STP(1, 2) is MAX SNP-hard.Bern and Plassmann, Information Processing Letters 32(4), 1989.
We prove that ISTP is MAX SNP-hard by providing an L-reduction from STP(1, 2) to ISTP.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 14
MAX SNP-hardness (2/12)
L-reduction: P1 and P2 : two optimization problems with input instances I1
and I2
P1 L-reduces to P2 if the following conditions are satisfied:Polynomial-time Algorithm A1 produces an instance A1(I1) for P2 such that OPT(A1(I1)) c*OPT(I1)
Given any solution of A1(I1) with cost2, polynomial-time Algorithm A2 produces a solution for I1 of P1 with cost1 such that |cost1 – OPT(I1)| d* |cost2 – OPT(A1(I1))|
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 15
MAX SNP-hardness (3/12)
Algorithm A1(I1)Input: An instance I1 = (G1, R1, c1) of STP(1,2), where G1 = (V1, E1) and R1 = {r1, r2,…, rk} for k 2.Output: An instance I2 = (G2, R2, c2) of ISTP.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 16
1
1
1
1
1
1
21
1
1
1
1
1
2
R dummy vertex set AV
I1 = (G1, R1, c1) I2 = (G2, R2, c2)
L-reduce
dummy edge set AE
MAX SNP-hardness (4/12)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 17
MAX SNP-hardness (5/12)
Lemma 3. If TI* is a minimum internal Steiner tree, then TI
* contains at least one dummy vertex, and each dummy vertex must be a leaf in TI
*.Pf: (By contradiction)TI
*: minimum internal Steiner tree of I2; AV(TI*) =
According to Algorithm A1(I1), each dummy vertex must be a leaf in TI*.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 18
TI*
delete v aj
rj
MAX SNP-hardness (6/12)
Lemma 4. If TS* is a minimum Steiner tree of I1, then TS
* contains at least one leaf-terminal.
Pf: (By contradiction)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 19
TS*
R
delete delete
MAX SNP-hardness (7/12)
Lemma 5. Suppose that TI* is a minimum internal Steiner tree. If we delete
each dummy vertex from TI*, the resulting graph will be a minimum Steiner
tree.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 20
TI* minimum internal Steiner tree
Rdummy vertex
minimum Steiner tree
delete dummy vertex
MAX SNP-hardness (8/12)
Lemma 5. Suppose that TI* is a minimum internal Steiner tree. If we delete
each dummy vertex from TI*, the resulting graph will be a minimum Steiner
tree.Pf: (By contradiction)TS
*: minimum Steiner tree of I1
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 21
T
TS
*
delete
TI*
by c(T) – c(TS*) 1
MAX SNP-hardness (9/12)
Algorithm A2
Input: An internal Steiner tree TI of I2=A1(I1), where I1 = (G1, R1, c1).Output: A Steiner tree TS of I1.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 22
delete delete
TI does not contain an dummy vertex
TI contains dummy vertices
MAX SNP-hardness (10/12)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 23
MAX SNP-hardness (11/12)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 24
MAX SNP-hardness (12/12)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 25
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU
Approximation Algorithm
26
Approximation algorithm (1/11)
Lemma 7. Suppose that T is a Steiner tree with |V(T) \ R| 2. If v is a leaf-terminal of T, then there exists an internal vertex v V(T) such that one of the following two conditions holds:
1) degT(v) = 2 and v R; or2) degT(v) 3.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 27
R
|V(T) \ R| 1 < 2
Approximation algorithm (2/11)
Algorithm AISTPInput: A complete graph G = (V, E) with a metric cost function c: E R+ and a proper subset R V of terminals such that |V\R| 2.Output: An internal Steiner tree TI.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 28
Step 1. Find a Steiner tree SA in G Use the currently best-known approximation algorithm
R
SA
leaf-terminal
Approximation algorithm (3/11)
Algorithm AISTPInput: A complete graph G = (V, E) with a metric cost function c: E R+ and a proper subset R V of terminals such that |V\R| 2.Output: An internal Steiner tree TI.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 29
Step 2. Transform T into an internal Steiner tree
R
SA
leaf-terminal
critical vertex v
target vertex v
Approximation algorithm (4/11)
Lemma 8. v: a leaf-terminal of the current tree T selected for processing. Then,
1) degT(v) will be reduced by 1 after the iteration.2) degT(v) will be unchanged after the iteration.3) degT(v) will be increased by 1, and fixed at 2 until the algorithm terminates.
Pf:
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 30
critical vertex v v target vertex
v
unchangedreduced by 1
increased by 1, and fixed at 2
(1) degT(v) = 2 and v R (2) degT(v) 3
Approximation algorithm (5/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 31
PT
k
v0 vk
v0 vk critical vertex v
target vertex vv0 vk
Approximation algorithm (6/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 32
SA
u
v
v
u
Approximation algorithm (7/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 33
vv vPT
according to step 2(b), v PT[v, v]
vv v
by Lemma 9(2)
Approximation algorithm (8/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 34
v1
v2
v3 vk–1
vk
Approximation algorithm (9/11)
Theorem 2. Algorithm AISTP is a (2 + 1)-approximation algorithm for the internal Steiner tree problem on complete graphs, where is the approximation ratio of the best-known algorithm for the Steiner tree problem.
Pf: TI*: minimum internal Steiner tree TS
*: minimum Steiner tree
Use a -approximation algorithm to find a Steiner tree SA and transform it into an internal Steiner tree. c(SA) c(TS
*)
Since TI* is also a Steiner tree for R.
c(TS*) c(TI
*)
c(SA) c(TI*) ()
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 35
Approximation algorithm (10/11)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 36
/* by () */
Approximation algorithm (11/11)
Theorem 3. Algorithm AISTP can be implemented to run in O(n2logn) + f(m, n) time, where f(n, m) is the time complexity of the best-known approximation algorithm for the Steiner tree problem in an input graph with n vertices and m edges.
Pf: n: number of vertices; m: number of edgesStep 1. f(n, m): the best-known approximation algorithmStep 2. O(mlogn): adding the needed vertices and edges by sorting the cost O(|V(T)+|E(T)|): select the nearest vertex v using a depth-first search O(|R|(|V(T)|+|E(T)|) = O(n2) O(degT(v)): choose a vertex v O(vRdegT(v)) = O(|E(T)|) = O(n) O(mlogn) + O(n2) + f(n, m) = O(n2logn) + f(n, m) since an input graph is a complete graph
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 37
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU
Approximation Algorithm for ISTP(1,2)
38
TI TI
ISTP(1,2) (1/7)
We restrict the co-domain of the cost function to the range R+ to {1, 2}.Lemma 14. Let T be a minimum (1,2)-internal Steiner tree and let v be an internal vertex in T. Then the following statements hold.
1) If v is a terminal (i.e., v R), then at most one leaf will be adjacent it.2) If v is a Steiner vertex, then no leaf will be adjacent it.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 39
R
delete
delete
v
v
(1) (2)
ISTP(1,2) (2/7)
Lemma 15. Let T be a minimum (1,2)-internal Steiner tree and let v be an internal vertex in T. If v is a Steiner vertex, then there exists a minimum (1,2)-internal Steiner tree T’ that does not contain v.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 40
T1 T2 Tm–1 Tm
v
delete (m – 2) + m
add 2(m – 1)
|Ti| 2Ti contains at least one leaf
u u R not an internal u is Steiner vertex delete u, obtain another lower cost internal Steiner tree
ISTP(1,2) (3/7)
Lemma 16. If T is a minimum (1,2)-internal Steiner tree with k 3 leaves, then there exists a minimum (1,2)-internal Steiner tree T’ with k – 1 leaves.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 41
T1 T2 T3
delete (v, t1) and (u2, l2)
add (t1, u2)
v
t1 t2 t3
u1 u2 u3
l1 l2 l3
ISTP(1,2) (4/7)
Lemma 17. There is an optimal solution for ISTP(1,2), which is a minimum cost path whose internal vertices are all terminals in G and whose end-vertices are two Steiner vertices in G.
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 42
R
ISTP(1,2) (5/7)
ri, rj R, u, v Steiner vertices, let G’ = G[R {u, v}]
Lemma 18. Let T* be a minimum (1,2)-internal Steiner tree of G. Then c(T*) c(HCG’) – 2.
Pf:
c(T*) = c(HPG’[u, v]) c(HCG’) – c(u, v) c(HCG’) – 2
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 43
ISTP(1,2) (6/7)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 44
R
v
u
u’
v’Lemma 19. c(PG’) c(AG’) c(PG’) = c(AG’) – c(u, u’) – c(v, v’) + c(u’, v’) c(AG’)
AG’
PG’
ISTP(1,2) (7/7)
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 45
Concluding Remarks
2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 46
Thank you for your attention!
47