Presentation is loading. Please wait.

Presentation is loading. Please wait.

Improved Steiner Tree Approximation in Graphs SODA 2000 Gabriel Robins (University of Virginia) Alex Zelikovsky (Georgia State University)

Similar presentations


Presentation on theme: "Improved Steiner Tree Approximation in Graphs SODA 2000 Gabriel Robins (University of Virginia) Alex Zelikovsky (Georgia State University)"— Presentation transcript:

1 Improved Steiner Tree Approximation in Graphs SODA 2000 Gabriel Robins (University of Virginia) Alex Zelikovsky (Georgia State University)

2 Overview 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

3 Steiner Tree Problem Given: A set S of points in the plane = terminals Find: Minimum-cost tree spanning S = minimum Steiner tree 1 1 Cost = 2 Steiner Point Cost =  3 1 Terminals 1 1 Euclidean metric 1 1 1 1 1 1 1 1 1 1 Cost = 6Cost = 4 Rectilinear metric

4 Steiner Tree Problem in Graphs 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 Geometric STP NP-hard [Garey & Johnson, 1977] but has PTAS [Arora, 1996] optimal cost achieved cost Approximation Ratio = sup

5 Approximation Ratios in Graphs 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

6 Approximation in Quasi-Bipartite Graphs 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(S 2 P) Terminals = S Steiner points = P Steiner tree

7 Approximation in Complete Graphs with Edge Costs 1 & 2 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 Steiner tree

8 Terminal-Spanning Trees 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 Tour  Tour = 2 OPTIMUM

9 KT Full Steiner Trees: Gain Full Steiner Tree = all terminals are leaves Any Steiner tree = union of full components (FC) Gain of a full component K, gain T (K) = cost(T) - mst(T+K)

10 FC K C[K] Full Steiner Trees: Loss Loss of FC K = cost of connection Steiner points to terminals Loss-contracted FC C[K] = K with contracted loss FC K Loss(K)

11 k-Restricted Steiner Trees k-restricted Steiner tree = any FC has  k terminals opt k = Cost(optimal k-restricted Steiner tree) opt = Cost(optimal Steiner tree) Fact: opt k  (1+ 1/log 2 k) opt [Du et al, 1992] loss k = Loss(optimal k-restricted Steiner tree) Fact: loss (K) < 1/2 cost(K)

12 Loss-Contracting Algorithm 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 = gain T (K) / loss(K) If r  0 then exit repeat H = H + K T = MST(T + C[K]) Output MST(H) mst opt gain(K 1 ) gain(K 2 ) loss(K 4 ) loss(K 3 ) gain(K 3 ) gain(K 4 ) loss(K 2 ) loss(K 1 ) reduction of T cost mst opt gain(K 1 ) gain(K 2 ) loss(K 1 ) loss(K 2 ) gain(K 3 ) gain(K 4 ) loss(K 3 ) loss(K 4 ) reduction MST(H)

13 Approximation Ratio Theorem: Loss-Contracting Algorithm output tree Approx  opt k + loss k ln (1+ ) loss k mst - opt k Proof idea –New Lower Bound: mst - gain(H) - loss(H)  opt k for any non-improvable steiner tree H –The total loss does not grow too fast: loss(H)  loss k ln (1+(mst-opt k )/loss k ) since greedy choice - similar to greedy for setcovering

14 Derivation of Approximation Ratios Approx  opt k + loss k ln (1+ ) loss k mst - opt k General graphs  1+ ln3 /2 mst  2 opt partial derivative by loss k is always positive loss k  1/2 opt k maximum is for loss k = 1/2 opt k Quasi-bipartite and complete with edge costs 1 & 2  1.28 mst  2 (opt k - loss k ) - it is not true for all graphs :-( Approx  opt k + loss k ln ( - 1) partial derivative by loss k = 0 if x = loss k / (opt k - loss k ) is root of 1 + ln x + x = 0 then upper bound is equal 1 + x = 1.279 loss k opt k

15 Open Questions 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


Download ppt "Improved Steiner Tree Approximation in Graphs SODA 2000 Gabriel Robins (University of Virginia) Alex Zelikovsky (Georgia State University)"

Similar presentations


Ads by Google