P NP NPC NP-hard问题的区别

来源:互联网 发布:linux启动oracle应用 编辑:程序博客网 时间:2024/05/22 06:49

P问题:能找到一个算法在多项式时间解决的问题叫P问题。


NP问题:经常有人把NP问题作为P问题的补集,这种看法是错误的。NP问题指的是在多项式时间内能验证一个解是不是正确的。那么显然,P问题在多项式时间内能得到正确的解,当然也就能验证一个解是否正确,所以P问题是属于NP问题的一部分。


NPC问题:论文当中经常提及NPC问题,中文叫NP完全问题。已知的NPC问题可以归约到当前问题,那么当前问题也是NPC问题。比如A归约到B,指的就是A的复杂度小于B,那么A是NPC问题,那么B肯定就是NPC问题。这是当前证明一个问题是NPC的问题的常用方法。直观上来说,NPC是NP当中最难的一类问题,而且任何一个NPC问题找到了多项式可解的方法,那么其他NPC问题也可以在多项式时间内解出。当然这必须满足一个大前提,NPC问题必须在多项式时间内能验证一个解的正确性。


NP-hard问题:比NPC更加难的问题。NP-hard没有NP问题的要求。即可能不存在多项式时间内不能验证一个解的正确性。

0 0
原创粉丝点击