近似算法:顶点覆盖

图G的顶点覆盖是一组顶点, 使得G中的每个边均入射到这些顶点中的至少一个顶点上。

决策顶点覆盖问题已被证明是NPC。现在, 我们要解决顶点覆盖问题的最佳版本, 即, 我们要找到给定图的最小尺寸的顶点覆盖。我们称这种顶点覆盖为最佳顶点覆盖C *。

顶点覆盖

顶点覆盖的近似算法:

Approx-Vertex-Cover (G = (V, E))
{           
       C = empty-set;
    E'= E;
    While E' is not empty do
      {
    Let (u, v) be any edge in E': (*)
    Add u and v to C;
    Remove from E' all edges incident to
       u or v;
      }
    Return C;
}

这个想法是一个接一个的边缘(u, v), 将两个顶点都放到C上, 然后移除所有入射到u或v的边缘。我们继续进行直到所有边缘都被移除为止。 C是VC。但是C有多好?

顶点覆盖

VC = {b, c, d, e, f, g}

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?