Table of Contents
Fetching ...

ShareDP: Finding k Disjoint Paths for Multiple Vertex Pairs

Zhiqiu Yuan, Youhuan Li, Lei Zou, Linglin Yang

TL;DR

The paper addresses batch-$k$DP for multiple vertex pairs, where the goal is to compute $k$ disjoint $s_i\to t_i$ paths for each query in a set $Q$ on a graph $G$. It introduces ShareDP, a batch algorithm that merges per-query split-graphs into a unified structure and performs shared traversals using query-set tagging, enabling coordinated path finding across queries. The key contributions are (1) a merged split-graph representation, (2) optimized shared traversals for concurrent path finding, and (3) extensive experiments on 12 real-world datasets showing that ShareDP consistently outperforms baselines and variants, especially as $k$ grows. The approach offers significant gains in throughput and scalability for network routing, transportation planning, and related graph-query workloads where many $k$DP queries are issued simultaneously.

Abstract

Finding k disjoint paths (kDP) is a fundamental problem in graph analysis. For vertices s and t, paths from s to t are said to be disjoint if any two of them share no common vertex except s and t. In practice, disjoint paths are widely applied in network routing and transportation. In these scenarios, multiple kDP queries are often issued simultaneously, necessitating efficient batch processing. This motivates the study of batch kDP query processing (batch-kDP). A straightforward approach to batch-kDP extends batch simple-path enumeration with disjointness checks. But this suffers from factorial computational complexity. An alternative approach leverages single-query algorithms that avoid this by replacing the graph with a converted version. However, handling each query independently misses opportunities for shared computation. To overcome these limitations, we propose ShareDP, an algorithm for batch-kDP that shares the computation and storage across kDPs. ShareDP merges converted graphs into a shared structure, then shares the traversals and operations from different queries within this structure. Extensive experiments on 12 real-world datasets confirm the superiority of ShareDP over comparative approaches.

ShareDP: Finding k Disjoint Paths for Multiple Vertex Pairs

TL;DR

The paper addresses batch-DP for multiple vertex pairs, where the goal is to compute disjoint paths for each query in a set on a graph . It introduces ShareDP, a batch algorithm that merges per-query split-graphs into a unified structure and performs shared traversals using query-set tagging, enabling coordinated path finding across queries. The key contributions are (1) a merged split-graph representation, (2) optimized shared traversals for concurrent path finding, and (3) extensive experiments on 12 real-world datasets showing that ShareDP consistently outperforms baselines and variants, especially as grows. The approach offers significant gains in throughput and scalability for network routing, transportation planning, and related graph-query workloads where many DP queries are issued simultaneously.

Abstract

Finding k disjoint paths (kDP) is a fundamental problem in graph analysis. For vertices s and t, paths from s to t are said to be disjoint if any two of them share no common vertex except s and t. In practice, disjoint paths are widely applied in network routing and transportation. In these scenarios, multiple kDP queries are often issued simultaneously, necessitating efficient batch processing. This motivates the study of batch kDP query processing (batch-kDP). A straightforward approach to batch-kDP extends batch simple-path enumeration with disjointness checks. But this suffers from factorial computational complexity. An alternative approach leverages single-query algorithms that avoid this by replacing the graph with a converted version. However, handling each query independently misses opportunities for shared computation. To overcome these limitations, we propose ShareDP, an algorithm for batch-kDP that shares the computation and storage across kDPs. ShareDP merges converted graphs into a shared structure, then shares the traversals and operations from different queries within this structure. Extensive experiments on 12 real-world datasets confirm the superiority of ShareDP over comparative approaches.

Paper Structure

This paper contains 17 sections, 4 figures, 2 tables, 3 algorithms.

Figures (4)

  • Figure 1: Examples of disjoint paths and split-graph.
  • Figure 2: Framework of ShareDP. Colored balls (e.g., the blue ball for query $q_0$) represent queries. Each iteration identifies a path for each query by conducting a combined search on a merged split-graph $G'$. See Sec. \ref{['sec:approach_overview']} for details.
  • Figure 3: Running time when varying $k$.
  • Figure 4: Running time when varying the number of $k$DPs with $k$=$10$.