Upload
barrie-sherman
View
215
Download
0
Embed Size (px)
Citation preview
Improved Steiner Tree Approximation in Graphs
SODA 2000
Gabriel Robins (University of Virginia)
Alex Zelikovsky (Georgia State University)
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
Steiner Tree Problem Given: A set S of points in the plane = terminals
Find: Minimum-cost tree spanning S = minimum Steiner tree
1
1Cost = 2 Steiner PointCost = 31Terminals
1
1
Euclidean metric
11
1
1
11
1
11
1
Cost = 6 Cost = 4
Rectilinear metric
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 costachieved costApproximation Ratio = sup
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
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(S2P)
Terminals = S
Steiner points = P
Steiner tree
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
Terminal-Spanning Trees Terminal-spanning tree = Steiner tree without Steiner pointsMinimum terminal-spanning tree = minimum spanning tree
=> efficient greedy algorithm in any metric space
Theorem: MST-heuristic is a 2-approximationProof: MST < Shortcut Tour Tour = 2 • OPTIMUM
K T
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, gainT(K) = cost(T) - mst(T+K)
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)
k-Restricted Steiner Trees
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)
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 = gainT(K) / loss(K)
If r 0 then exit repeat
H = H + K
T = MST(T + C[K])
Output MST(H)
mst
opt
gain(K1)
gain(K2)
loss(K4)
loss(K3)
gain(K3)
gain(K4)
loss(K2)
loss(K1)
reductionof T cost
mst
opt
gain(K1)
gain(K2)
loss(K1)
loss(K2)
gain(K3)
gain(K4)
loss(K3)
loss(K4)
reductionMST(H)
Approximation RatioTheorem: Loss-Contracting Algorithm output tree
Approx optk + lossk ln (1+ ) lossk
mst - optk
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]
Derivation of Approximation Ratios
Approx optk + lossk ln (1+ ) lossk
mst - optk
General graphs 1+ ln3 /2mst 2•opt
partial derivative by lossk is always positive
lossk 1/2 optk
maximum is for lossk = 1/2 optk
Quasi-bipartite and complete with edge costs 1 & 2 1.28mst 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
lossk
optk
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