Streaming Algorithms for Geometric Steiner Forest
We consider a natural generalization of the Steiner tree problem, the Steiner forest problem, in the Euclidean plane: the input is a multiset X ⊆ℝ^2, partitioned into k color classes C_1, C_2, …, C_k ⊆ X. The goal is to find a minimum-cost Euclidean graph G such that every color class C_i is connected in G. We study this Steiner forest problem in the streaming setting, where the stream consists of insertions and deletions of points to X. Each input point x∈ X arrives with its color 𝖼𝗈𝗅𝗈𝗋(x) ∈ [k], and as usual for dynamic geometric streams, the input points are restricted to the discrete grid {0, …, Δ}^2. We design a single-pass streaming algorithm that uses poly(k ·logΔ) space and time, and estimates the cost of an optimal Steiner forest solution within ratio arbitrarily close to the famous Euclidean Steiner ratio α_2 (currently 1.1547 ≤α_2 ≤ 1.214). Our approach relies on a novel combination of streaming techniques, like sampling and linear sketching, with the classical dynamic-programming framework for geometric optimization problems, which usually requires large memory and has so far not been applied in the streaming setting. We complement our streaming algorithm for the Steiner forest problem with simple arguments showing that any finite approximation requires Ω(k) bits of space. In addition, our approximation ratio is currently the best even for streaming Steiner tree, i.e., k=1.
READ FULL TEXT