📜  DAA |近似算法顶点覆盖

📅  最后修改于: 2020-12-11 01:39:25             🧑  作者: Mango

顶点覆盖

图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}