如何在没有定向图循环的情况下找到确定最大子图的问题的2近似解?如果子图包含具有相同属性的其他图形中的最大边数,则子图为“最大”。
2-approximate意味着我们可以构建比最佳图形小2倍的图形。这是一个相当大的约束减少,应该导致相当愚蠢的算法 - 哇! - 结果只比精确解决方案差两倍。
[这是我最近通过的考试的一个问题。不再做作业了。]
答案 0 :(得分:8)
将节点集划分为两个非空集A和B.考虑从A到B的边集和从B到A的边集。抛出较小集的边并保持边的距离较大的一组(任意断裂)。单独递归A和B.
结果图是非循环的,因为每次循环都会在循环节点在A和B之间分割时被破坏。我们抛出的总边集不会大于我们保留的边集总数,所以我们'在最多的一半边缘抛出了。
[注意:我认为你的意思是'最大',你的意思是'最大'。 “最大”图表通常表示没有符合条件的正确超集的图表。最大非循环子图很容易构造而没有近似因子,只有在没有添加循环时才将所有边添加到一个新图中。]
答案 1 :(得分:3)
Vijay Vazirani关于近似算法的书将此作为第一个练习问题,他给出了一个非常明显的提示,我将在这里解释。
正确性和近似比证明都是微不足道的。
编辑:实际上@Keith Randall的解决方案只是其中的一个变体,其中他将集合A中的节点从1编号为| A | B中的节点来自| A | + 1到| A | + | B |,类似于递归情况。