Dynamic Connectivity: Connecting to Networks and Geometry

  • Authors:
  • Timothy M. Chan;Mihai Paˇtraşcu;Liam Roditty

  • Affiliations:
  • tmchan@uwaterloo.ca;mip@alum.mit.edu;liamr@macs.biu.ac.il

  • Venue:
  • SIAM Journal on Computing
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

Dynamic connectivity is a well-studied problem, but so far the most compelling progress has been confined to the edge-update model: maintain an understanding of connectivity in an undirected graph, subject to edge insertions and deletions. In this paper, we study two more challenging, yet equally fundamental, problems. Subgraph connectivity asks us to maintain an understanding of connectivity under vertex updates: updates can turn vertices on and off, and queries refer to the subgraph induced by on vertices. (For instance, this is closer to applications in networks of routers, where node faults may occur.) We describe a data structure supporting vertex updates in $\widetilde{O}(m^{2/3})$ amortized time, where $m$ denotes the number of edges in the graph. This greatly improves upon the previous result [T. M. Chan, in Proceedings of the 34th Annual ACM Symposium on Theory of Computing (STOC), 2002, pp. 7-13], which required fast matrix multiplication and had an update time of $O(m^{0.94})$. The new data structure is also simpler. Geometric connectivity asks us to maintain a dynamic set of $n$ geometric objects and query connectivity in their intersection graph. (For instance, the intersection graph of balls describes connectivity in a network of sensors with bounded transmission radius.) Previously, nontrivial fully dynamic results were known only for special cases like axis-parallel line segments and rectangles. We provide similarly improved update times, $\widetilde{O}(n^{2/3})$, for these special cases. Moreover, we show how to obtain sublinear update bounds for virtually all families of geometric objects which allow sublinear time range queries. In particular, we obtain the first sublinear update time for arbitrary two-dimensional line segments: $O^*(n^{9/10})$; for $d$-dimensional simplices: $O^*(n^{1-\frac{1}{d(2d+1)}})$; and for $d$-dimensional balls: $O^*(n^{1-\frac{1}{(d+1)(2d+3)}})$.