Dynamic Algorithms for Graph Spanners

Abstract

Let G=(V,E) be an undirected weighted graph on |V|=n vertices and |E|=m edges. For the graph G, A spanner with stretch t∈ℕ is a subgraph (V,ES), ES ⊆ E, such that the distance between any pair of vertices in this subgraph is at most t times the distance between them in the graph G. We present simple and efficient dynamic algorithms for maintaining spanners with essentially optimal (expected) size versus stretch trade-off for any given unweighted graph. The main result is a decremental algorithm that takes expected \(O(\mathop{\mathrm{polylog}} n)\) time per edge deletion for maintaining a spanner with arbitrary stretch. This algorithm easily leads to a fully dynamic algorithm with sublinear (in n) time per edge insertion or deletion. Quite interestingly, this paper also reports that for stretch at most 6, it is possible to maintain a spanner fully dynamically with expected constant time per update. All these algorithms use simple randomization techniques on the top of an existing static algorithm [6] for computing spanners, and achieve drastic improvement over the previous best deterministic dynamic algorithms for spanners.