一、P问题
能找到一个时间复杂度为多项式时间的算法的问题
二、NP问题
能在多项式时间内验证问题的一个解是否正确,即:非确定性多项式问题(nondeterministic polynomial)
三、NPC问题
归约的概念
如果问题A的输入能够在多项式时间内转化为问题B的输入,并且最后得到相同的结果,且问题B难于问题A,则称问题A可以归约(reducibility)到问题B。
NPC问题定义
如果问题Q满足两个条件:
①Q是NP问题
②任何NP问题都可以归约到Q
则称:Q为NPC问题。
也就是说,NPC问题是最难的NP问题
四、NPH问题
如果问题H满足NPC条件中的第二条,即满足任何NP问题都可以归约到H,但不一定满足第一条,那么称H是NP-hard问题,简称NPH问题。
五、联系与区别
①P问题必定是NP问题,但现目前还无法证明NP问题是否是P问题
②NPC问题必定是NP问题,是最难的NP问题
③NPC问题也必定是NPH问题
④NPH问题不一定是NP问题
用图形表示他们的关系如下: