P类问题、NP类问题、NPC问题、NP难问题
- P类问题:能在多项式时间内可解的问题。
- NP类问题:在多项式时间内“可验证”的问题。也就是说,不能判定这个问题到底有没有解,而是猜测出一个解来在多项式时间内证明这个解是否正确。即该问题的猜测过程是不确定的,而对其某一个解的验证则能够在多项式时间内完成。P类问题属于NP类问题,但NP类问题不一定属于P类问题。
- NPC问题:存在这样一个NP问题,所有的NP问题都可以约化成它。换句话说,这要解决了这个问题,那么所有的NP问题都解决了。其定义要满足两个条件:
- NP难问题:NP-Hard问题是这样一种问题,它满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比NPC问题的范围广,NP-Hard问题没有限定属于NP),即所有的NP问题都能约化到它,但是它不一定是一个NP问题。NP-Hard问题同样难以找到多项式级的算法,但它不列入我们的研究范围,因为它不一定是NP问题。即使NPC问题发现了多项式级的算法,NP-Hard问题有可能仍然无法得到多项式级的算法。事实上,由于NP-Hard放宽了限定条件,它将有可能比所有的NPC问题的时间复杂度更高从而更难以解决。

相关文章: