Near-Optimal Spanners for General Graphs in (Nearly) Linear Time
Let G = (V,E,w) be a weighted undirected graph on |V| = n vertices and |E| = m edges, let k ≥ 1 be any integer, and let ϵ < 1 be any parameter. We present the following results on fast constructions of spanners with near-optimal sparsity and lightness, which culminate a long line of work in this area. (By near-optimal we mean optimal under Erdős' girth conjecture and disregarding the ϵ-dependencies.) - There are (deterministic) algorithms for constructing (2k-1)(1+ϵ)-spanners for G with a near-optimal sparsity of O(n^1/klog(1/ϵ)/ϵ)). The first algorithm can be implemented in the pointer-machine model within time O(mα(m,n) log(1/ϵ)/ϵ) + SORT(m)), where α( , ) is the two-parameter inverse-Ackermann function and SORT(m) is the time needed to sort m integers. The second algorithm can be implemented in the WORD RAM model within time O(m log(1/ϵ)/ϵ)). - There is a (deterministic) algorithm for constructing a (2k-1)(1+ϵ)-spanner for G that achieves a near-optimal bound of O(n^1/kpoly(1/ϵ)) on both sparsity and lightness. This algorithm can be implemented in the pointer-machine model within time O(mα(m,n) poly(1/ϵ) + SORT(m)) and in the WORD RAM model within time O(m α(m,n) poly(1/ϵ)). The previous fastest constructions of (2k-1)(1+ϵ)-spanners with near-optimal sparsity incur a runtime of is O(min{m(n^1+1/k) + nlog n,k n^2+1/k}), even regardless of the lightness. Importantly, the greedy spanner for stretch 2k-1 has sparsity O(n^1/k) – with no ϵ-dependence whatsoever, but its runtime is O(m(n^1+1/k + nlog n)). Moreover, the state-of-the-art lightness bound of any (2k-1)-spanner is poor, even regardless of the sparsity and runtime.
READ FULL TEXT