Improved Steiner Tree Approximation in Graphs SODA 2000

Download Presentation

Improved Steiner Tree Approximation in Graphs SODA 2000

Loading in 2 Seconds...

- 181 Views
- Uploaded on
- Presentation posted in: General

Improved Steiner Tree Approximation in Graphs SODA 2000

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Improved Steiner Tree Approximation in GraphsSODA 2000

Gabriel Robins (University of Virginia)

Alex Zelikovsky (Georgia State University)

- Steiner Tree Problem
- Results: Approximation Ratios
- general graphs
- quasi-bipartite graphs
- graphs with edge-weights 1 & 2

- Terminal-Spanning trees = 2-approximation
- Full Steiner Components: Gain & Loss
- k-restricted Steiner Trees
- Loss-Contracting Algorithm
- Derivation of Approximation Ratios
- Open Questions

Euclidean metric

Steiner Point

Cost = 2

1

1

Cost = 3

Terminals

1

1

1

Rectilinear metric

Cost = 6

Cost = 4

1

1

1

1

1

1

1

1

1

1

Given: A set S of points in the plane = terminals

Find:Minimum-cost tree spanning S = minimum Steiner tree

Approximation Ratio = sup

achieved cost

optimal cost

Given: Weighted graph G=(V,E,cost) and terminals S V

Find:Minimum-cost tree T within G spanning S

Complexity: Max SNP-hard [Bern & Plassmann, 1989]

even in complete graphs with edge costs 1 & 2

GeometricSTP NP-hard [Garey & Johnson, 1977]

but has PTAS [Arora, 1996]

2-approximation [3 independent papers, 1979-81]

Last decade of the second millennium:

11/6 = 1.84 [Zelikovsky]

16/9 = 1.78 [Berman & Ramayer]

PTAS with the limit ratios:

1.73 [Borchers & Du]

1+ln2 = 1.69 [Zelikovsky]

5/3 = 1.67 [Promel & Steger]

1.64 [Karpinski & Zelikovsky]

1.59 [Hougardy & Promel]

This paper:

1.55 = 1 + ln3 / 2

Cannot be approximated better than 1.004

Steiner points = P

Terminals = S

Steiner tree

Quasi-bipartite graphs =all Steiner points are pairwise disjoint

Approximation ratios:

1.5 + [Rajagopalan & Vazirani, 1999]

This paper:

1.5 for the Batched 1-Steiner Heuristic [Kahng & Robins, 1992]

1.28 for Loss-Contracting Heuristic, runtime O(S2P)

Steiner tree

Approximation ratios:

1.333 Rayward-Smith Heuristic [Bern & Plassmann, 1989]

1.295 using Lovasz’ algorithm for parity matroid problem

[Furer, Berman & Zelikovsky, TR 1997]

This paper:

1.279 + PTAS of k-restricted Loss-Contracting Heuristics

Terminal-spanning tree = Steiner tree without Steiner points

Minimum terminal-spanning tree = minimum spanning tree

=> efficient greedy algorithm in any metric space

Theorem: MST-heuristic is a 2-approximation

Proof: MST<Shortcut TourTour = 2 • OPTIMUM

T

K

- Full Steiner Tree = all terminals are leaves
- Any Steiner tree = union of full components (FC)

- Gain of a full component K, gainT(K) = cost(T) - mst(T+K)

FC K

Loss(K)

C[K]

FC K

- Loss of FC K = cost of connection Steiner points to terminals

- Loss-contracted FC C[K] = K with contracted loss

k-restricted Steiner tree = any FC has k terminals

optk = Cost(optimal k-restricted Steiner tree)

opt=Cost(optimal Steiner tree)

Fact: optk (1+ 1/log2k) opt [Du et al, 1992]

lossk = Loss(optimal k-restricted Steiner tree)

Fact:loss (K) < 1/2 cost(K)

mst

mst

gain(K1)

gain(K1)

gain(K2)

loss(K1)

gain(K3)

gain(K2)

reduction

of T cost

reduction

MST(H)

gain(K4)

loss(K2)

gain(K3)

loss(K4)

loss(K3)

loss(K3)

gain(K4)

loss(K2)

loss(K4)

loss(K1)

opt

opt

Input: weighted complete graph G

terminal node set S

integer k

Output: k-restricted Steiner tree spanning S

Algorithm:

T = MST(S)

H = MST(S)

Repeat forever

Find k-restricted FC K maximizing

r = gainT(K) / loss(K)

If r 0 then exit repeat

H = H + K

T = MST(T + C[K])

Output MST(H)

mst - optk

Approx optk + lossk ln (1+ )

lossk

Theorem: Loss-Contracting Algorithm output tree

Proof idea:

New Lower Bound

Let H = Steiner tree and gain C[H] (K) 0 for any k-restricted FC K

Then cost(C[H]) = cost(H) - loss(H) optk

With every iteration, cost(T) decreases by gain(K)+loss(K)

Until cost(T) finally drops below optk

The total loss does not grow too fast

Similar techniques used in [Ravi & Klein, 1993/1+ln 2-approximation]

mst - optk

Approx optk + lossk ln (1+ )

lossk

Quasi-bipartite and complete with edge costs 1 & 2 1.28

mst 2•(optk - lossk) - it is not true for all graphs :-(

Approx optk + lossk ln ( - 1)

partial derivative by lossk = 0 if x = lossk / (optk - lossk ) is root of 1 + ln x + x = 0

then upper bound is equal 1 + x = 1.279

optk

lossk

General graphs 1+ ln3 /2

mst 2•opt

partial derivative by lossk is always positive

lossk 1/2 optk

maximum is for lossk= 1/2 optk

- Better upper bound (<1.55)
- combine Hougardy-Promel approach with LCA
- speed of improvement 3-4% per year

- Better lower bound (>1.004)
- really difficult …
- thinnest gap = [1.279,1.004]

- More time-efficient heuristics
- Tradeoffs between runtime & solution quality

- Special cases of Steiner problem
- so far LCA is the first working better for all cases

- Empirical benchmarking / comparisons