English

Fast and Practical DAG Decomposition with Reachability Applications

Data Structures and Algorithms 2022-12-09 v1

Abstract

We present practical linear and almost linear-time algorithms to compute a chain decomposition of a directed acyclic graph (DAG), G=(V,E)G=(V,E). The number of vertex-disjoint chains computed is very close to the minimum. The time complexity of our algorithm is O(E+cl)O(|E|+c*l), where cc is the number of path concatenations and ll is the length of a longest path of the graph. We give a comprehensive explanation on factors cc and ll in the following sections. Our techniques have important applications in many areas, including the design of faster practical transitive closure algorithms. We observe that EredwidthV|E_{red}|\leq width*|V| (EredE_{red}: non-transitive edges) and show how to find a substantially large subset of EtrE_{tr} (transitive edges) using a chain decomposition in linear time, without calculating the transitive closure. Our extensive experimental results show the interplay between the width, EredE_{red}, EtrE_{tr} in various models of graphs. We show how to compute a reachability indexing scheme in O(kcEred)O(k_c*|E_{red}|) time, where kck_c is the number of chains and Ered|E_{red}| is the number of non-transitive edges. This scheme can answer reachabilitiy queries in constant time. The space complexity of the scheme is O(kcV)O(k_c*|V|). The experimental results reveal that our methods are even better in practice than the theoretical bounds imply, indicating how fast chain decomposition algorithms can be applied to the transitive closure problem.

Keywords

Cite

@article{arxiv.2212.03945,
  title  = {Fast and Practical DAG Decomposition with Reachability Applications},
  author = {Giorgos Kritikakis and Ioannis G. Tollis},
  journal= {arXiv preprint arXiv:2212.03945},
  year   = {2022}
}
R2 v1 2026-06-28T07:25:15.616Z