Deterministic and Work-Efficient Parallel Batch-Dynamic Trees in Low Span (2306.08786v1)
Abstract: Dynamic trees are a well-studied and fundamental building block of dynamic graph algorithms dating back to the seminal work of Sleator and Tarjan [STOC'81, (1981), pp. 114-122]. The problem is to maintain a tree subject to online edge insertions and deletions while answering queries about the tree, such as the heaviest weight on a path, etc. In the parallel batch-dynamic setting, the goal is to process batches of edge updates work efficiently in low ($\text{polylog}\ n$) span. Two work-efficient algorithms are known, batch-parallel Euler Tour Trees by Tseng et al. [ALENEX'19, (2019), pp. 92-106] and parallel Rake-Compress (RC) Trees by Acar et al. [ESA'20, (2020), pp. 2:1-2:23]. Both however are randomized and work efficient in expectation. Several downstream results that use these data structures (and indeed to the best of our knowledge, all known work-efficient parallel batch-dynamic graph algorithms) are therefore also randomized. In this work, we give the first deterministic work-efficient solution to the problem. Our algorithm maintains a dynamic parallel tree contraction subject to batches of $k$ edge updates deterministically in worst-case $O(k \log(1 + n/k))$ work and $O(\log n \log{(c)} k)$ span for any constant $c$. This allows us to implement parallel batch-dynamic RC-Trees with worst-case $O(k \log(1 + n/k))$ work updates and queries deterministically. Our techniques that we use to obtain the given span bound can also be applied to the state-of-the-art randomized variant of the algorithm to improve its span from $O(\log n \log* n)$ to $O(\log n)$.
- Parallel batch-dynamic graph connectivity. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2019.
- Parallel batch-dynamic trees via change propagation. In European Symposium on Algorithms (ESA), 2020.
- Dynamizing static algorithms, with applications to dynamic trees and history independence. In ACM-SIAM Symposium on Discrete Algorithms (SODA), 2004.
- An experimental analysis of change propagation in dynamic trees. In Algorithm Engineering and Experiments (ALENEX), 2005.
- Improved time bounds for the maximum flow problem. SIAM J. on Computing, 18(5):939–954, 1989.
- Maintaining information in fully dynamic trees with top trees. ACM Trans. Algorithms (TALG), 1(2):243–264, 2005.
- D. Anderson and G. E. Blelloch. Parallel minimum cuts in O(mlog2n)𝑂𝑚superscript2𝑛{O}(m\log^{2}n)italic_O ( italic_m roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n ) work and low depth. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2021.
- Work-efficient batch-incremental minimum spanning trees with applications to the sliding-window model. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2020.
- Improving the efficiency of parallel minimum spanning tree algorithms. Discrete Applied Mathematics, 126(1):33–54, 2003.
- R. Cole and U. Vishkin. Approximate and exact parallel scheduling with applications to list, tree and graph problems. In IEEE Symposium on Foundations of Computer Science (FOCS), 1986.
- R. Cole and U. Vishkin. Deterministic coin tossing with applications to optimal parallel list ranking. Information and Control, 70(1):32–53, 1986.
- R. Cole and U. Vishkin. Approximate parallel scheduling. ii. applications to logarithmic-time optimal parallel graph algorithms. Information and computation, 92(1):1–47, 1991.
- P. Ferragina and F. Luccio. Batch dynamic algorithms for two graph problems. In International Conference on Parallel Architectures and Languages Europe, 1994.
- P. Ferragina and F. Luccio. Three techniques for parallel maintenance of a minimum spanning tree under batch of updates. Parallel processing letters, 6(02):213–222, 1996.
- G. N. Frederickson. Data structures for on-line updating of minimum spanning trees, with applications. SIAM J. on Computing, 14(4):781–798, 1985.
- G. N. Frederickson. Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees. SIAM J. on Computing, 26(2):484–538, 1997.
- G. N. Frederickson. A data structure for dynamically maintaining rooted trees. J. Algorithms, 24(1):37–65, 1997.
- Minimum cut in O(mlog2n)𝑂𝑚superscript2𝑛{O}(m\log^{2}n)italic_O ( italic_m roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n ) time. In Intl. Colloq. on Automata, Languages and Programming (ICALP), 2020.
- Optimal tree contraction in the erew model. In Concurrent Computations, pages 139–156. Springer, 1988.
- B. Geissmann and L. Gianinazzi. Parallel minimum cuts in near-linear work and low depth. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2018.
- Parallel symmetry-breaking in sparse graphs. In ACM Symposium on Theory of Computing (STOC), 1987.
- Use of dynamic trees in a network simplex algorithm for the maximum flow problem. Mathematical Programming, 50(1):277–290, 1991.
- Parallel (δ𝛿\deltaitalic_δ+ 1)-coloring of constant-degree graphs. Inf. Process. Lett., 25(4):241–245, 1987.
- A new approach to the maximum-flow problem. Journal of the ACM (JACM), 35(4):921–940, 1988.
- T. Goldberg and U. Zwick. Optimal deterministic approximate parallel prefix sums and their applications. In Proceedings of the Third Israel Symposium on the Theory of Computing and Systems, 1995.
- M. R. Henzinger and V. King. Randomized dynamic graph algorithms with polylogarithmic time per operation. In ACM Symposium on Theory of Computing (STOC). ACM, 1995.
- M. R. Henzinger and V. King. Maintaining minimum spanning forests in dynamic graphs. SIAM J. on Computing, 31(2):364–374, 2001.
- J. Holm and K. de Lichtenberg. Top-trees and dynamic graph algorithms. Master’s thesis, Citeseer, 1998.
- Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity. J. ACM, 48(4):723–760, 2001.
- H. Jung and K. Mehlhorn. Parallel algorithms for computing maximal independent sets in trees and for updating minimum spanning trees. Inf. Process. Lett., 27(5):227–236, 1988.
- Dynamic graph connectivity in polylogarithmic worst case time. In ACM-SIAM Symposium on Discrete Algorithms (SODA), 2013.
- D. R. Karger. Minimum cuts in near-linear time. J. ACM, 47(1):46–76, 2000.
- Parallel batch-dynamic algorithms for k-core decomposition and related graph problems. 2022.
- M. Luby. A simple parallel algorithm for the maximal independent set problem. In ACM Symposium on Theory of Computing (STOC), 1985.
- Parallel tree contraction and its application. In IEEE Symposium on Foundations of Computer Science (FOCS). IEEE, October 1985.
- S. Pawagi and O. Kaser. Optimal parallel algorithms for multiple updates of minimum spanning trees. Algorithmica, 9(4):357–381, 1993.
- S. Pettie and V. Ramachandran. A randomized time-work optimal parallel algorithm for finding a minimum spanning forest. SIAM J. on Computing, 31(6):1879–1895, 2002.
- X. Shen and W. Liang. A parallel algorithm for multiple edge updates of minimum spanning trees. In International Parallel Processing Symposium (IPPS), 1993.
- A data structure for dynamic trees. J. Comput. Syst. Sci., 26(3):362–391, 1983.
- Self-adjusting binary search trees. J. ACM, 32(3):652–686, 1985.
- R. E. Tarjan. Dynamic trees as search trees via euler tours, applied to the network simplex algorithm. Mathematical Programming, 78(2):169–177, 1997.
- Self-adjusting top trees. In ACM-SIAM Symposium on Discrete Algorithms (SODA), 2005.
- Batch-parallel euler tour trees. In 2019 Proceedings of the Twenty-First Workshop on Algorithm Engineering and Experiments (ALENEX), pages 92–106. SIAM, 2019.
- Parallel batch-dynamic minimum spanning forest and the efficiency of dynamic agglomerative graph clustering. In ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 2022.
- R. F. Werneck. Design and analysis of data structures for dynamic trees. PhD thesis, Princeton University, 2006.