最小顶点覆盖(Minimum Vertex Cover)与最大独立集(Maximum Independent Set)

问题描述:就是在图中找最小的点集,使得覆盖所有边。

和独立集等价:独立集问题:在图中找最大的点集,使得点集内的所有点互不相连。

引理:顶点覆盖集和独立集互补。

上面这个引理使得这两个问题可以相互规约,从而这两个问题等价。

等价问题:给定图G和数k, 问G包含大小至少为k的独立集吗?

为什么等价:如果我们能在多项式时间内给出这个问题的答案,那么我们可以通过二分查找得到最大独立集的size为K。一个点如果是最大独立集中的点,等价于除去这个点后得到的图G'含有一个K-1大小的独立集。那么我们每次选取一个顶点v,然后再问一下G'是否有K-1的独立集,如果回答为yes,那么我们把v加入我们的答案中,如果回答为no, 我们把v的邻居加入答案中(因为如果v不在答案中,v的邻居也不在答案中,那么v和邻居之间的边将不会被覆盖)。所以,如果上述提问的解法是多项式的,那么最大独立集问题也是多项式的。

原文地址:https://www.cnblogs.com/huangshiyu13/p/7044196.html