【发布时间】:2016-10-09 14:56:57
【问题描述】:
是否有任何算法或代码将图节点划分为两个或多个满足以下条件的不相交集: 首先,只允许移除边缘。 其次,对边缘进行加权,并且那些将被删除的边缘必须具有最小权重(最小切割算法)。 第三,期望的不相交集尽可能长。
【问题讨论】:
标签: algorithm graph graph-theory disjoint-sets minimum-cut
是否有任何算法或代码将图节点划分为两个或多个满足以下条件的不相交集: 首先,只允许移除边缘。 其次,对边缘进行加权,并且那些将被删除的边缘必须具有最小权重(最小切割算法)。 第三,期望的不相交集尽可能长。
【问题讨论】:
标签: algorithm graph graph-theory disjoint-sets minimum-cut
看起来您正在尝试解决最小二等分问题,其中给定一个图 G,您希望将 V[G] 划分为两个大小相等的不相交子集 A 和 B,使得A 和 B 之间的边缘被最小化。不幸的是,the Min-bisection problem is known to be NP-hard。然而,Kernighan–Lin algorithm 是一个非常简单的 O(n^2*logn) 启发式算法来解决这个问题。虽然理论上对该算法知之甚少(我们没有证明其性能相对于最佳解决方案的界限),但算法is shown to be quite effective in experiments。
【讨论】: