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)$.
翻译:动态树是动态图算法中经过深入研究的基石性数据结构,其起源可追溯至Sleator与Tarjan的开创性工作[STOC'81, (1981), 第114-122页]。该问题要求在管理在线边插入与删除操作的同时,能够回答关于树的查询(例如路径上最大权重等)。在并行批处理动态场景下,目标是在低跨度($O(\text{polylog}\ n)$)内工作高效地处理边更新批处理。目前已知有两种工作高效的算法:Tseng等人的批并行欧拉环游树[ALENEX'19, (2019), 第92-106页]以及Acar等人的并行Rake-Compress(RC)树[ESA'20, (2020), 第2:1-2:23页]。然而,这两种算法均为随机化算法,其工作高效性仅成立在期望意义上。因此,依赖这些数据结构的后续成果(事实上,据我们所知,所有已知的工作高效并行批处理动态图算法)也均为随机化算法。在本文中,我们首次提出该问题的确定性工作高效解决方案。我们的算法在确定性条件下,对包含$k$条边更新的批处理操作,维护动态并行树收缩,其最坏情况工作量为$O(k \log(1 + n/k))$,跨度为$O(\log n \log^{(c)} k)$(对任意常数$c$成立)。通过该算法,我们可实现确定性并行批处理RC树,其更新与查询的最坏情况工作量为$O(k \log(1 + n/k))$。我们用于获得给定跨度界限的技术还可应用于现有最优随机化变体算法,将其跨度从$O(\log n \log^* n)$改进至$O(\log n)$。