最小顶点覆盖(Minimum Vertex Cover)与最大独立集(Maximum Independent Set)
2017-06-18 13:54
841 查看
问题描述:就是在图中找最小的点集,使得覆盖所有边。
和独立集等价:独立集问题:在图中找最大的点集,使得点集内的所有点互不相连。
引理:顶点覆盖集和独立集互补。
上面这个引理使得这两个问题可以相互规约,从而这两个问题等价。
等价问题:给定图G和数k, 问G包含大小至少为k的独立集吗?
为什么等价:如果我们能在多项式时间内给出这个问题的答案,那么我们可以通过二分查找得到最大独立集的size为K。一个点如果是最大独立集中的点,等价于除去这个点后得到的图G'含有一个K-1大小的独立集。那么我们每次选取一个顶点v,然后再问一下G'是否有K-1的独立集,如果回答为yes,那么我们把v加入我们的答案中,如果回答为no, 我们把v的邻居加入答案中(因为如果v不在答案中,v的邻居也不在答案中,那么v和邻居之间的边将不会被覆盖)。所以,如果上述提问的解法是多项式的,那么最大独立集问题也是多项式的。
和独立集等价:独立集问题:在图中找最大的点集,使得点集内的所有点互不相连。
引理:顶点覆盖集和独立集互补。
上面这个引理使得这两个问题可以相互规约,从而这两个问题等价。
等价问题:给定图G和数k, 问G包含大小至少为k的独立集吗?
为什么等价:如果我们能在多项式时间内给出这个问题的答案,那么我们可以通过二分查找得到最大独立集的size为K。一个点如果是最大独立集中的点,等价于除去这个点后得到的图G'含有一个K-1大小的独立集。那么我们每次选取一个顶点v,然后再问一下G'是否有K-1的独立集,如果回答为yes,那么我们把v加入我们的答案中,如果回答为no, 我们把v的邻居加入答案中(因为如果v不在答案中,v的邻居也不在答案中,那么v和邻居之间的边将不会被覆盖)。所以,如果上述提问的解法是多项式的,那么最大独立集问题也是多项式的。
相关文章推荐
- Ural 2038 Minimum Vertex Cover(二分图最小顶点覆盖+快速读入)
- 二分图中对最小顶点覆盖、最小边覆盖、最大独立集的理解
- 图论中 [ 最小边覆盖/最小路径覆盖/最小顶点覆盖/最大独立集/最大团 ] 的概念与性质
- 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)
- 二分图:最大独立集&最大匹配&最小顶点覆盖
- 【最小边覆盖 & 最小路径覆盖 & 最小顶点覆盖 & 最大独立集 & 最大团】
- 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)
- 二分图相关拓展(抽象模型,最小顶点覆盖,边的最小覆盖,最大独立集,最大团)
- 二分图的最小顶点覆盖 最大独立集 最大团
- 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)
- 二分图中对最小顶点覆盖、最小边覆盖、最大独立集的理解
- 二分图的最小顶点覆盖 最大独立集 最大团
- 二分图及二分图最小顶点覆盖 最大独立集
- 二分图的最小顶点覆盖 和 最大独立集 和 最大团
- 【最小边覆盖 & 最小路径覆盖 & 最小顶点覆盖 & 最大独立集 & 最大团】
- 关于二分图中对最小顶点覆盖、最小边覆盖、最大独立集的总结
- hdu 1150 Machine Schedule 最小顶点覆盖(最大匹配)
- 匈牙利算法,求最大匹配数即最小顶点覆盖
- 二分图最大匹配,最小路径覆盖,最小点覆盖,最大独立集,最小边覆盖与建图方法
- hihocoder #1127 : 二分图三·二分图最小点覆盖和最大独立集