NP完全理论
P,NP,NPC,NP-HARD
- P问题:多项式时间内可解
- NP问题:多项式时间内可构造并验证解
- NPC问题:任何NP问题都可以在多项式时间被归约到此问题,并且可以在多项式时间内构造并验证此问题的解(同时属于NP与NP-hrad)
- NP-hard问题:任何NP问题都可以在多项式时间被归约到此问题
优化与判定问题:
- 最大团->是否存在大小为k的团
- 背包问题->是否能够在不超过容量C的前提下,装入物品总价值大于等于k
归约
- 将P归约到Q,记为 P ≤ p Q P\le_{p}Q P≤pQ:此时Q更难
- 注:
难度不是具体算法的时间复杂度
- 在NPC问题的证明中,只有
多项式时间的归约
才有意义
NPC问题的证明
-
证明Q是NPC的思路:
- 证明Q是NP的,即多项式时间内构造一个解并完成验证
- 证明Q是NP-Hard的,即证明任何NP问题都可以在多项式时间内归约到Q,通常的手段是将一个已知NPC问题P在多项式时间内归约到Q
- 综上Q即是NP,又是NP-Hard,所以Q是NPC
-
P问题:存不存在一种划分X-Y,使得 ∑ X = ∑ Y \sum X=\sum Y ∑X=∑Y
Q问题:背包问题的判