Hierarchical clustering is used widely to organize data and search for patterns. Previous algorithms assume that the body of data being clustered is fixed while the algorithm runs, and use centralized data representations that make it difficult to scale the process by distributing it across multiple processors. SelfOrganizing Data and Search (SODAS), inspired by the decentralized algorithms that ants use to sort their nests, relaxes these constraints. SODAS can maintain a hierarchical structure over a continuously changing collection of leaves, requiring only local computations at the nodes of the hierarchy and thus permitting the system to scale arbitrarily by distributing nodes (and their processing) across multiple computers. Categories and Subject Descriptors I.5.3 [Pattern Recognition]: Clustering
H. Van Dyke Parunak, Richard Rohwer, Theodore C. B