P、NP、NPC、NPH问题介绍

  • 几者的关系:

  • P类问题

    • 在多项式时间内可以解决的问题

  • NP问题

    • 针对一个答案在多项式时间内判断正确性的问题。因为验证一个答案的时间一定不大于解决问题的时间,所以P类问题是NP问题的子集

  • 要搞明白NPC和NPH问题,要先明白规约的概念

  • 规约

    • 通俗地讲,问题A能够用问题B的方法解决,那么A可以规约成B(A是B的一种类型)。类似于求解一元一次方程和求解一元二次方程的关系,前者可以规约成后者。可以看出,后者比前者的难度更大、复杂度更高、使用范围更广。

  • NPC问题:

    • NPC问题满足两个条件:首先,是NP问题;其次,任意NP问题可以在多项式时间内规约为这个问题。

    • 提出NPC问题是为了将所有的NP问题总结(规约)成一个NPC问题,只要解决这个NPC问题,就可以得到解决所有NP问题的通用做法,比如可以将NP问题看做求解一元一次方程,NPC问题看做求解一元二次方程,前者可以看做后者的一个特殊类型,而只要解决了后者,前者就可以解决(套一元二次解的公式)。

    • NPC问题是NP问题的标准形式,一般NP问题是NPC问题的特殊类型。因为规约的原因,NPC问题是NP问题中最难的,想要找到多项式时间内的算法十分困难。

    • 如果找到多项式时间内的NPC问题的算法,那么就可以证明NP=P。

  • NPH问题

    • 满足NPC问题的第二个条件(即任意NP问题可以在多项式时间内规约成该问题)。

    • NPC问题是NP问题和NPH问题的交集。NPH问题的难度不低于NPC问题。

  • 参考资料

 

  

posted @   _lyl  阅读(1392)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示