2,036 research outputs found
Join-Reachability Problems in Directed Graphs
For a given collection G of directed graphs we define the join-reachability
graph of G, denoted by J(G), as the directed graph that, for any pair of
vertices a and b, contains a path from a to b if and only if such a path exists
in all graphs of G. Our goal is to compute an efficient representation of J(G).
In particular, we consider two versions of this problem. In the explicit
version we wish to construct the smallest join-reachability graph for G. In the
implicit version we wish to build an efficient data structure (in terms of
space and query time) such that we can report fast the set of vertices that
reach a query vertex in all graphs of G. This problem is related to the
well-studied reachability problem and is motivated by emerging applications of
graph-structured databases and graph algorithms. We consider the construction
of join-reachability structures for two graphs and develop techniques that can
be applied to both the explicit and the implicit problem. First we present
optimal and near-optimal structures for paths and trees. Then, based on these
results, we provide efficient structures for planar graphs and general directed
graphs
A Heuristic for Direct Product Graph Decomposition
In this paper we describe a heuristic for decomposing a directed graph
into factors according to the direct product (also known as Kronecker, cardinal or tensor
product). Given a directed, unweighted graph G with adjacency matrix Adj(G), our
heuristic aims at identifying two graphs G 1 and G 2 such that G = G 1 × G 2 , where
G 1 × G 2 is the direct product of G 1 and G 2 . For undirected, connected graphs it has
been shown that graph decomposition is “at least as difficult” as graph isomorphism;
therefore, polynomial-time algorithms for decomposing a general directed graph into
factors are unlikely to exist. Although graph factorization is a problem that has been
extensively investigated, the heuristic proposed in this paper represents – to the best
of our knowledge – the first computational approach for general directed, unweighted
graphs. We have implemented our algorithm using the MATLAB environment; we
report on a set of experiments that show that the proposed heuristic solves reasonably-
sized instances in a few seconds on general-purpose hardware. Although the proposed
heuristic is not guaranteed to find a factorization, even if one exists; however, it always
succeeds on all the randomly-generated instances used in the experimental evaluation
- …