When Trees Collide: An Approximation Algorithm for theGeneralized Steiner Problem on Networks
SIAM Journal on Computing
A General Approximation Technique for Constrained Forest Problems
SIAM Journal on Computing
On-line algorithms for Steiner tree problems (extended abstract)
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Load balancing for response time
Journal of Algorithms
Competitive routing of virtual circuits with unknown duration
Journal of Computer and System Sciences
Approximation algorithms
On-line generalized Steiner problem
Theoretical Computer Science - Special issue: Online algorithms in memoriam, Steve Seiden
Online Scheduling with Bounded Migration
Mathematics of Operations Research
The Design of Competitive Online Algorithms via a Primal: Dual Approach
Foundations and Trends® in Theoretical Computer Science
De-amortized Cuckoo Hashing: Provable Worst-Case Performance and Experimental Results
ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
A robust PTAS for machine covering and packing
ESA'10 Proceedings of the 18th annual European conference on Algorithms: Part I
The Design of Approximation Algorithms
The Design of Approximation Algorithms
Buyback problem: approximate matroid intersection with cancellation costs
ICALP'11 Proceedings of the 38th international colloquim conference on Automata, languages and programming - Volume Part I
Robust algorithms for preemptive scheduling
ESA'11 Proceedings of the 19th European conference on Algorithms
The power of recourse for online MST and TSP
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part I
Hi-index | 0.00 |
In the online Steiner tree problem, a sequence of points is revealed one-by-one: when a point arrives, we only have time to add a single edge connecting this point to the previous ones, and we want to minimize the total length of edges added. Here, a tight bound has been known for two decades: the greedy algorithm maintains a tree whose cost is O(log n) times the Steiner tree cost, and this is best possible. But suppose, in addition to the new edge we add, we have time to change a single edge from the previous set of edges: can we do much better? Can we, e.g., maintain a tree that is constant-competitive? We answer this question in the affirmative. We give a primal-dual algorithm that makes only a single swap per step (in addition to adding the edge connecting the new point to the previous ones), and such that the tree's cost is only a constant times the optimal cost. Our dual-based analysis is quite different from previous primal-only analyses. In particular, we give a correspondence between radii of dual balls and lengths of tree edges; since dual balls are associated with points and hence do not move around (in contrast to edges), we can closely monitor the edge lengths based on the dual radii. Showing that these dual radii cannot change too rapidly is the technical heart of the paper, and allows us to give a hard bound on the number of swaps per arrival, while maintaining a constant-competitive tree at all times. Previous results for this problem gave an algorithm that performed an amortized constant number of swaps: for each n, the number of swaps in the first $n$ steps was O(n). We also give a simpler tight analysis for this amortized case.