【发布时间】:2019-02-21 21:18:35
【问题描述】:
我有 K 组数据点,我想创建大小为 K 的组,以最小化组内距离的总和。我熟悉使用二分图的匹配算法,但我想要这两个以上的集合。
有什么想法吗?
编辑:
每组由每一组的一个元素组成,不允许重复。
一个例子:你有 {a1, a2, a3}, {b1, b2, b3}, {c1, c2, c3} 您想创建组,例如{a1, b3, c3}, {a2, b1, c2}, {a3, b2, c1} 最小化组内距离的总和。
【问题讨论】:
-
听起来像 k-means 聚类?如果是这样的话,那就是NP难了。好问题!
-
组是否需要从 K 个集合中的每个集合中包含一个元素?所有的集合都有相同的点数吗?这里的距离是如何定义的?这个物理距离是 2 维还是 3 维还是其他?
-
标准化你的向量,在 n 球体中以某种分辨率对它们进行分组,然后扩展,将之前组的中心视为单独的向量。不是最优的,但一个有用的近似值。
-
是的,我正在考虑一些启发式方法,我们将迭代地应用二分匹配与当前正在构建的组的质心和选定的集合。
标签: algorithm matching bipartite