Abstract
We consider a geometric optimization problem that arises in network design. Given a set P of n points in the plane, source and destination points s,t ∈ P, and an integer k > 0, one has to locate k Steiner points, such that the length of the longest edge of a bottleneck path between s and t is minimized. In this paper, we present an O(n log2 n)-time algorithm that computes an optimal solution, for any constant k. This problem was previously studied by Hou et al. [Hou10], who gave an O(n2log n)-time algorithm. We also study the dual version of the problem, where a value λ > 0 is given (instead of k), and the goal is to locate as few Steiner points as possible, so that the length of the longest edge of a bottleneck path between s and t is at most λ.
Our algorithms are based on two new geometric structures that we develop --- an (α,β)-pair decomposition of P and a floor (1+ε)-spanner of P. For real numbers β > α > 0, an (α,β)-pair decomposition of P is a collection W={(A1,B1),...,(Am,Bm)} of pairs of subsets of P, satisfying: (i) For each pair (Ai,Bi) ∈ W, the radius of the minimum enclosing circle of Ai (resp. Bi) is at most α, and (ii) For any p,q ∈ P, such that |pq| ≤ β, there exists a single pair (Ai,Bi) ∈ W, such that p ∈ Ai and q ∈ Bi, or vice versa. We construct (a compact representation of) an (α,β)-pair decomposition of P in time O((β/α)3 n log n).
Finally, for the complete graph with vertex set P and weight function w(p,q) = ⌊|pq|⌋, we construct a (1+ε)-spanner of size O(n/ε4) in time O((1/ε4)n log2 n), even though w is not a metric.