We present two new compact transitive closure representations. The rst uses intervals and the second chains to store the closure. Both representations are based on previous methods designed for acyclic graphs. The new representations are applicable to all kinds of graphs, and can be eOEciently constructed during a single traversal of the input graph. We compared experimentally the average size of these representations and traditional list based representations. The inputs were random graphs. The interval representation outperformed the other representations: it typically required a space at most linear to the number of vertices of the input graph. The chain representation did not save much space compared to a list representation. We also studied the complexity of constructing the interval representation. Our results indicate that in the models of random graphs that we used, the transitive closure can typically be computed in a time linear to the size of the input graph when the interval representation is used. A conclusion is that in a disk environment, the bottleneck of transitive closure computation is typically the traversal of the input, not the construction of the output. Our experimental method is based on a sound statistical approach and it is applicable to other experimental studies of algorithms as well.
|
508
|
Matrix multiplication via arithmetic progressions
– COPPERSMITH, WINOGRAD
- 1987
|
|
128
|
A Theorem of Boolean Matrices
– Warshall
- 1962
|
|
63
|
Needed: An empirical science of algorithms
– Hooker
- 1994
|
|
62
|
Steady-state simulation of queueing processes: A survey of problems and solutions
– Pawlikowski
- 1990
|
|
56
|
What You Always Wanted to Know About Datalog (And Never Dared to Ask
– Ceri, Gottlob, et al.
- 1989
|
|
39
|
Multiprocessor transitive closure algorithms
– Agrawal, Jagadish
- 1989
|
|
32
|
Transitive Closure Algorithms Based on Graph Traversal
– Ioannidis, Ramakirishnan, et al.
- 1993
|
|
32
|
Depth rst search and linear graph algorithms
– Tarjan
- 1972
|
|
31
|
Random Graphs
– Bollobs
- 1985
|
|
30
|
Modern Mathematical Statistics
– Dudewicz, Mishra
- 1988
|
|
27
|
The transitive closure of a random digraph. Random Structures and Algorithms 1:73–94
– Karp
- 1990
|
|
20
|
An improved algorithm for transitive closure on acyclic digraphs, Theoretical Computer Science 58
– Simon
- 1988
|
|
16
|
Efficient determination of the transitive closure of a directed graph
– Munro
- 1971
|
|
16
|
Boolean matrix multiplication and transitive closure
– Fischer, Meyer
- 1971
|
|
14
|
An Improved Transitive Closure Algorithm
– Schmitz
- 1983
|
|
13
|
On computing the transitive closure of a relation
– Eve, Kurki-Suonio
- 1977
|
|
12
|
A Transitive Closure Algorithm
– Purdom
- 1970
|
|
12
|
On finding the strongly connected components in a directed graph
– Nuutila, Soisalon-Soininen
- 1994
|
|
12
|
A reduct and closure algorithm for graphs
– Goralcikova, Konbek
- 1979
|
|
11
|
A Compression Technique to Materialize Transitive Closure
– Jagadish
- 1990
|
|
10
|
A sensitive transitive closure algorithm
– Ebert
- 1981
|
|
9
|
E cient management of transitive relationships in large data bases, including is-a hierarchies
– Agrawal, Borgida, et al.
- 1989
|
|
9
|
Efficient transitive closure computation in large digraphs
– Nuutila
- 1995
|
|
9
|
An Overview of Parallel Strategies for Transitive Closure on Algebraic Machines
– Cacace, Ceri, et al.
- 1990
|
|
8
|
An analysis technique for transitive closure algorithms: A statistical approach
– Ganguly, Krishnamurthy, et al.
- 1991
|
|
8
|
Data Fragmentation for Parallel Transitive Closure Strategies
– Houstma, Apers, et al.
- 1993
|
|
7
|
Efficient transitive closure computation
– Nuutila, Soisalon-Soininen
- 1993
|
|
4
|
Parsing Theory, volume I: Languages and Parsing
– Sippu, Soisalon-Soininen
- 1988
|
|
4
|
An efficient transitive closure algorithm for cyclic digraphs
– Nuutila
- 1994
|
|
4
|
An Algorithm for Transitive Closure with Linear Expected Time
– Schnorr
- 1978
|
|
4
|
Augmenting Databases with Generalized Transitive Closure
– Dar
- 1993
|
|
3
|
Parallel computation of direct transitive closures
– Huang, Cheiney
- 1991
|
|
3
|
Analyzing algorithms by simulation
– McGeoch
- 1992
|
|
2
|
A note on the average time to compute transitive closures
– Bloniarz, Fischer, et al.
- 1976
|
|
1
|
Fundamental results for the verication of observational equivalence: A survey
– Bolognesi, Smolka
- 1988
|
|
1
|
Graph Algorithms. Transitive reduction and transitive closure
– Leeuwen
- 1990
|
|
1
|
Disk performance analysis of transitive closure algorithms
– Hirvisalo, Nuutila, et al.
- 1996
|