Table of Contents
Fetching ...

Faster shortest-path algorithms using the acyclic-connected tree

Elis Stefansson, Oliver Biggar, Karl H. Johansson

TL;DR

The paper addresses the single-source shortest path problem on directed graphs by introducing nesting width as a structural parameter and the acyclic-connected tree (A-C tree) as a minimal-width nesting decomposition. It proves the A-C tree's width equals the graph's nesting width and provides a linear-time construction algorithm. By applying a recursive variant of Dijkstra's algorithm along the AC-tree, it achieves a running time of $O(e+n\log nw(G))$, matching standard Dijkstra when $nw(G)=n$ but offering improvements when the nesting width is smaller, with linear-time behavior for graphs of bounded width such as DAGs. This framework unifies and extends beyond-worst-case SSSP results by exploiting hierarchical graph structure in a weight-agnostic manner, potentially enabling faster shortest-path computations on broad graph families.

Abstract

This paper gives a fixed-parameter linear algorithm for the single-source shortest path problem (SSSP) on directed graphs. The parameter in question is the nesting width, a measure of the extent to which a graph can be represented as a nested collection of graphs. We present a novel directed graph decomposition called the acyclic-connected tree (A-C tree), which breaks the graph into a recursively nested sequence of strongly connected components in topological order. We prove that the A-C tree is optimal in the sense that its width, the size of the largest nested graph, is equal to the nesting width of the graph. We then provide a linear-time algorithm for constructing the A-C tree of any graph. Finally, we show how the A-C tree allows us to construct a simple variant of Dijkstra's algorithm which achieves a time complexity of $O(e+n\log w)$, where $n$ ($e$) is the number of nodes (arcs) in the graph and $w$ is the nesting width. The idea is to apply the shortest path algorithm separately to each component in the order dictated by the A-C tree. We obtain an asymptotic improvement over Dijkstra's algorithm: when $w=n$, our algorithm reduces to Dijkstra's algorithm, but it is faster when $w \in o(n)$, and linear-time for classes of graphs with bounded width, such as directed acyclic graphs.

Faster shortest-path algorithms using the acyclic-connected tree

TL;DR

The paper addresses the single-source shortest path problem on directed graphs by introducing nesting width as a structural parameter and the acyclic-connected tree (A-C tree) as a minimal-width nesting decomposition. It proves the A-C tree's width equals the graph's nesting width and provides a linear-time construction algorithm. By applying a recursive variant of Dijkstra's algorithm along the AC-tree, it achieves a running time of , matching standard Dijkstra when but offering improvements when the nesting width is smaller, with linear-time behavior for graphs of bounded width such as DAGs. This framework unifies and extends beyond-worst-case SSSP results by exploiting hierarchical graph structure in a weight-agnostic manner, potentially enabling faster shortest-path computations on broad graph families.

Abstract

This paper gives a fixed-parameter linear algorithm for the single-source shortest path problem (SSSP) on directed graphs. The parameter in question is the nesting width, a measure of the extent to which a graph can be represented as a nested collection of graphs. We present a novel directed graph decomposition called the acyclic-connected tree (A-C tree), which breaks the graph into a recursively nested sequence of strongly connected components in topological order. We prove that the A-C tree is optimal in the sense that its width, the size of the largest nested graph, is equal to the nesting width of the graph. We then provide a linear-time algorithm for constructing the A-C tree of any graph. Finally, we show how the A-C tree allows us to construct a simple variant of Dijkstra's algorithm which achieves a time complexity of , where () is the number of nodes (arcs) in the graph and is the nesting width. The idea is to apply the shortest path algorithm separately to each component in the order dictated by the A-C tree. We obtain an asymptotic improvement over Dijkstra's algorithm: when , our algorithm reduces to Dijkstra's algorithm, but it is faster when , and linear-time for classes of graphs with bounded width, such as directed acyclic graphs.

Paper Structure

This paper contains 16 sections, 5 theorems, 2 equations, 2 figures, 3 algorithms.

Key Result

Lemma 2.3

The relation $\geq_s$ is a tree-structured partial order on the nodes of $G$, rooted at $s$. That is, (1) $\geq_s$ is a partial order, (2) for all $a\in V$, $s\geq_s a$ and (3) if $a\geq_s c$ and $b\geq_s c$, then either $a\geq_s b$ or $b\geq_s a$.

Figures (2)

  • Figure 1: A graph $G$, and a subset of its nodes (Fig. \ref{['fig: intro module in example']}). This set of nodes allows $G$ to be decomposed into a pair of graphs $G_1$ and $G_2$, with $G_2$ nested at a node $X$ of $G_1$ (Fig. \ref{['fig:intro nested']}).
  • Figure 2: The graph $G$ from Example \ref{['exmp:intro']} (Fig. \ref{['fig:saved_and_sources']}) and its associated A-C tree (Fig. \ref{['fig:AC_tree']}), where the children of a node are topologically ordered from left to right. The child of each node $x$ in the tree is a set of nodes which represent a strongly connected component of $G_x$. We represent this by grouping the nodes in a rectangle (e.g., $e$ and $d$). We omit this rectangle for clarity if the strongly connected component is a singleton.

Theorems & Definitions (17)

  • Example 1.1
  • Definition 2.1: Single-source shortest path (SSSP)
  • Definition 2.2
  • Lemma 2.3: lengauer1979fast
  • Definition 2.4: Dominator tree lengauer1979fast
  • Definition 2.5: Module
  • Lemma 2.6
  • proof
  • Definition 2.7: Nesting decomposition
  • Definition 2.8: Nesting width
  • ...and 7 more