给定K组点,从每组中选择一个点,使得所选点之间的成对距离之和最小化

时间:2015-04-08 16:19:55

标签: algorithm graph dynamic-programming

与此问题非常相似

Selecting an integer from each of the given n sets of integers such that the sum of their pairwise distances is minimized

除了整数之外,我们还有多维特征向量和任意距离函数来测量它们的相似性。

发布该问题的人声称他们已经找到了解决问题的多项式时间解决方案,这似乎也适用于我的问题,但我无法理解他们的答案,如果不清楚它实际上是正确的。

我的问题也等同于这个问题,图的权重等于相似函数的输出。

max-weight k-clique in a complete k-partite graph

但目前还不清楚这种问题是否比一般的最大权重集团问题更容易解决这个问题。

编辑:

从David Eisenstat的回答中,看起来原始问题在多项式时间内无法解决。但是,如果目标是最小化所选点之间的最大成对距离,是否会发生任何变化?

1 个答案:

答案 0 :(得分:4)

另一个答案必须是使用整数的特定属性,因为这个版本是NP难的。给定k和无向图G =(V,E),我们可以通过让点V×{1,...,n}和设置d((v,i),(w)来检测G是否具有k-clique。 ,j))= 1如果{v,w}∈E且i≠j,则d((v,i),(w,j))= 2。每个集合由一些i的点V×{i}组成。

Evgeny Kluev的本地搜索算法可能是一个合理的尝试。使用随机点初始化解决方案,然后重复执行以下操作。对于某些随机集(或集合集合),确定最佳解决方案受制于其他集合中的点保持不变的约束。重试整个计算几次以避免局部最小值。