Incremental Low-High Orders of Directed Graphs and Applications

Authors Loukas Georgiadis, Konstantinos Giannis, Aikaterini Karanasiou, Luigi Laura



PDF
Thumbnail PDF

File

LIPIcs.SEA.2017.27.pdf
  • Filesize: 1.21 MB
  • 21 pages

Document Identifiers

Author Details

Loukas Georgiadis
Konstantinos Giannis
Aikaterini Karanasiou
Luigi Laura

Cite AsGet BibTex

Loukas Georgiadis, Konstantinos Giannis, Aikaterini Karanasiou, and Luigi Laura. Incremental Low-High Orders of Directed Graphs and Applications. In 16th International Symposium on Experimental Algorithms (SEA 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 75, pp. 27:1-27:21, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)
https://doi.org/10.4230/LIPIcs.SEA.2017.27

Abstract

A flow graph G = (V, E, s) is a directed graph with a distinguished start vertex s. The dominator tree D of G is a tree rooted at s, such that a vertex v is an ancestor of a vertex w if and only if all paths from s to w include v. The dominator tree is a central tool in program optimization and code generation, and has many applications in other diverse areas including constraint programming, circuit testing, biology, and in algorithms for graph connectivity problems. A low-high order of G is a preorder d of D that certifies the correctness of D, and has further applications in connectivity and path-determination problems. In this paper we consider how to maintain efficiently a low-high order of a flow graph incrementally under edge insertions. We present algorithms that run in O(mn) total time for a sequence of edge insertions in a flow graph with n vertices, where m is the total number of edges after all insertions. These immediately provide the first incremental certifying algorithms for maintaining the dominator tree in O(mn) total time, and also imply incremental algorithms for other problems. Hence, we provide a substantial improvement over the O(m^2) straightforward algorithms, which recompute the solution from scratch after each edge insertion. Furthermore, we provide efficient implementations of our algorithms and conduct an extensive experimental study on real-world graphs taken from a variety of application areas. The experimental results show that our algorithms perform very well in practice.
Keywords
  • connectivity
  • directed graphs
  • dominators
  • dynamic algorithms

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. A. Abboud and V. Vassilevska Williams. Popular conjectures imply strong lower bounds for dynamic problems. In Proc. 55th IEEE Symposium on Foundations of Computer Science, FOCS, pages 434-443, 2014. URL: http://dx.doi.org/10.1109/FOCS.2014.53.
  2. S. Allesina and A. Bodini. Who dominates whom in the ecosystem? Energy flow bottlenecks and cascading extinctions. Journal of Theoretical Biology, 230(3):351-358, 2004. Google Scholar
  3. S. Alstrup, D. Harel, P. W. Lauridsen, and M. Thorup. Dominators in linear time. SIAM Journal on Computing, 28(6):2117-32, 1999. Google Scholar
  4. S. Alstrup and P. W. Lauridsen. A simple dynamic algorithm for maintaining a dominator tree. Technical Report 96-3, Department of Computer Science, University of Copenhagen, 1996. Google Scholar
  5. M. E. Amyeen, W. K. Fuchs, I. Pomeranz, and V. Boppana. Fault equivalence identification using redundancy information and static and dynamic extraction. In Proceedings of the 19th IEEE VLSI Test Symposium, March 2001. Google Scholar
  6. S. Baswana, K. Choudhary, and L. Roditty. Fault tolerant reachability for directed graphs. In Yoram Moses, editor, Distributed Computing, volume 9363 of Lecture Notes in Computer Science, pages 528-543. Springer Berlin Heidelberg, 2015. URL: http://dx.doi.org/10.1007/978-3-662-48653-5_35.
  7. S. Baswana, K. Choudhary, and L. Roditty. Fault tolerant reachability subgraph: Generic and optimal. In Proc. 48th ACM Symp. on Theory of Computing, pages 509-518, 2016. URL: http://dx.doi.org/10.1145/2897518.2897648.
  8. M. A. Bender, R. Cole, E. D. Demaine, M. Farach-Colton, and J. Zito. Two simplified algorithms for maintaining order in a list. In Proceedings of the 10th Annual European Symposium on Algorithms, pages 152-164, Berlin, Heidelberg, 2002. Springer Berlin Heidelberg. URL: http://dx.doi.org/10.1007/3-540-45749-6_17.
  9. M. A. Bender, J. T. Fineman, S. Gilbert, and R. E. Tarjan. A new approach to incremental cycle detection and related problems. ACM Transactions on Algorithms, 12(2):14:1-14:22, December 2015. URL: http://dx.doi.org/10.1145/2756553.
  10. A. L. Buchsbaum, L. Georgiadis, H. Kaplan, A. Rogers, R. E. Tarjan, and J. R. Westbrook. Linear-time algorithms for dominators and other path-evaluation problems. SIAM Journal on Computing, 38(4):1533-1573, 2008. Google Scholar
  11. S. Cicerone, D. Frigioni, U. Nanni, and F. Pugliese. A uniform approach to semi-dynamic problems on digraphs. Theor. Comput. Sci., 203:69-90, August 1998. Google Scholar
  12. R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, 13(4):451-490, 1991. URL: http://dx.doi.org/10.1145/115372.115320.
  13. C. Demetrescu, A. V. Goldberg, and D. S. Johnson. 9th DIMACS Implementation Challenge: Shortest Paths. 2007. URL: http://www.diag.uniroma1.it/challenge9/.
  14. P. Dietz and D. Sleator. Two algorithms for maintaining order in a list. In Proc. 19th ACM Symp. on Theory of Computing, pages 365-372, 1987. Google Scholar
  15. W. Fraczak, L. Georgiadis, A. Miller, and R. E. Tarjan. Finding dominators via disjoint set union. Journal of Discrete Algorithms, 23:2-20, 2013. URL: http://dx.doi.org/http://dx.doi.org/10.1016/j.jda.2013.10.003.
  16. H. N. Gabow. The minset-poset approach to representations of graph connectivity. ACM Transactions on Algorithms, 12(2):24:1-24:73, February 2016. URL: http://dx.doi.org/10.1145/2764909.
  17. K. Gargi. A sparse algorithm for predicated global value numbering. SIGPLAN Not., 37(5):45-56, May 2002. URL: http://dx.doi.org/10.1145/543552.512536.
  18. L. Georgiadis. Testing 2-vertex connectivity and computing pairs of vertex-disjoint s-t paths in digraphs. In Proc. 37th Int'l. Coll. on Automata, Languages, and Programming, pages 738-749, 2010. Google Scholar
  19. L. Georgiadis. Approximating the smallest 2-vertex connected spanning subgraph of a directed graph. In Proc. 19th European Symposium on Algorithms, pages 13-24, 2011. Google Scholar
  20. L. Georgiadis, G. F. Italiano, L. Laura, and N. Parotsidis. 2-vertex connectivity in directed graphs. In Proc. 42nd Int'l. Coll. on Automata, Languages, and Programming, pages 605-616, 2015. URL: http://dx.doi.org/10.1007/978-3-662-47672-7_49.
  21. L. Georgiadis, G. F. Italiano, L. Laura, and N. Parotsidis. 2edgee connectivity in directed graphs. ACM Trans. Algorithms, 13(1):9:1-9:24, October 2016. URL: http://dx.doi.org/10.1145/2968448.
  22. L. Georgiadis, G. F. Italiano, L. Laura, and F. Santaroni. An experimental study of dynamic dominators. In Proc. 20th European Symposium on Algorithms, pages 491-502, 2012. Full version: CoRR, abs/1604.02711. Google Scholar
  23. L. Georgiadis, G. F. Italiano, and N. Parotsidis. Incremental 2-edge-connectivity in directed graphs. In Proc. 43rd Int'l. Coll. on Automata, Languages, and Programming, pages 49:1-49:15, 2016. URL: http://dx.doi.org/10.4230/LIPIcs.ICALP.2016.49.
  24. L. Georgiadis, A. Karanasiou, G. Konstantinos, and L. Laura. On low-high orders of directed graphs: Incremental algorithms and applications. CoRR, abs/1608.06462, 2016. URL: http://arxiv.org/abs/1608.06462.
  25. L. Georgiadis and R. E. Tarjan. Dominator tree certification and divergent spanning trees. ACM Transactions on Algorithms, 12(1):11:1-11:42, November 2015. URL: http://dx.doi.org/10.1145/2764913.
  26. L. Georgiadis and R. E. Tarjan. Addendum to "Dominator tree certification and divergent spanning trees". ACM Transactions on Algorithms, 12(4):56:1-56:3, August 2016. URL: http://dx.doi.org/10.1145/2928271.
  27. L. Georgiadis, R. E. Tarjan, and R. F. Werneck. Finding dominators in practice. Journal of Graph Algorithms and Applications (JGAA), 10(1):69-94, 2006. Google Scholar
  28. M. Gomez-Rodriguez and B. Schölkopf. Influence maximization in continuous time diffusion networks. In 29th International Conference on Machine Learning (ICML), 2012. Google Scholar
  29. M. Henzinger, S. Krinninger, and V. Loitzenbauer. Finding 2-edge and 2-vertex strongly connected components in quadratic time. In Proc. 42nd Int'l. Coll. on Automata, Languages, and Programming, pages 713-724, 2015. URL: http://dx.doi.org/10.1007/978-3-662-47672-7_58.
  30. G. F. Italiano, L. Laura, and F. Santaroni. Finding strong bridges and strong articulation points in linear time. Theoretical Computer Science, 447:74-84, 2012. URL: http://dx.doi.org/10.1016/j.tcs.2011.11.011.
  31. R. Jaberi. Computing the 2-blocks of directed graphs. RAIRO-Theor. Inf. Appl., 49(2):93-119, 2015. URL: http://dx.doi.org/10.1051/ita/2015001.
  32. R. Jaberi. On computing the 2-vertex-connected components of directed graphs. Discrete Applied Mathematics, 204:164-172, 2016. URL: http://dx.doi.org/10.1016/j.dam.2015.10.001.
  33. J. Kunegis. KONECT: the Koblenz network collection. In 22nd International World Wide Web Conference, WWW'13, Rio de Janeiro, Brazil, May 13-17, 2013, Companion Volume, pages 1343-1350, 2013. Google Scholar
  34. T. Lengauer and R. E. Tarjan. A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages and Systems, 1(1):121-41, 1979. Google Scholar
  35. J. Leskovec and A. Krevl. SNAP Datasets: Stanford large network dataset collection, June 2014. URL: http://snap.stanford.edu/data.
  36. E. K. Maxwell, G. Back, and N. Ramakrishnan. Diagnosing memory leaks using graph mining on heap dumps. In Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining, KDD'10, pages 115-124, 2010. Google Scholar
  37. R. M. McConnell, K. Mehlhorn, S. Näher, and P. Schweitzer. Certifying algorithms. Computer Science Review, 5(2):119-161, 2011. Google Scholar
  38. M. Mowbray and A. Lain. Dominator-tree analysis for distributed authorization. In Proceedings of the Third ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, PLAS'08, pages 101-112, New York, NY, USA, 2008. ACM. URL: http://dx.doi.org/10.1145/1375696.1375709.
  39. H. Nagamochi and T. Ibaraki. A linear-time algorithm for finding a sparse k-connected spanning subgraph of a k-connected graph. Algorithmica, 7:583-596, 1992. Google Scholar
  40. L. Quesada, P. Van Roy, Y. Deville, and R. Collet. Using dominators for solving constrained path problems. In Proc. 8th International Conference on Practical Aspects of Declarative Languages, pages 73-87, 2006. Google Scholar
  41. G. Ramalingam and T. Reps. An incremental algorithm for maintaining the dominator tree of a reducible flowgraph. In Proc. 21st ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 287-296, 1994. Google Scholar
  42. V. C. Sreedhar, G. R. Gao, and Y. Lee. Incremental computation of dominator trees. ACM Transactions on Programming Languages and Systems, 19:239-252, 1997. Google Scholar
  43. R. E. Tarjan. Finding dominators in directed graphs. SIAM Journal on Computing, 3(1):62-89, 1974. Google Scholar
  44. R. E. Tarjan. Efficiency of a good but not linear set union algorithm. Journal of the ACM, 22(2):215-225, 1975. Google Scholar
  45. R. E. Tarjan. Fast algorithms for solving path problems. Journal of the ACM, 28(3):594-614, 1981. Google Scholar
  46. T. Tholey. Linear time algorithms for two disjoint paths problems on directed acyclic graphs. Theoretical Computer Science, 465:35-48, 2012. URL: http://dx.doi.org/10.1016/j.tcs.2012.09.025.
  47. J. Zhao and S. Zdancewic. Mechanized verification of computing dominators for formalizing compilers. In Proc. 2nd International Conference on Certified Programs and Proofs, pages 27-42. Springer, 2012. URL: http://dx.doi.org/10.1007/978-3-642-35308-6_6.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail