Skip to main content

Low Diameter Decomposition

Problem Specification#

Input#

G=(V,E)G=(V, E), an undirected graph on nn vertices.

Output#

L\mathcal{L}, a mapping from each vertex to a cluster ID representing a (O(β),O(logn/β)(O(\beta), O(\log n/\beta) decomposition.

Definitions#

A (β,d)(\beta, d)-decomposition partitions VV into C1,,CkC_{1}, \ldots, C_{k} such that:

  • The shortest path between two vertices in CiC_{i} using only vertices in CiC_{i} is at most dd.
  • The number of edges (u,v)(u,v) where uCi,vCj,jiu \in C_{i}, v \in C_{j}, j \neq i is at most βm\beta m.

The low-diameter decomposition problem that we study is to compute an (O(β),O(logn/β)(O(\beta), O(\log n/\beta) decomposition.

Algorithm Implementations#

We implement the Miller-Peng-Xu (MPX) algorithm [1] which computes an (2β,O(logn/β))(2\beta, O(\log n / \beta)) decomposition in O(m)O(m) work and O(log2n)O(\log^2 n) depth w.h.p. Our implementation is based on the non-deterministic LDD implementation from Shun et al. [2] (designed as part of a parallel connectivity implementation).

The code for the primary implementation is available here.

Cost Bounds#

The algorithm runs in O(n+m)O(n + m) expected work and O(log2n)O(\log^{2} n) depth w.h.p. A detailed description of our algorithm can be found in Section 6.2 of this paper.

References#

[1] Gary L. Miller, Richard Peng, and Shen Chen Xu
Parallel graph decompositions using random shifts
Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 196-203, 2013.

[2] Julian Shun, Laxman Dhulipala, and Guy Blelloch
A Simple and Practical Linear-Work Parallel Algorithm for Connectivity
Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 143-153, 2014.