算法系列博客之NPC问题
我们已经学习了很多高效的算法,它们大多都是多项式时间的,有的还能达到线性时间,甚至是对数时间。但是到目前为止,仍然有一批问题没有被证明有多项式时间内的算法;所谓没有被证明,即是说明理论上并不能说明它有或者没有多项式时间算法,但是至今为止都没有找到。
下面就要针对这类问题进行定义研究。
P问题,polynomial指能够在多项式时间内进行求解的问题;
NP问题,nondeterministic polynomial,非确定性多项式,即任意一个可能解的正确性判定能够在多项式时间之内完成;
NP难问题,即如果一个NP难问题有多项式时间的求解方案,那么任意NP问题都能够有多项式时间的求解方案;
NP完全问题,即既是NP难问题,又是NP问题的一类问题。
经过以上的定义,由于NP难问题的多项式时间解决方案能使得所有NP问题得到多项式时间的解决方案,且NP完全问题是NP难得一个更小的子集,所以我们可以抛开理论,近似认为如果一个问题属于NP完全问题,那么这个问题目前为止可以被认定为不具备多项式时间解决方案的问题。
证明一个问题是NPC问题,第一部