我的图如下:
我需要找到最大权重子图。
问题如下:
有n个Vectex群集,并且在每个Vextex群集中都有一些顶点。对于不同顶点群集中的两个顶点,存在加权边,而在同一Vextex群集中,顶点之间没有边。现在我 想要通过在每个顶点中仅找到一个顶点来找到最大权重子图 顶点簇。然后通过将选定顶点之间的所有边的权重相加来计算总权重。我添加一张图片来解释问题。现在,我知道如何通过ILP方法对该问题建模。但是,我不知道如何通过一种近似算法来解决它,以及如何获得其近似比率。
您能提供一些解决方案和建议吗?
非常感谢。如果本说明中有任何不清楚之处, 请随时问。
答案 0 :(得分:0)
我认为您找不到alpha
的{{1}}-近似值。这是因为,如果存在这样的近似值,那么还将证明unique games conjecture(UGC)是错误的。证明(或证明)UGC是一项相当大的成就:-)
(而且我实际上是UGC的信徒之一,所以我说这是不可能的:p)
减少非常简单,因为可以将任何UGC实例描述为您的问题,并且权重为alpha
或0
。
我可以看到多项式逼近是1
-近似值(簇数1/k
),使用最大权重完美匹配(PM)算法(我们假设簇数是偶数,如果很奇怪,只需添加一个“无用”的1个顶点,每个地方0个权重)。
首先,您需要构建一个新图。每个群集一个顶点。边缘k
的权重具有u, v
边缘从簇max w(e)
到簇e
的权重u
。在此图上运行最大重量PM。
然后,您可以为每个群集选择一个顶点,该顶点对应于PM中选择的边缘。
从PM中提取的溶液的总重量至少与PM的重量一样大(因为它包含PM的边缘+其他边缘)。
然后您可以得出结论,这大约是v
,因为如果存在比PM重量大1/k
倍的问题的解决方案,那么PM并不是最大的。
解释很短(我会说
编辑:与UGC等效:说明了唯一的标签封面。
想想一个UGC实例。然后,UGC实例中的每个节点都将由一个群集表示,该群集中的节点与UGC实例中的颜色一样多。然后,如果权重为k
的边与UGC中的边不对应,或者与“不良颜色匹配”相对应,则创建权重为0
的边。如果它们符合良好的色彩匹配,则将其权重设置为1。
然后,如果找到问题实例的最佳解决方案,则表示它对应于相应的UGC实例的最佳解决方案。
因此,如果教资会成立,那就意味着要解决您的问题很困难。