1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > P NP NP-hard NPC问题超简单理解

P NP NP-hard NPC问题超简单理解

时间:2022-04-03 06:32:21

相关推荐

P NP NP-hard NPC问题超简单理解

查了好多资料,现在网上的资料都不说人话,简单的问题故意写得让别人看懂不以显示自己的水平很高深?真正的大师难道不是把复杂问题说得很简单的人?把简单问题说得让别人看不懂显得自己很高深的就是煞笔。

多项式定义:就是一元N次方式,时间复杂度为多项式的问题都很容易解出来

各类问题关系图:(结合以下文字说明看)

问题定义:

P问题:一个问题可以在多项式(O(n^k))的时间复杂度内解决(简单的问题);

例如:n个数的排序问题(不超过O(n^2))

NP问题:一个问题的解可以在多项式的时间内被证实或证伪,即给出一个答案,可以很快地(在多项式时间内)验证这个答案是对的还是错的,但是不一定能在多项式时间求出正确的解;

例如:背包客问题,任何一条路线方案都可以很快地被计算代价,但是无法在多项式时间内求出最优解。

NP-hard问题:假设存在这样一个问题,1)任意np问题都可以在多项式时间内归约为该问题;2)解决了该问题就解决了NP问题;这个问题就是NP-hard问题;

即为了解决问题A,先将问题A归约为另一个问题B,解决问题B同时也间接解决了问题A。问题B就是一个NP-hard问题;

范围:无多项式时间求解算法且不一定能在多项式时间内验证解的问题

例如,停机问题。

NPC问题:**理解一:**如果存在一个问题可以在多项式时间内验证解的正确性,其他问题也可以归约为该问题,解决了该问题就解决了NP问题,该问题就是NPC问题。

理解二:存在这样一个NP问题,所有的NP问题都可以约化成它。换句话说,只要解决了这个问题,那么所有的NP问题都解决了。其定义要满足2个条件:1)首先,它得是一个NP问题;2)然后,所有的NP问题都可以约化到它。

要证明npc问题的思路就是:

先证明它至少是一个NP问题,再证明其中一个已知的NPC问题能约化到它。

范围:NPC问题既是NP问题,也是NP-hard问题。

例如,SAT问题(第一个NPC问题)。该问题的基本意思是,给定一系列布尔变量以及它的约束集,是否存在一个解使得它的输出为真。

参考文献:

1./qq_21768483/article/details/80430590

2./question/27039635

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。