最大独立集的近似比?

时间:2015-01-06 09:30:52

标签: algorithm approximation

假设我们有一个加权网格图,我们的问题是找到最大的独立集。有一种贪婪的算法,每次选择最重的节点并将其移除并与其相邻,直到选择或移除G的所有节点。我们想要证明W(s)> = 1/4 W(T)其中S是我们的贪心结果而T是OPT解决方案。

S成为我们贪婪算法的结果,T是一个任意独立的集合,可以是OPT。我们知道对于属于T的任何节点v的任何T-Sv'中存在S的节点vw(v) <= w(v')的邻居和{{1}}。

有什么想法可以证明这一点吗?

2 个答案:

答案 0 :(得分:1)

通过以下证明可以获得所需的结果。

S成为贪婪算法生成的集合,让T成为一组独立的最大权重。我们将逐步将T转换为S并限制每个转换步骤的损失。

v中选择最大权重的T\S。根据上述问题中的陈述,v'中存在Sw(v') >= w(v);选择这样的v'。让N成为v'T的邻域; N包含v,最多包含4个顶点(因为我们有一个网格图)。选择v时,最大权重和w(v')>=w(v),我们获得w(v')>=w(N)/4。我们设置T':=(T\N)并向其添加v'。通过构建,T'仍然是一个独立的集合,我们有w(T') >= w(T) - (3/4)w(N)

总的来说,对于每个交换步骤,来自T\S的顶点被消除,但是添加来自S的节点,使得添加的总权重至少是总丢失重量的四分之一。 此外,每个步骤中构造的集合N是不相交的,这意味着在每个步骤中,至少保留了w(N)的四分之一。总的来说,正如我们构建的SS的权重至少为(1/4)w(T)

请注意,输入图不需要是网格图,但最大4度就足够了;此外,证据可以通过允许一个abitrary图来概括,用最大度数Δ代替4,得到1 /Δ的近似值。

答案 1 :(得分:1)

只需使用您的上一个语句,并将T视为最大独立集,并且您有两个结果:

  1. 对于T-S中的每个节点,例如vuS之类的节点都是W(v) <= W(u)
  2. u中的S等每个节点最多是T中4个节点的邻居。
  3. 现在使用它们:)