证明CLIQUE(团问题)是NP完全
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了证明CLIQUE(团问题)是NP完全相关的知识,希望对你有一定的参考价值。
一个图G的k团是G的k个顶点的集合,使得这个集合中每对顶点之间都有边。
CLIQUE问题是:给定一个图G和常数k,G有没有k团?
下面通过把顶点覆盖问题归约到CLIQUE来证明:CLIQUE是NP完全的。
【证明】
显然,CLIQUE是NP(NP定义: 可以在多项式时间验证结果正确性的问题)。
在给定的图G中猜测k个顶点的一个集合,并验证此集合中的任何两点之间都有边。
给定图G的顶点覆盖问题的一个实例(G,k),构造一个团问题实例(G’,n-k),其中
- n是图G顶点的总个数。
- G’是图G中边的补,即,G’有边(u,v)当且仅当图G没有边(u,v)。
令C是图G的顶点覆盖,且C中有k个顶点;
令C’是C中顶点的补,也就是G’的(n-k)团(其实,C是G的顶点覆盖,则G中任何一条边至少有一个顶点在C中,则C的补就是在G中不存在边的顶点的集合,而G’是G中边的补,因此C’是G’的(n-k)团)。
(当)假设C’不是G’的(n-k)团,则C’中存在顶点对(u,v),在G’中没有边,那么这条边就在G中,但由于u和v都不在C中,故产生矛盾,假设不成立。
(仅当)设(u,v)是G中的边,但没有被C覆盖,则u和v都在C’中,但边(u,v)不在G’中,故产生矛盾。
由此可以证明,CLIQUE是NP完全的。
利用归约来证明给定问题是NP完全的步骤:
设P1是已知的NP完全问题,P2是要证明的NP完全问题。
断言:P1当且仅当P2
(当)用P2来证明P1;
(仅当)用P1来证明P2。
一般都是用假设不成立而产生矛盾来证明问题的。
证明CLIQUE(团问题)是NP完全_zhanghao_新浪博客
以上是关于证明CLIQUE(团问题)是NP完全的主要内容,如果未能解决你的问题,请参考以下文章
极大团(maximal clique)算法:Born_kerbosch算法