P问题,NP问题,NP完全问题,NP-hard问题
P问题
多项式时间可求解的问题,例如利用分治,贪心算法等能够求解的问题都是P问题。结果是positive的
NP问题
多项式时间可验证的问题。即这类问题可以被一个多项式时间的算法验证。
NPC问题(NP-Complete)
至今没有多项式时间算法可以解决它,结果是negative的
为了更好理解NPC问题,引入多项式规约(Polynomial Reductions)的概念
多项式规约
-
问题A多项式规约至B,记作A ≤p B (A,B皆视作问题集合)
-
如果问题A中的任何实例α都可以被转化为B中的一个实例β,且满足以下特征:
1.这个转化算法为多项式时间算法 2.α的结果为yes当且仅当β的结果为yes
-
如果问题B是多项式时间可解的,那么问题A也是多项式时间可解的
-
如果问题A不是多项式时间可解的,那么问题B也不是多项式时间可解的
用集合来理解,问题A问题B都为集合,那么有:
即B中存在一个子集,使得子集里的实例可与A中实例一一对应。
用优化性问题与判断性问题来理解:
优化性问题常常可以简化成判断性问题来