这个图形问题有一个很好的算法吗?

时间:2010-07-16 02:22:24

标签: algorithm graph

有一个带有权重的无向图(权重是非负整数,它们的总和不大,大多数是0)。我需要将它分成若干个子图(让我们说20个节点的图形到4个子图,每个5个节点),以最小化不同子图之间边的权重之和。

这听起来有点像最小切割问题,但不够接近。

在替代配方中 - 有一堆存储桶,所有项目都属于两个存储桶,我需要将存储桶分区为存储桶组,以最大限度地减少多个存储桶组中的项目数。 (节点映射到存储桶,边缘权重映射到重复的项目计数)

1 个答案:

答案 0 :(得分:4)

这是最小的k-cut问题,并且是NP难的。这是一个贪婪的启发式方法,可以保证你的2-1 / k近似值:

虽然图表的组件少于k个:   1)在每个组件中找到最小切口   2)使用最小重量最小切割分割组件。

本文研究了这个问题:http://www.cc.gatech.edu/~vazirani/k-cut.ps