In this paper we initiate a systematic study of exact algorithms for well-known clustering problems, namely $k$-Median and $k$-Means. In $k$-Median, the input consists of a set $X$ of $n$ points belonging to a metric space, and the task is to select a subset $C \subseteq X$ of $k$ points as centers, such that the sum of the distances of every point to its nearest center is minimized. In $k$-Means, the objective is to minimize the sum of squares of the distances instead. It is easy to design an algorithm running in time $\max_{k\leq n} {n \choose k} n^{O(1)} = O^*(2^n)$ ($O^*(\cdot)$ notation hides polynomial factors in $n$). We design first non-trivial exact algorithms for these problems. In particular, we obtain an $O^*((1.89)^n)$ time exact algorithm for $k$-Median that works for any value of $k$. Our algorithm is quite general in that it does not use any properties of the underlying (metric) space -- it does not even require the distances to satisfy the triangle inequality. In particular, the same algorithm also works for $k$-Means. We complement this result by showing that the running time of our algorithm is asymptotically optimal, up to the base of the exponent. That is, unless ETH fails, there is no algorithm for these problems running in time $2^{o(n)} \cdot n^{O(1)}$. Finally, we consider the "supplier" versions of these clustering problems, where, in addition to the set $X$ we are additionally given a set of $m$ candidate centers $F$, and objective is to find a subset of $k$ centers from $F$. The goal is still to minimize the $k$-Median/$k$-Means/$k$-Center objective. For these versions we give a $O(2^n (mn)^{O(1)})$ time algorithms using subset convolution. We complement this result by showing that, under the Set Cover Conjecture, the supplier versions of these problems do not admit an exact algorithm running in time $2^{(1-\epsilon) n} (mn)^{O(1)}$.
翻译:在本文中, 我们启动一项对已知的组群问题精确算法的系统研究, 即 美元- 米德元和美元- 米德元。 在 美元- 米德元中, 输入由属于一个公制空间的美元单位构成, 任务在于选择一个子集 $C\ subseteq Xk美元点作为中心, 这样我们可以将每个点到最接近中心的距离之和最小化。 在 美元- 米德元中, 目标是将距离的平方之和最小化。 很容易设计一个在时间运行中的 美元- 米德元 美元 美元; 美元- 美元- 美元 美元- 美元 美元 美元 美元- 元 美元 。 程序= (cd) 美元- 美元, 美元- 元化的计算结果就是这些非三重精确的计算结果。