NP-hard问题:比NPC更难,通常在多项式时间内无法验证一个解的正确性。几个复杂度的区别可以看NPC介绍。
常见证明
我们要证明一个问题A是NP-hard问题一般可以分为两步:
1) 对问题A给定限制条件得到一个特例B问题
2)证明问题B是NPC问题。
以下罗列四个较直观简单的例子:
- Dense Induced Subgraph
问题:给定图 G G G,正整数 k k k和 l l l,是否存在 k k k个点的生成子图包含最少 l l l条边。
证明:令 l = C k 2 l=C_k^2 l=Ck2,那么该问题变成Clique问题(NPC问题)
解释: k k k个点的完全子图最多的边包含 C