Parallel Batch-Dynamic k-Clique Counting
In this paper, we study new batch-dynamic algorithms for k-clique counting, which are dynamic algorithms where the updates are batches of edge insertions and deletions. We study this problem in the parallel setting, where the goal is to obtain algorithms with low (poly-logarithmic) depth. Our first result is a new parallel batch-dynamic triangle counting algorithm with O(Δ√(Δ+m)) amortized work and O(log^* (Δ+m)) depth with high probability (w.h.p.), and O(Δ+m) space for a batch of Δ edge insertions or deletions. Our second result is a simple parallel batch-dynamic k-clique counting algorithm that uses a newly developed parallel k-clique counting algorithm to bootstrap itself, by enumerating smaller cliques, and intersecting them with the batch. Instantiating this idea gives a simple batch-dynamic algorithm running in O(Δ(m+Δ)α^k-4) expected work and O(log^k-2 n) depth w.h.p., all in O(m + Δ) space. Our third result is an algebraic algorithm based on parallel fast matrix multiplication. Assuming that a parallel fast matrix multiplication algorithm exists with parallel matrix multiplication constant ω_p, the same algorithm solves dynamic k-clique counting with O(min(Δ m^(2k - 1)ω_p/3(ω_p + 1), (Δ+m)^2(k + 1)ω_p/3(ω_p + 1))) amortized work, O(log (Δ+m)) depth, and O((Δ+m)^2(k + 1)ω_p/3(ω_p + 1)) space.
READ FULL TEXT