English

Optimal Parallel Algorithms for Dendrogram Computation and Single-Linkage Clustering

Data Structures and Algorithms 2024-05-14 v2 Distributed, Parallel, and Cluster Computing

Abstract

Computing a Single-Linkage Dendrogram (SLD) is a key step in the classic single-linkage hierarchical clustering algorithm. Given an input edge-weighted tree TT, the SLD of TT is a binary dendrogram that summarizes the n1n-1 clusterings obtained by contracting the edges of TT in order of weight. Existing algorithms for computing the SLD all require Ω(nlogn)\Omega(n\log n) work where n=Tn = |T|. Furthermore, to the best of our knowledge no prior work provides a parallel algorithm obtaining non-trivial speedup for this problem. In this paper, we design faster parallel algorithms for computing SLDs both in theory and in practice based on new structural results about SLDs. In particular, we obtain a deterministic output-sensitive parallel algorithm based on parallel tree contraction that requires O(nlogh)O(n \log h) work and O(log2nlog2h)O(\log^2 n \log^2 h) depth, where hh is the height of the output SLD. We also give a deterministic bottom-up algorithm for the problem inspired by the nearest-neighbor chain algorithm for hierarchical agglomerative clustering, and show that it achieves O(nlogh)O(n\log h) work and O(hlogn)O(h \log n) depth. Our results are based on a novel divide-and-conquer framework for building SLDs, inspired by divide-and-conquer algorithms for Cartesian trees. Our new algorithms can quickly compute the SLD on billion-scale trees, and obtain up to 150x speedup over the highly-efficient Union-Find algorithm typically used to compute SLDs in practice.

Keywords

Cite

@article{arxiv.2404.19019,
  title  = {Optimal Parallel Algorithms for Dendrogram Computation and Single-Linkage Clustering},
  author = {Laxman Dhulipala and Xiaojun Dong and Kishen N Gowda and Yan Gu},
  journal= {arXiv preprint arXiv:2404.19019},
  year   = {2024}
}

Comments

To appear at SPAA 2024