How Hard Is Continuous Clustering? Lower Bounds from the Existential Theory of the Reals
Angshul Majumdar

TL;DR
This paper investigates the computational complexity of continuous clustering problems defined on polynomial densities, establishing their difficulty within the existential theory of the reals and classifying their exact complexity.
Contribution
It provides the first rigorous classification of continuous clustering problems' complexity, linking them to the existential theory of the reals and revealing their computational hardness.
Findings
Separated points and valley detection are as hard as the existential theory of the reals.
Topological problems like counting connected components are at least as hard as the existential theory of the reals.
These problems are not NP complete unless unexpected complexity class collapses occur.
Abstract
This paper studies the computational difficulty of clustering problems that are defined directly on a continuous probability density. Rather than working with finite samples, we assume the density is given as a polynomial and ask whether it contains certain cluster structures. Four natural questions are examined. First, do there exist several points with high density that are far apart from each other. Second, do two high density points have a midpoint with low density, creating a valley between them. Third, does the region where the density is above a threshold have at least a given number of separate connected pieces. Fourth, does that same region contain a hole, meaning a loop that cannot be shrunk to a point. We prove that the first two problems, separated points and valley detection, are exactly as hard as the existential theory of the reals, a complexity class that contains NP and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
