🤖 AI Summary
This paper addresses the efficient maintenance of single-linkage dendrograms (SLDs) in fully dynamic environments: given a minimum spanning forest (MSF) over evolving data points—where edges representing pairwise similarities are inserted or deleted over time—how can the SLD be updated incrementally without full recomputation? We present the first fully dynamic SLD maintenance algorithm, achieving $O(c log(1+n/c))$ time per edge insertion and $O(h log(1+n/h))$ per deletion, where $c$ is the number of affected clusters and $h$ is the MSF height—both strictly sublinear and faster than static reconstruction. Furthermore, we design parallel and batch-processing variants with polylogarithmic depth, preserving work-optimality while significantly improving response latency. Our approach provides the first solution for dynamic hierarchical clustering that simultaneously offers rigorous theoretical guarantees and practical efficiency.
📝 Abstract
Single-linkage clustering is a popular form of hierarchical agglomerative clustering (HAC) where the distance between two clusters is defined as the minimum distance between any pair of points across the two clusters. In single-linkage HAC, the output is typically the single-linkage dendrogram (SLD), which is the binary tree representing the hierarchy of clusters formed by iteratively contracting the two closest clusters. In the dynamic setting, prior work has only studied maintaining a minimum spanning forest over the data since single-linkage HAC reduces to computing the SLD on the minimum spanning forest of the data.
In this paper, we study the problem of maintaining the SLD in the fully-dynamic setting. We assume the input is a dynamic forest $F$ (representing the minimum spanning forest of the data) which receives a sequence of edge insertions and edge deletions. To our knowledge, no prior work has provided algorithms to update an SLD asymptotically faster than recomputing it from scratch. All of our update algorithms are asymptotically faster than the best known static SLD computation algorithm, which takes $O(n log h)$ time where $h$ is the height of the dendrogram ($h leq n-1$). Furthermore, our algorithms are much faster in many cases, such as when $h$ is low. Our first set of results are an insertion algorithm in $O(h)$ time and a deletion algorithm in $O(h log (1+n/h))$ time. Next, we describe parallel and batch-parallel versions of these algorithms which are work-efficient or nearly work-efficient and have poly-logarithmic depth. Finally, we show how to perform insertions near-optimally in $O(c log(1+n/c))$ time, where $c$ is the number of structural changes in the dendrogram caused by the update, and give a work-efficient parallel version of this algorithm that has polylogarithmic depth.