Download presentation
Presentation is loading. Please wait.
Published byMeryl Thompson Modified over 9 years ago
1
The Internal Steiner Tree Problem: Hardness and Approximations Sun-Yuan Hsieh ( 謝孫源 ) Department of Computer Science and Information Engineering Institute of Medical Informatics Institute of Manufacturing Information and Systems National Cheng Kung University hsiehsy@mail.ncku.edu.tw http://algorithm.csie.ncku.edu.tw
2
Outline Introduction What is the Steiner tree? applications of the Steiner tree variants of the Steiner tree MAX SNP-hardness Approximation algorithm ISTP(1,2) Concluding remarks 2013/04/262S.-Y. Hsieh @ 30th CMCT, NDHU
3
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/263S.-Y. Hsieh @ 30th CMCT, NDHU 2 3 5 6 2 4 57 78 G R R 3 4 2 3 2
4
Introduction (2/11) Steiner tree problem the 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/264S.-Y. Hsieh @ 30th CMCT, NDHU
5
Introduction (3/11) Applications VLSI design local or global routing placement problem engineering change order (ECO) 2013/04/265S.-Y. Hsieh @ 30th CMCT, NDHU
6
Introduction (4/11) Applications computational 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/266S.-Y. Hsieh @ 30th CMCT, NDHU extant taxa extinct ancestral taxa The length of edge in T as the evolutionary time Dolphin Cow Pig Alpaca Horse Dog Cat
7
Introduction (5/11) Applications network routing - resource allocation 2013/04/267S.-Y. Hsieh @ 30th CMCT, NDHU resource
8
Introduction (6/11) Applications telecommunications wireless communications, transportation 2013/04/268S.-Y. Hsieh @ 30th CMCT, NDHU sender receiver transmitter
9
Introduction (7/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU9 2 3 5 6 2 4 57 78 G R R 3 4 TST
10
3 2 4 Introduction (8/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU10 2 3 5 6 2 4 57 78 G R R R’ R’ PTST
11
3 5 2 4 Introduction (9/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU11 2 3 5 6 2 4 57 78 G R R IST
12
3 5 4 Introduction (10/11) Selected Internal Steiner tree problem (SISTP): R’ R V each vertex in R’ must be an internal vertex NP-complete and MAX SNP-hard [Hsieh and Yang, 2007 TCS] (1 + )-approximation algorithm [Li et al., 2010 Algorithmica] 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU12 2 3 5 6 2 4 57 78 G R R R’ R’ SIST
13
Introduction (11/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU13 NP-completenessMAX SNP-hardnessBest approximation ratio STP [Karp, 1972][Bern, 1989] STP(1,2)1.25 [Berman et al., 2009] TSTP [Lu et al., 2003] TSTP(1,2)1.42 [Martinez et al., 2007] PTSTP[Hsieh et al., 2007] ISTP [Huang et al., 2013] ISTP(1,2) SISTP[Hsieh et al., 2007] 1+ [Li et al., 2010]
14
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/26S.-Y. Hsieh @ 30th CMCT, NDHU14
15
MAX SNP-hardness (2/12) L-reduction: P 1 and P 2 : two optimization problems with input instances I 1 and I 2 P 1 L-reduces to P 2 if the following conditions are satisfied: Polynomial-time Algorithm A 1 produces an instance A 1 (I 1 ) for P 2 such that OPT(A 1 (I 1 )) c*OPT(I 1 ) Given any solution of A 1 (I 1 ) with cost 2, polynomial-time Algorithm A 2 produces a solution for I 1 of P 1 with cost 1 such that |cost 1 – OPT(I 1 )| d* |cost 2 – OPT(A 1 (I 1 ))| 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU15
16
MAX SNP-hardness (3/12) Algorithm A 1 (I 1 ) Input: An instance I 1 = (G 1, R 1, c 1 ) of STP(1,2), where G 1 = (V 1, E 1 ) and R 1 = {r 1, r 2,…, r k } for k 2. Output: An instance I 2 = (G 2, R 2, c 2 ) of ISTP. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU16 1 1 1 1 1 1 2 1 1 1 1 1 1 2 R R dummy vertex set AV I 1 = (G 1, R 1, c 1 )I 2 = (G 2, R 2, c 2 ) L-reduce dummy edge set AE
17
MAX SNP-hardness (4/12) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU17
18
MAX SNP-hardness (5/12) Lemma 3. If T I * is a minimum internal Steiner tree, then T I * contains at least one dummy vertex, and each dummy vertex must be a leaf in T I *. Pf: (By contradiction) T I * : minimum internal Steiner tree of I 2 ; AV(T I * ) = According to Algorithm A 1 (I 1 ), each dummy vertex must be a leaf in T I *. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU18 TI*TI* delete vajaj rjrj
19
MAX SNP-hardness (6/12) Lemma 4. If T S * is a minimum Steiner tree of I 1, then T S * contains at least one leaf-terminal. Pf: (By contradiction) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU19 TS*TS* R R delete
20
MAX SNP-hardness (7/12) Lemma 5. Suppose that T I * is a minimum internal Steiner tree. If we delete each dummy vertex from T I *, the resulting graph will be a minimum Steiner tree. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU20 T I * minimum internal Steiner tree R R dummy vertex minimum Steiner tree delete dummy vertex
21
MAX SNP-hardness (8/12) Lemma 5. Suppose that T I * is a minimum internal Steiner tree. If we delete each dummy vertex from T I *, the resulting graph will be a minimum Steiner tree. Pf: (By contradiction) T S * : minimum Steiner tree of I 1 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU21 T TS*TS* delete TI*TI* by c(T) – c(T S * ) 1
22
MAX SNP-hardness (9/12) Algorithm A 2 Input: An internal Steiner tree T I of I 2 =A 1 (I 1 ), where I 1 = (G 1, R 1, c 1 ). Output: A Steiner tree T S of I 1. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU22 delete T I does not contain an dummy vertex T I contains dummy vertices
23
MAX SNP-hardness (10/12) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU23
24
MAX SNP-hardness (11/12) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU24
25
MAX SNP-hardness (12/12) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU25
26
2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU Approximation Algorithm 26
27
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) deg T ( v ) = 2 and v R; or 2) deg T ( v ) 3. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU27 R |V(T) \ R| 1 < 2
28
Approximation algorithm (2/11) Algorithm AISTP Input: 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 T I. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU28 Step 1. Find a Steiner tree S A in G Use the currently best-known approximation algorithm R R SASA leaf-terminal
29
Approximation algorithm (3/11) Algorithm AISTP Input: 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 T I. 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU29 Step 2. Transform T into an internal Steiner tree R R SASA leaf-terminal critical vertex v target vertex v
30
Approximation algorithm (4/11) Lemma 8. v: a leaf-terminal of the current tree T selected for processing. Then, 1) deg T ( v ) will be reduced by 1 after the iteration. 2) deg T ( v ) will be unchanged after the iteration. 3) deg T (v) will be increased by 1, and fixed at 2 until the algorithm terminates. Pf: 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU30 critical vertex v v target vertex v unchanged reduced by 1 increased by 1, and fixed at 2 (1) deg T ( v ) = 2 and v R (2) deg T ( v ) 3
31
Approximation algorithm (5/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU31 PTPT k k v0v0 vkvk v0v0 vkvk critical vertex v target vertex v v0v0 vkvk
32
Approximation algorithm (6/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU32 SASA uu vv v u
33
Approximation algorithm (7/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU33 vv v vv PTPT according to step 2(b), v P T [v, v ] vv v vv by Lemma 9(2)
34
Approximation algorithm (8/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU34 v1v1 v2v2 v3v3 v k–1 vkvk
35
Approximation algorithm (9/11) Theorem 2. Algorithm A ISTP 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: T I * : minimum internal Steiner tree T S * : minimum Steiner tree Use a -approximation algorithm to find a Steiner tree S A and transform it into an internal Steiner tree. c(S A ) c(T S * ) Since T I * is also a Steiner tree for R. c(T S * ) c(T I * ) c(S A ) c(T I * ) ( ) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU35
36
Approximation algorithm (10/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU36 /* by ( ) */
37
Approximation algorithm (11/11) Theorem 3. Algorithm A ISTP can be implemented to run in O(n 2 logn) + 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 edges Step 1. f(n, m): the best-known approximation algorithm Step 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(n 2 ) O(deg T (v)): choose a vertex v O( v R deg T (v)) = O(|E(T)|) = O(n) O(mlogn) + O(n 2 ) + f(n, m) = O(n 2 logn) + f(n, m) since an input graph is a complete graph 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU37
38
2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU Approximation Algorithm for ISTP(1,2) 38
39
TITI TITI 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/26S.-Y. Hsieh @ 30th CMCT, NDHU39 R R delete v v (1)(2)
40
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/26S.-Y. Hsieh @ 30th CMCT, NDHU40 T1T1 T2T2 T m–1 TmTm v delete (m – 2) + m add 2(m – 1) |T i | 2 T i contains at least one leaf u u R not an internal u is Steiner vertex delete u, obtain another lower cost internal Steiner tree
41
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/26S.-Y. Hsieh @ 30th CMCT, NDHU41 T1T1 T2T2 T3T3 delete (v, t 1 ) and (u 2, l 2 ) add (t 1, u 2 ) v t1t1 t2t2 t3t3 u1u1 u2u2 u3u3 l1l1 l2l2 l3l3
42
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/26S.-Y. Hsieh @ 30th CMCT, NDHU42 R
43
ISTP(1,2) (5/7) r i, r j 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(HC G’ ) – 2. Pf: c(T * ) = c(HP G’ [u, v]) c(HC G’ ) – c(u, v) c(HC G’ ) – 2 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU43
44
ISTP(1,2) (6/7) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU44 R R v u u’u’ v’v’ Lemma 19. c(P G’ ) c(A G’ ) c(P G’ ) = c(A G’ ) – c(u, u’) – c(v, v’) + c(u’, v’) c(A G’ ) AG’AG’ PG’PG’
45
ISTP(1,2) (7/7) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU45
46
Concluding Remarks 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU46
47
Thank you for your attention! 47
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.