Skip to main content
QUICK REVIEW

[Paper Review] Improved Distance Sensitivity Oracles with Subcubic Preprocessing Time

Hanlin Ren|arXiv (Cornell University)|Jan 1, 2020
Complexity and Algorithms in GraphsComputer Science13 references4 citations
TL;DR

This paper presents a novel, simplified construction of distance sensitivity oracles (DSOs) for directed and undirected graphs with small integer edge weights. By leveraging a key observation that any DSO with preprocessing time P and query time Q can be transformed into one with O(1) query time at the cost of adding ˜O(n²)·Q to preprocessing, the authors achieve ˜O(n².⁷²³³M) preprocessing time for directed graphs and ˜O(n².⁶⁸⁶⁵M) for undirected graphs, both with O(1) query time. The approach uses recursive extension of r-truncated DSOs and supports efficient path reporting with O(ℓ) time per query for paths of length ℓ.

ABSTRACT

We consider the problem of building Distance Sensitivity Oracles (DSOs). Given a directed graph $G=(V, E)$ with edge weights in $\{1, 2, \dots, M\}$, we need to preprocess it into a data structure, and answer the following queries: given vertices $u,v\in V$ and a failed vertex or edge $f\in (V\cup E)$, output the length of the shortest path from $u$ to $v$ that does not go through $f$. Our main result is a simple DSO with $ ilde{O}(n^{2.7233}M)$ preprocessing time and $O(1)$ query time. Moreover, if the input graph is undirected, the preprocessing time can be improved to $ ilde{O}(n^{2.6865}M)$. The preprocessing algorithm is randomized with correct probability $\ge 1-1/n^C$, for a constant $C$ that can be made arbitrarily large. Previously, there is a DSO with $ ilde{O}(n^{2.8729}M)$ preprocessing time and $\operatorname{polylog}(n)$ query time [Chechik and Cohen, STOC'20]. At the core of our DSO is the following observation from [Bernstein and Karger, STOC'09]: if there is a DSO with preprocessing time $P$ and query time $Q$, then we can construct a DSO with preprocessing time $P+ ilde{O}(n^2)\cdot Q$ and query time $O(1)$. (Here $ ilde{O}(\cdot)$ hides $\operatorname{polylog}(n)$ factors.)

Motivation & Objective

  • To design a more efficient and conceptually simpler distance sensitivity oracle (DSO) for graphs with small integer edge weights.
  • To reduce the preprocessing time of DSOs below cubic time while maintaining constant-time query support.
  • To extend the DSO to support path-reporting queries with linear-time output relative to path length.
  • To improve upon prior work by achieving better preprocessing time bounds, especially for undirected graphs.
  • To explore the feasibility of generalizing the approach to handle negative edge weights, though this remains an open challenge.

Proposed method

  • The core method relies on a transformation: any DSO with preprocessing time P and query time Q can be converted into one with O(1) query time and preprocessing time P + ˜O(n²)·Q.
  • The authors recursively construct r-truncated DSOs using fast matrix multiplication techniques, starting from a base DSO with small r.
  • For each level i, they compute a DSO Di by extending the previous level Di−1 using a set of ˜O(n²) carefully selected queries (uq, vq, fq) that capture paths of increasing length.
  • A key vertex hitting mechanism is used to decompose long paths into shorter subpaths that can be retrieved from lower-level DSOs.
  • Path-reporting is supported by storing hitting vertices and recursively reconstructing paths from subpaths in lower-level DSOs.
  • The preprocessing uses randomized algorithms with high probability (w.h.p.) of correctness, and the final DSO size is ˜O(n²) for basic queries, growing to ˜O(n²⁺ᵃ) when path reporting is enabled.

Experimental results

Research questions

  • RQ1Can we achieve subcubic preprocessing time for DSOs with O(1) query time in graphs with small integer edge weights?
  • RQ2Is it possible to simplify existing DSO constructions while improving their preprocessing time?
  • RQ3Can the preprocessing time for undirected graphs be further reduced below the current ˜O(n².⁶⁸⁶⁵M) bound?
  • RQ4Can the DSO construction be extended to support efficient path reporting without incurring excessive space overhead?
  • RQ5Can the technique be generalized to handle negative edge weights, given the challenges in defining compatible r-truncated DSOs?

Key findings

  • The paper achieves a preprocessing time of ˜O(n².⁷²³³M) for directed graphs and ˜O(n².⁶⁸⁶⁵M) for undirected graphs, both with O(1) query time.
  • The preprocessing time for undirected graphs matches the best-known APSP algorithm time of ˜O(nωM) when ω ≈ 2.3728639.
  • The path-reporting variant of the DSO runs in O(ℓ) time for a path of length ℓ, with space complexity ˜O(n²⁺ᵃ), where a = 0.276724 for directed graphs.
  • The construction is randomized and correct with high probability (1 − 1/nᶜ for any constant c).
  • The method improves upon the previous best-known preprocessing time of ˜O(n².⁸⁷²⁹M) for DSOs with polylogarithmic query time.
  • The approach is conceptually simpler than prior constructions and leverages a general transformation that converts any DSO into one with constant query time.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.