English

Streaming PTAS for Constrained k-Means

Data Structures and Algorithms 2020-02-20 v2

Abstract

We generalise the results of Bhattacharya et al. (Journal of Computing Systems, 62(1):93-115, 2018) for the list-kk-means problem defined as -- for a (unknown) partition X1,...,XkX_1, ..., X_k of the dataset XRdX \subseteq \mathbb{R}^d, find a list of kk-center sets (each element in the list is a set of kk centers) such that at least one of kk-center sets {c1,...,ck}\{c_1, ..., c_k\} in the list gives an (1+ε)(1+\varepsilon)-approximation with respect to the cost function minpermutation π[i=1kxXixcπ(i)2]\min_{\textrm{permutation } \pi} \left[ \sum_{i=1}^{k} \sum_{x \in X_i} ||x - c_{\pi(i)}||^2 \right]. The list-kk-means problem is important for the constrained kk-means problem since algorithms for the former can be converted to PTAS for various versions of the latter. Following are the consequences of our generalisations: - Streaming algorithm: Our D2D^2-sampling based algorithm running in a single iteration allows us to design a 2-pass, logspace streaming algorithm for the list-kk-means problem. This can be converted to a 4-pass, logspace streaming PTAS for various constrained versions of the kk-means problem. - Faster PTAS under stability: Our generalisation is also useful in kk-means clustering scenarios where finding good centers becomes easy once good centers for a few "bad" clusters have been chosen. One such scenario is clustering under stability where the number of such bad clusters is a constant. Using the above idea, we significantly improve the running time of the known algorithm from O(dn3)(klogn)poly(1β,1ε)O(dn^3) (k \log{n})^{poly(\frac{1}{\beta}, \frac{1}{\varepsilon})} to O(dn3kO~βε(1βε))O \left(dn^3 k^{\tilde{O}_{\beta \varepsilon}(\frac{1}{\beta \varepsilon})} \right).

Keywords

Cite

@article{arxiv.1909.07511,
  title  = {Streaming PTAS for Constrained k-Means},
  author = {Dishant Goyal and Ragesh Jaiswal and Amit Kumar},
  journal= {arXiv preprint arXiv:1909.07511},
  year   = {2020}
}

Comments

Changes from previous version: (i) added discussion on coreset, and (ii) fixed few typos

R2 v1 2026-06-23T11:17:20.514Z