Decomposing DAGs into disjoint chains

  • Authors:
  • Yangjun Chen

  • Affiliations:
  • Department of Applied Computer Science, University of Winnipeg, Winnipeg, Manitoba, Canada

  • Venue:
  • DEXA'07 Proceedings of the 18th international conference on Database and Expert Systems Applications
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we propose an efficient algorithm to decompose a directed acyclic graph (DAG) into chains, which has a lot of applications in computer science and engineering. Especially, it can be used to store transitive closures of directed graphs in an economical way. For a DAG G with n nodes, our algorithm needs O(n2 + bn √b) time to find a minimized set of disjoint chains, where b is G's width, defined to be the largest node subset U of G such that for every pair of nodes u, v ∈ U, there does not exist a path from u to v or from v to u. Accordingly, the transitive closure of G can be stored in O(bn) space, and the reachability can be checked in O(logb) time. The method can also be extended to handle cyclic directed graphs.