We present a deterministic algorithm for solving a wide range of dynamic programming problems in trees in $O(\log D)$ rounds in the massively parallel computation model (MPC), with $O(n^\delta)$ words of local memory per machine, for any given constant $0 < \delta < 1$. Here $D$ is the diameter of the tree and $n$ is the number of nodes--we emphasize that our running time is independent of $n$. Our algorithm can solve many classical graph optimization problems such as maximum weight independent set, maximum weight matching, minimum weight dominating set, and minimum weight vertex cover. It can also be used to solve many accumulation tasks in which some aggregate information is propagated upwards or downwards in the tree--this includes, for example, computing the sum, minimum, or maximum of the input labels in each subtree, as well as many inference tasks commonly solved with belief propagation. Our algorithm can also solve any locally checkable labeling problem (LCLs) in trees. Our algorithm works for any reasonable representation of the input tree; for example, the tree can be represented as a list of edges or as a string with nested parentheses or tags. The running time of $O(\log D)$ rounds is also known to be necessary, assuming the widely-believed $2$-cycle conjecture. Our algorithm strictly improves on two prior algorithms: (i) Bateni, Behnezhad, Derakhshan, Hajiaghayi, and Mirrokni [ICALP'18] solve problems of these flavors in $O(\log n)$ rounds, while our algorithm is much faster in low-diameter trees. Furthermore, their algorithm also uses randomness, while our algorithm is deterministic. (ii) Balliu, Latypov, Maus, Olivetti, and Uitto [SODA'23] solve only locally checkable labeling problems in $O(\log D)$ rounds, while our algorithm can be applied to a much broader family of problems.
翻译:我们提出一种确定性算法,用于在巨量并行计算模型(MPC)中求解树上的广泛动态规划问题。该算法在每台机器本地内存为$O(n^\delta)$个单词的条件下,仅需$O(\log D)$轮即可完成,其中$0 < \delta < 1$为任意给定常数。这里$D$为树的直径,$n$为节点数——需强调,我们的运行时间与$n$无关。该算法能解决许多经典图优化问题,例如最大权重独立集、最大权重匹配、最小权重支配集和最小权重顶点覆盖。它还可用于解决多种聚合任务(如计算每棵子树中输入标签的求和、最小值或最大值),以及常通过置信传播求解的推理任务。此外,该算法可解决树上所有局部可检查标记问题(LCLs)。算法适用于输入树的任何合理表示形式,例如列表型边集、嵌套括号或标签型字符串。根据广泛接受的2-循环猜想,$O(\log D)$轮运行时间已被证明为必要下限。本算法严格优于两种先前方法:(i) Bateni、Behnezhad、Derakhshan、Hajiaghayi和Mirrokni [ICALP'18] 解决同类问题需$O(\log n)$轮,而本算法在低直径树上显著更快,且其算法使用随机性,本算法则为确定性;(ii) Balliu、Latypov、Maus、Olivetti和Uitto [SODA'23] 仅能以$O(\log D)$轮求解局部可检查标记问题,而本算法可应用于更广泛的问题族。