代码改变世界

对于NPC问题的理解

2022-07-31 09:47  没有波澜的天空  阅读(1472)  评论(0编辑  收藏  举报

本文仅仅想理清楚一些基本概念:

 

1、P问题( Polynomial问题):可以在多项式时间内求解的问题

 

2、NP问题(Nondeterministic Polynomially问题,即非确定性多项式问题,注意:并不是非多项式问题): 可以在多项式时间内验证一个解是否正确的问题
可以证明:如果一个问题是P类问题,它一定是NP问题;
 
3、非NP问题,不能在多项式时间内验证的问题
 
4、NPC问题
首先介绍归约的概念: 如果A问题可以在多项式时间内转化为B问题,就是说A可归约为B;
 
一个问题是NPC问题需要满足两个条件
(1)它得是一个NP问题
(2)所有的NP问题都可以约化到它
 
5、NPC问题
只满足NPC问题的条件(2)
 
6、P/NP问题
P/NP问题是指世界七大数学难题之一,指P=NP是否成立,或者简要表述为P=NP?
上面已经说明P问题一定是NP问题,现在不能证明的是NP问题一定是P问题。
因为NPC问题的存在,现在普遍倾向于P=NP不成立
 
7、关系图
如果P=NP不成立,那么各类问题的关系图如下:
 
 

当然,以上并不能包含所有问题,除此以外的是非NP问题,而且是非NP hard问题