An Efficient Algorithm for Answering Graph Reachability Queries

  • Authors:
  • Yangjun Chen;Yibin Chen

  • Affiliations:
  • Dept. Applied Computer Science, University of Winnipeg, 515 Portage Ave., Winnipeg, Manitoba, Canada R3B 2E9. y.chen@uwinnipeg.ca;Dept. Applied Computer Science, University of Winnipeg, 515 Portage Ave., Winnipeg, Manitoba, Canada R3B 2E9. y.chen@uwinnipeg.ca

  • Venue:
  • ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given a directed graph G, to check whether a node v is reachable from another node u through a path is often required. In a database system, such an operation is called a recursion computation or reachability checking and not efficiently supported. The reason for this is that the space to store the whole transitive closure of G is prohibitively high. In this paper, we address this issue and propose an 0(n2 + bnradic(b)) time algorithm to decompose a directed acyclic graph (DAG) into a minimized set of disjoint chains to facilitate reachability checking, where n is the number of the nodes and b is the DAG's width, defined to be the size of a largest node subset U of the DAG such that for every pair of nodes u, v isin U, there does not exist a path from u to v or from v to u. Using this algorithm, we are able to label a graph in 0(be) time and store all the labels in O(bn) space with O(logb) reachability checking time, where e is the number of the edges of the DAG. The method can also be extended to handle cyclic directed graphs. Experiments have been performed, showing that our method is promising.