47
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 [email protected]

The Internal Steiner Tree Problem: Hardness and Approximations

  • Upload
    yoshe

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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 [email protected] - PowerPoint PPT Presentation

Citation preview

Page 1: 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 InformaticsInstitute of Manufacturing Information and Systems

National Cheng Kung [email protected]

http://algorithm.csie.ncku.edu.tw

Page 2: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 3: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 4: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 5: The Internal Steiner Tree Problem: Hardness and Approximations

Introduction (3/11)

ApplicationsVLSI design

local or global routingplacement problemengineering change order (ECO)

2013/04/26 5S.-Y. Hsieh @ 30th CMCT, NDHU

Page 6: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 7: The Internal Steiner Tree Problem: Hardness and Approximations

Introduction (5/11)

Applicationsnetwork routing - resource allocation

2013/04/26 7S.-Y. Hsieh @ 30th CMCT, NDHU

resource

Page 8: The Internal Steiner Tree Problem: Hardness and Approximations

Introduction (6/11)

Applicationstelecommunications

wireless communications, transportation

2013/04/26 8S.-Y. Hsieh @ 30th CMCT, NDHU

senderreceiver

transmitter

Page 9: The Internal Steiner Tree Problem: Hardness and Approximations

Introduction (7/11)

 

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 9

2

35

6

245 7

7 8

G

R3

4

TST

Page 10: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 11: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 12: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 13: The Internal Steiner Tree Problem: Hardness and Approximations

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]

Page 14: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 15: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 16: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 17: The Internal Steiner Tree Problem: Hardness and Approximations

MAX SNP-hardness (4/12)

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 17

 

Page 18: The Internal Steiner Tree Problem: Hardness and Approximations

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

 

Page 19: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 20: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 21: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 22: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 23: The Internal Steiner Tree Problem: Hardness and Approximations

MAX SNP-hardness (10/12)

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 23

 

Page 24: The Internal Steiner Tree Problem: Hardness and Approximations

MAX SNP-hardness (11/12)

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 24

 

Page 25: The Internal Steiner Tree Problem: Hardness and Approximations

MAX SNP-hardness (12/12)

 

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 25

 

Page 26: The Internal Steiner Tree Problem: Hardness and Approximations

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU

Approximation Algorithm

26

Page 27: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 28: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 29: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 30: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 31: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 32: The Internal Steiner Tree Problem: Hardness and Approximations

Approximation algorithm (6/11)

 

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 32

 

 

SA

u

v

v

u

Page 33: The Internal Steiner Tree Problem: Hardness and Approximations

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)

Page 34: The Internal Steiner Tree Problem: Hardness and Approximations

Approximation algorithm (8/11)

 

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 34

v1

v2

v3 vk–1

vk

Page 35: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 36: The Internal Steiner Tree Problem: Hardness and Approximations

Approximation algorithm (10/11)

 

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 36

/* by () */

Page 37: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 38: The Internal Steiner Tree Problem: Hardness and Approximations

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU

Approximation Algorithm for ISTP(1,2)

38

Page 39: The Internal Steiner Tree Problem: Hardness and Approximations

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)

Page 40: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 41: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 42: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 43: The Internal Steiner Tree Problem: Hardness and Approximations

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

Page 44: The Internal Steiner Tree Problem: Hardness and Approximations

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’

Page 45: The Internal Steiner Tree Problem: Hardness and Approximations

ISTP(1,2) (7/7)

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 45

 

 

Page 46: The Internal Steiner Tree Problem: Hardness and Approximations

Concluding Remarks

 

2013/04/26 S.-Y. Hsieh @ 30th CMCT, NDHU 46

Page 47: The Internal Steiner Tree Problem: Hardness and Approximations

Thank you for your attention!

47