【发布时间】:2017-04-28 12:50:39
【问题描述】:
有一个图(E,V)。对于每条边 (i,j),都有一个支付 P[i,j],它可以是正数、零或负数。我们按簇划分顶点。每次两个相邻顶点 v1 和 v2 属于不同的簇时,我们都会收到支付 P[v1,v2]。如何最大化总付款?这个问题是 NP 难的吗?
【问题讨论】:
-
您正在寻找multi-cut。
-
如果没有进一步的限制(例如,结果集群的数量必须是给定的 M),是什么阻止我迭代边缘并用正支付切断所有?诚然,它可能会导致图仍然是连续的(没有分区),但是由于问题没有施加任何限制,因此单个集群作为结果是可以接受的,不是吗?
-
@Adrian Colomitchi 我们不能任意切割某些边缘而不切割其他边缘。我们只能从不同的簇中切割边缘。如果我们切 A-B,但不切 B-C,我们也应该切 A-C。
-
"我们不能任意切割一些边缘而不切割其他边缘。"这些限制的解释在哪里?
-
@AdrianColomitchi - 在我的问题中。
标签: algorithm cluster-analysis graph-algorithm