Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Internal Steiner Tree Problem: Hardness and Approximations Sun-Yuan Hsieh ( 謝孫源 ) Department of Computer Science and Information Engineering Institute.

Similar presentations


Presentation on theme: "The Internal Steiner Tree Problem: Hardness and Approximations Sun-Yuan Hsieh ( 謝孫源 ) Department of Computer Science and Information Engineering Institute."— Presentation transcript:

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 uu vv v u

33 Approximation algorithm (7/11) 2013/04/26S.-Y. Hsieh @ 30th CMCT, NDHU33 vv v vv PTPT according to step 2(b),  v  P T [v,  v ] vv v vv 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


Download ppt "The Internal Steiner Tree Problem: Hardness and Approximations Sun-Yuan Hsieh ( 謝孫源 ) Department of Computer Science and Information Engineering Institute."

Similar presentations


Ads by Google