有一个带有权重的无向图(权重是非负整数,它们的总和不大,大多数是0)。我需要将它分成若干个子图(让我们说20个节点的图形到4个子图,每个5个节点),以最小化不同子图之间边的权重之和。
这听起来有点像最小切割问题,但不够接近。
在替代配方中 - 有一堆存储桶,所有项目都属于两个存储桶,我需要将存储桶分区为存储桶组,以最大限度地减少多个存储桶组中的项目数。 (节点映射到存储桶,边缘权重映射到重复的项目计数)
答案 0 :(得分:4)
这是最小的k-cut问题,并且是NP难的。这是一个贪婪的启发式方法,可以保证你的2-1 / k近似值:
虽然图表的组件少于k个: 1)在每个组件中找到最小切口 2)使用最小重量最小切割分割组件。