0. 题目描述
Sanjoy Algorithm: P267, 8.14
Prove that the following problem is NP-complete: given an undirected graph G=(V,E) and an integer k , return a clique of size
1. 基本概念
要证明上述题目,得先了解几个基本概念。
1.1 团(clique)
在图论领域的一个无向图中,满足两两之间有边连接的顶点的集合,被称为该无向图的团。
1.2 独立集(independent set)
在图论理论中,独立集或稳定集(stable set)是图的一个顶点集,且这个集合中,任意两个顶点都不相邻。也就是说,在这样一个集合
1.3 P, NP, NP-hard, NP-complete
- P问题: 一个问题可以在多项式 O(nk) 的时间复杂度内解决
- NP问题: 一个问题的解可以在多项式的时间内被证实或证伪
- NP-hard问题: 任意NP问题都可以在多项式时间内归约为该问题。归约的意思是为了解决问题A,先将问题A归约为另一个问题B,解决问题B同时也间接解决了问题A。
- NP-complete问题: 既是NP问题,也是NP-hard问题。
2. 如何证明问题是NP-complete的
根据上面对于NP-complete问题的定义,我们可以看出,要证明一个问题是NP-complete的,那么,需要证明如下两点:
证明它是个NP问题
更具体一点,对于给定的问题 C