1 / 47

The Internal Steiner Tree Problem: Hardness and Approximations

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

yoshe
Download Presentation

The Internal Steiner Tree Problem: Hardness and Approximations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 S.-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). 2 2 5 7 4 2 2 7 8 4 6 3 5 3 3 G  R S.-Y. Hsieh @ 30th CMCT, NDHU

  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] S.-Y. Hsieh @ 30th CMCT, NDHU

  5. Introduction (3/11) • Applications • VLSI design • local or global routing • placement problem • engineering change order (ECO) S.-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) extant taxa Dolphin extinct ancestral taxa Cow Pig Alpaca Cat The length of edge in T as the evolutionary time Dog Horse S.-Y. Hsieh @ 30th CMCT, NDHU

  7. Introduction (5/11) • Applications • network routing - resource allocation resource S.-Y. Hsieh @ 30th CMCT, NDHU

  8. Introduction (6/11) • Applications • telecommunications • wireless communications, transportation sender receiver transmitter S.-Y. Hsieh @ 30th CMCT, NDHU

  9. Introduction (7/11) 2 2 5 7 4 7 8 4 6 3 5 3  R G TST S.-Y. Hsieh @ 30th CMCT, NDHU

  10. Introduction (8/11) 2 2 5 7 4 7 8 2 6 3 4 5 3  R’  R G PTST S.-Y. Hsieh @ 30th CMCT, NDHU

  11. Introduction (9/11) 2 2 5 7 4 7 8 2 6 3 4 5 3 5  R G IST S.-Y. Hsieh @ 30th CMCT, NDHU

  12. 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] 2 2 5 7 4 7 8 6 3 4 5 3 5 G SIST  R’  R S.-Y. Hsieh @ 30th CMCT, NDHU

  13. Introduction (11/11) S.-Y. Hsieh @ 30th CMCT, NDHU

  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. S.-Y. Hsieh @ 30th CMCT, NDHU

  15. MAX SNP-hardness (2/12) • L-reduction: P1and P2 : two optimization problems with input instances I1 and I2 P1L-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))| S.-Y. Hsieh @ 30th CMCT, NDHU

  16. 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. I1 = (G1, R1, c1) I2 = (G2, R2, c2) 1 1 1 1 2 1 1 2 1 1 1 1 L-reduce 1 1  dummy edge set AE  R  dummy vertex set AV S.-Y. Hsieh @ 30th CMCT, NDHU

  17. MAX SNP-hardness (4/12) S.-Y. Hsieh @ 30th CMCT, NDHU

  18. 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*. TI* rj v aj delete S.-Y. Hsieh @ 30th CMCT, NDHU

  19. 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) delete delete TS*  R S.-Y. Hsieh @ 30th CMCT, NDHU

  20. 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. delete dummy vertex TI* minimum internal Steiner tree minimum Steiner tree  R dummy vertex S.-Y. Hsieh @ 30th CMCT, NDHU

  21. 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 TI* delete TS* T by c(T) – c(TS*)  1 S.-Y. Hsieh @ 30th CMCT, NDHU

  22. 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. TI does not contain an dummy vertex TI contains dummy vertices delete delete S.-Y. Hsieh @ 30th CMCT, NDHU

  23. MAX SNP-hardness (10/12) S.-Y. Hsieh @ 30th CMCT, NDHU

  24. MAX SNP-hardness (11/12) S.-Y. Hsieh @ 30th CMCT, NDHU

  25. MAX SNP-hardness (12/12) S.-Y. Hsieh @ 30th CMCT, NDHU

  26. Approximation Algorithm S.-Y. Hsieh @ 30th CMCT, NDHU

  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) degT(v) = 2 and v  R; or • 2) degT(v)  3. R |V(T) \ R|  1 < 2  S.-Y. Hsieh @ 30th CMCT, NDHU

  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 TI. Step 1. Find a Steiner tree SA in G Use the currently best-known approximation algorithm leaf-terminal SA  R S.-Y. Hsieh @ 30th CMCT, NDHU

  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 TI. Step 2. Transform T into an internal Steiner tree leaf-terminal critical vertex v target vertex v SA  R S.-Y. Hsieh @ 30th CMCT, NDHU

  30. 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: (1) degT(v) = 2 and v  R (2) degT(v)  3 critical vertex v vtarget vertex reduced by 1 unchanged increased by 1, and fixed at 2 v S.-Y. Hsieh @ 30th CMCT, NDHU

  31. Approximation algorithm (5/11) v0 vk v0 vk critical vertex v v0 vk target vertex v PT  k S.-Y. Hsieh @ 30th CMCT, NDHU

  32. Approximation algorithm (6/11) u u SA v v S.-Y. Hsieh @ 30th CMCT, NDHU

  33. Approximation algorithm (7/11) according to step 2(b), v  PT[v, v] v v v PT by Lemma 9(2) v v v S.-Y. Hsieh @ 30th CMCT, NDHU

  34. Approximation algorithm (8/11) v3 vk–1 v2 vk v1 S.-Y. Hsieh @ 30th CMCT, NDHU

  35. 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*) () S.-Y. Hsieh @ 30th CMCT, NDHU

  36. Approximation algorithm (10/11) /* by () */ S.-Y. Hsieh @ 30th CMCT, NDHU

  37. 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 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(n2) O(degT(v)): choose a vertex v  O(vRdegT(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 S.-Y. Hsieh @ 30th CMCT, NDHU

  38. Approximation Algorithm for ISTP(1,2) S.-Y. Hsieh @ 30th CMCT, NDHU

  39. 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. (1) (2) TI TI v v delete  R delete S.-Y. Hsieh @ 30th CMCT, NDHU

  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. |Ti|  2 Ti contains at least one leaf delete (m – 2) + m v add 2(m – 1) • u  R •  not an internal • u is Steiner vertex • delete u, obtain another lower • cost internal Steiner tree u Tm–1 T1 Tm T2 S.-Y. Hsieh @ 30th CMCT, NDHU

  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. v delete (v, t1) and (u2, l2) add (t1, u2) t1 t2 t3 u1 u2 u3 T1 T2 T3 l1 l2 l3 S.-Y. Hsieh @ 30th CMCT, NDHU

  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. R S.-Y. Hsieh @ 30th CMCT, NDHU

  43. 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 S.-Y. Hsieh @ 30th CMCT, NDHU

  44. ISTP(1,2) (6/7) Lemma 19. c(PG’)  c(AG’) c(PG’) = c(AG’) – c(u, u’) – c(v, v’) + c(u’, v’)  c(AG’) v’ u AG’ v u’ PG’  R S.-Y. Hsieh @ 30th CMCT, NDHU

  45. ISTP(1,2) (7/7) S.-Y. Hsieh @ 30th CMCT, NDHU

  46. Concluding Remarks S.-Y. Hsieh @ 30th CMCT, NDHU

  47. Thank you for your attention!

More Related