English

A linear-time parameterized algorithm for computing the width of a DAG

Data Structures and Algorithms 2021-06-25 v3

Abstract

The width kk of a directed acyclic graph (DAG) G=(V,E)G = (V, E) equals the largest number of pairwise non-reachable vertices. Computing the width dates back to Dilworth's and Fulkerson's results in the 1950s, and is doable in quadratic time in the worst case. Since kk can be small in practical applications, research has also studied algorithms whose complexity is parameterized on kk. Despite these efforts, it is still open whether there exists a linear-time O(f(k)(V+E))O(f(k)(|V| + |E|)) parameterized algorithm computing the width. We answer this question affirmatively by presenting an O(k24kV+k2kE)O(k^24^k|V| + k2^k|E|) time algorithm, based on a new notion of frontier antichains. As we process the vertices in a topological order, all frontier antichains can be maintained with the help of several combinatorial properties, paying only f(k)f(k) along the way. The fact that the width can be computed by a single f(k)f(k)-sweep of the DAG is a new surprising insight into this classical problem. Our algorithm also allows deciding whether the DAG has width at most ww in time O(f(min(w,k))(V+E))O(f(\min(w,k))(|V|+|E|)).

Keywords

Cite

@article{arxiv.2007.07575,
  title  = {A linear-time parameterized algorithm for computing the width of a DAG},
  author = {Manuel Cáceres and Massimo Cairo and Brendan Mumey and Romeo Rizzi and Alexandru I. Tomescu},
  journal= {arXiv preprint arXiv:2007.07575},
  year   = {2021}
}