图和部分内容转自http://www.cnblogs.com/jpcflyer/archive/2012/04/15/2450622.html
一、相关概念
P: 能在多项式时间内解决的问题
NP: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题
NPC: NP完全问题,
1)这类问题中任何一个问题至今未找到多项式时间算法;
2)如果这类问题中的一个问题存在多项式时间算法,那么这类问题都有多项式时间算法;
这一类问题中的每一个问题称为NP完全问题,这个问题的集合简记为NPC。所有NP问题在多项式时间内都能约化(Reducibility)到它的NP问题,即解决了此NPC问题,所有NP问题也都得到解决。
还可以细分为两类:1)虽然没有找到多项式时间算法,但存在一个算法,它的复杂度关于实例规模和实例的所有参数中绝对值最大数是成多项式关系的,这样的算法称为问题的一个伪多项式时间算法。
2)除去1)的问题更难,被称为强NPC问题
NP hard:NP难问题,所有NP问题在多项式时间内都能约化(Reducibility)到它的问题(不一定是NP问题)。
二、四者联系