特例
假设我们要针对约简R的概念显示L_1 \ leq_R L_2。如果L_1是一个特例的L_2,那是相当的简单:我们基本上可以使用标识功能。这背后的直觉很明显:一般情况至少与特殊情况一样困难。大号1个≤[R大号2[R大号1个大号2
在“实践”中,我们被赋予,并被困在选择一个好的还原伙伴的问题上,即找到一个已证明是 hard 的的特例。L 1 L 2 RL2L1L2R
简单的例子
假设我们想证明KNAPSACK是NP困难的。幸运的是,我们知道SUBSET-SUM是NP完整的,的确是KNAPSACK的特例。减少
f(A,k)=(A,(1,…,1),k,|A|)
足够 是KNAPSACK实例,它询问我们是否可以用项目值获得至少值,以使的相应权重总计始终低于。我们不需要权重限制来模拟SUBSET-SUM,因此只需将它们设置为重言式值即可。v V W w(V,W,v,w)vVWw
简单运动问题
考虑一下MAX-3SAT问题:给定命题公式和整数,确定是否存在的解释至少满足子句。证明它是NP难的。ķ φ ķφkφk
3SAT是一种特例;其中的子句数。米φf(φ)=(φ,m)mφ
例
假设我们正在调查SUBSET-SUM问题,并想证明它是NP困难的。
我们很幸运,并且知道PARTITION问题是NP完全的。我们确认这确实是SUBSET-SUM的特例,并制定
f(A)={(A,12∑a∈Aa)(A,1+∑a∈A|a|),∑a∈Aamod2=0,else
其中是PARTITION的输入集,而是SUBSET-SUM的实例,该实例要求的子集求和为。在这里,我们必须注意没有拟合;在这种情况下,我们给出一个不可行的实例。(A ,k )A k kA(A,k)Akk
运动问题
考虑的问题最长路径:给定一个有向图,节点的和整数,决定是否有从一个简单的路径到在至少长度的。š ,吨ģ ķ 小号吨ģ ķGs,tGkstGk
证明LONGEST-PATH是NP-hard。
HAMILTON-CYCLE是一个众所周知的NP完全问题,是LONGEST-PATH的特例。为任意节点在就足够了。
请特别注意从HAMILTON-PATH进行还原需要更多的工作。v Gf(G)=(G,v,v,n)vG