We present an $O(\log d + \log\log_{m/n} n)$-time randomized PRAM algorithm for computing the connected components of an $n$-vertex, $m$-edge undirected graph with maximum component diameter $d$. The algorithm runs on an ARBITRARY CRCW (concurrent-read, concurrent-write with arbitrary write resolution) PRAM using $O(m)$ processors. The time bound holds with good probability. Our algorithm is based on the breakthrough results of Andoni et al. [FOCS'18] and Behnezhad et al. [FOCS'19]. Their algorithms run on the more powerful MPC model and rely on sorting and computing prefix sums in $O(1)$ time, tasks that take $\Omega(\log n / \log\log n)$ time on a CRCW PRAM with $\text{poly}(n)$ processors. Our simpler algorithm uses limited-collision hashing and does not sort or do prefix sums. It matches the time and space bounds of the algorithm of Behnezhad et al., who improved the time bound of Andoni et al. It is widely believed that the larger private memory per processor and unbounded local computation of the MPC model admit algorithms faster than that on a PRAM. Our result suggests that such additional power might not be necessary, at least for fundamental graph problems like connected components and spanning forest.
翻译:我们提出了一个 $O(\ log d +\ log\ log\\ m/ n} n) 的 美元时间随机 PRAM 算法,用于计算 $n- ververex 和 Behnezhad 等 [FOCS' 19] 的连接组件。 他们的算法运行在更强大的 MPC 模型上,依靠 $O( 美元) 的时间排序和计算前缀金额。 任务运行在 CRCW 上, 使用 $( m) 处理器 。 时间约束保持良好的可能性。 我们的算法基于 Andoni et al. [FOCS'18] 和 Behnezhad et al. [FOCS'19] 的突破性结果。 它们算法运行在更强大的 MPC 模型上, 依靠 $( 1) 美元时间的排序和计算前缀。 任务花费 $\\\\ log/\ log\ n( ) $( m) $( text{ol) ad) ad) 处理器 。 我们的缩缩缩缩缩算算算算算算算算算算得更快。