Approximating the minimum spanning tree weight in sublinear time

Bernard Chazelle, Ronitt Rubinfeld, Luca Trevisan

Research output: Contribution to journalArticlepeer-review

98 Scopus citations

Abstract

We present a probabilistic algorithm that, given a connected graph G (represented by adjacency lists) of average degree d, with edge weights in the set {1, . . . , w}, and given a parameter 0 < ε < 1/2, estimates in time O(dwε -2 log dw/ε) the weight of the minimum spanning tree (MST) of G with a relative error of at most s. Note that the running time does not depend on the number of vertices in G. We also prove a nearly matching lower bound of Ωl(dwε -2) on the probe and time complexity of any approximation algorithm for MST weight. The essential component of our algorithm is a procedure for estimating in time O(dε -2 log d/ε) the number of connected components of an unweighted graph to within an additive error of en. (This becomes O(ε -2 log 1/ε) for d = O(1).)The time bound is shown to be tight up to within the log d/ε factor. Our connected-components algorithm picks O(1/ε 2) vertices in the graph and then grows "local spanning trees" whose sizes are specified by a stochastic process. From the local information collected in this way, the algorithm is able to infer, with high confidence, an estimate of the number of connected components. We then show how estimates on the number of components in various subgraphs of G can be used to estimate the weight of its MST.

Original languageEnglish (US)
Pages (from-to)1370-1379
Number of pages10
JournalSIAM Journal on Computing
Volume34
Issue number6
DOIs
StatePublished - 2005
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • General Computer Science
  • General Mathematics

Keywords

  • Approximation algorithms
  • Minimum spanning tree
  • Randomized algorithms
  • Sublinear time algorithms

Fingerprint

Dive into the research topics of 'Approximating the minimum spanning tree weight in sublinear time'. Together they form a unique fingerprint.

Cite this