Efficient algorithms for constructing very sparse spanners and emulators

Research output: Contribution to journalArticlepeer-review

18 Scopus citations

Abstract

Miller et al. [48] devised a distributed1 algorithm in the CONGEST model that, given a parameter k = 1, 2, . . . , constructs an O(k)-spanner of an input unweighted n-vertex graph with O(n1+1/k ) expected edges in O(k) rounds of communication. In this article, we improve the result of Reference [48] by showing a k-round distributed algorithm in the same model that constructs a (2k - 1)-spanner with O(n1+1/k /∈ ) edges, with probability 1 - ∈ for any ∈ > 0. Moreover, when k = ω(logn), our algorithm produces (still in k rounds) ultrasparse spanners, i.e., spanners of size n(1 + o(1)), with probability 1 - o(1). To our knowledge, this is the first distributed algorithm in the CONGEST or in the PRAM models that constructs spanners or skeletons (i.e., connected spanning subgraphs) that are sparse. Our algorithm can also be implemented in linear time in the standard centralized model, and for large k, it provides spanners that are sparser than any other spanner given by a known (near-)linear time algorithm. We also devise improved bounds (and algorithms realizing these bounds) for (1 + ∈, β)-spanners and emulators. In particular, we show that for any unweighted n-vertex graph and any ∈ > 0, there exists a (1 + ∈, ( log log n/∈)log log n )-emulator withO(n) edges. All previous constructions of (1 + ∈, β)-spanners and emulators employ a superlinear number of edges for all choices of parameters. Finally, we provide some applications of our results to approximate shortest paths' computation in unweighted graphs.

Original languageEnglish
Pages (from-to)4:1-4:29
JournalACM Transactions on Algorithms
Volume15
Issue number1
DOIs
StatePublished - 1 Jan 2018

Keywords

  • CONGEST
  • Shortest path
  • Spanners

Fingerprint

Dive into the research topics of 'Efficient algorithms for constructing very sparse spanners and emulators'. Together they form a unique fingerprint.

Cite this