Faster Fully Dynamic Transitive Closure in Practice

The fully dynamic transitive closure problem asks to maintain reachability information in a directed graph between arbitrary pairs of vertices, while the graph undergoes a sequence of edge insertions and deletions. The problem has been thoroughly investigated in theory and many specialized algorithms for solving it have been proposed in the last decades. In two large studies [Frigioni ea, 2001; Krommidas and Zaroliagis, 2008], a number of these algorithms have been evaluated experimentally against simple static algorithms for graph traversal, showing the competitiveness and even superiority of the simple algorithms in practice, except for very dense random graphs or very high ratios of queries. A major drawback of those studies is that only small and mostly randomly generated graphs are considered. In this paper, we engineer new algorithms to maintain all-pairs reachability information which are simple and space-efficient. Moreover, we perform an extensive experimental evaluation on both generated and real-world instances that are several orders of magnitude larger than those in the previous studies. Our results indicate that our new algorithms outperform all state-of-the-art algorithms on all types of input considerably in practice.

[1]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[2]  Thatchaphol Saranurak,et al.  Dynamic Matrix Inverse: Improved Algorithms and Matching Conditional Lower Bounds , 2019, 2019 IEEE 60th Annual Symposium on Foundations of Computer Science (FOCS).

[3]  Liam Roditty,et al.  A faster and simpler fully dynamic transitive closure , 2003, SODA '03.

[4]  Rok Sosic,et al.  SNAP , 2016, ACM Trans. Intell. Syst. Technol..

[5]  Christos D. Zaroliagis,et al.  An experimental study of algorithms for fully dynamic transitive closure , 2005, JEAL.

[6]  Christos Faloutsos,et al.  Kronecker Graphs: An Approach to Modeling Networks , 2008, J. Mach. Learn. Res..

[7]  Valerie King,et al.  Fully dynamic algorithms for maintaining all-pairs shortest paths and transitive closure in digraphs , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[8]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[9]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[10]  Monika Henzinger,et al.  Fully dynamic biconnectivity and transitive closure , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[11]  Piotr Sankowski,et al.  Dynamic Transitive Closure via Dynamic Matrix Inverse , 2004 .

[12]  Daniele Frigioni,et al.  An Experimental Study of Dynamic Algorithms for Transitive Closure , 2001, JEAL.

[13]  Shimon Even,et al.  An On-Line Edge-Deletion Problem , 1981, JACM.

[14]  D. R. Fulkerson,et al.  Maximal Flow Through a Network , 1956 .

[15]  Ramesh Hariharan,et al.  Improved decremental algorithms for maintaining transitive closure and all-pairs shortest paths , 2002, STOC '02.

[16]  Valerie King,et al.  A fully dynamic algorithm for maintaining the transitive closure , 1999, STOC '99.

[17]  Toshihide Ibaraki,et al.  On-Line Computation of Transitive Closures of Graphs , 1983, Inf. Process. Lett..

[18]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[19]  Giuseppe F. Italiano,et al.  Mantaining Dynamic Matrices for Fully Dynamic Transitive Closure , 2001, Algorithmica.

[20]  Giuseppe F. Italiano,et al.  Finding Paths and Deleting Edges in Directed Acyclic Graphs , 1988, Inf. Process. Lett..

[21]  Christian Schulz,et al.  Fully Dynamic Single-Source Reachability in Practice: An Experimental Study , 2019, ALENEX.

[22]  Monika Henzinger,et al.  Unifying and Strengthening Hardness for Dynamic Problems via the Online Matrix-Vector Multiplication Conjecture , 2015, STOC.

[23]  Mikkel Thorup,et al.  A Space Saving Trick for Directed Dynamic Transitive Closure and Shortest Path Algorithms , 2001, COCOON.

[24]  Giuseppe F. Italiano,et al.  Trade-offs for fully dynamic transitive closure on DAGs: breaking through the O(n2 barrier , 2005, JACM.

[25]  Uri Zwick,et al.  All-Pairs Almost Shortest Paths , 1997, SIAM J. Comput..

[26]  Jérôme Kunegis,et al.  KONECT: the Koblenz network collection , 2013, WWW.

[27]  Thomas W. Reps,et al.  Program analysis via graph reachability , 1997, Inf. Softw. Technol..

[28]  Uri Zwick,et al.  Dynamic approximate all-pairs shortest paths in undirected graphs , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[29]  Jan van Leeuwen,et al.  Maintenance of Transitive Closures and Transitive Reductions of Graphs , 1987, WG.

[30]  Daniel M. Yellin Speeding up dynamic transitive closure for bounded degree graphs , 2005, Acta Informatica.

[31]  Haim Kaplan,et al.  Maximum Flows by Incremental Breadth-First Search , 2011, ESA.

[32]  Liam Roditty,et al.  Decremental maintenance of strongly connected components , 2013, SODA.

[33]  Uri Zwick,et al.  Improved Dynamic Reachability Algorithms for Directed Graphs , 2008, SIAM J. Comput..

[34]  François Le Gall,et al.  Powers of tensors and fast matrix multiplication , 2014, ISSAC.

[35]  Jakub Lacki,et al.  Improved deterministic algorithms for decremental transitive closure and strongly connected components , 2011, SODA '11.

[36]  Giuseppe F. Italiano,et al.  Amortized Efficiency of a Path Retrieval Data Structure , 1986, Theor. Comput. Sci..

[37]  Anupam Gupta,et al.  Discovering pathways by orienting edges in protein interaction networks , 2010, Nucleic acids research.

[38]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[39]  Uri Zwick,et al.  A fully dynamic reachability algorithm for directed graphs with an almost linear update time , 2004, STOC '04.