简单理解 NP, P, NP-complete和NP-Hard


P是一类可以通过确定性图灵机(以下简称 图灵机)在多项式时间( Polynomial time)内解决的问题集合。
NP是一类可以通过非确定性图灵机(  Non-deterministic Turing Machine)在多项式时间( Polynomial time)内解决的决策问题集合。
PNP的子集,也就是说任何可以被图灵机在多项式时间内解决的问题都可以被非确定性的图灵机解决。
 
接下来说说 NP 里最难得问题 NP-complete
其定义如下,
如果一个决策问题 L 是 NP-complete的,那么L具备以下两个性质:
1) L  是 NP(给定一个解决 NP-complete的方案(solution,感兴趣的读者可以思考一下solution 和 answer的区别),可以很快验证是否可行,但不存在已知高效的方案 。)
2) NP里的任何问题可以在多项式时间内转为 L。
 
NP-Hard只需要具备 NP-complete的第二个性质,因此 NP-completeNP-Hard的子集。
这四者的关系如下图(假设P!=NP):
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM