P、NP、NP完全问题、NP难问题

可以在多项式时间内求解的问题称为易解的,而不能在多项式时间内求解的问题称为难解的。

P类问题:多项式类型,是一类能够用(确定性的)算法在多项式的时间内求解的判定问题。

只有判定问题才属于P

不可判定问题:某些判定问题是不能用任何算法求解的,则称这种判定问题为不可判定问题。否则就称作可判定问题。

例如:Halting problem(停机问题):给定一段计算机程序和他的一个输入,判断该程序对于该输入是会中止还是会无限的运行。

证明停机问题是不可判定问题:反证法,通过构造一个输出和解决停机问题的算法的输出相反的程序使得自己陷入矛盾。

不确定算法:对于判定问题,猜测一个解,并且可以判断这个解是否是正确的解的算法。

如果一个不确定算法在验证阶段的时间效率是多项式级的,我们说它是不确定多项式类型的。

NP类问题:可以用不确定多项式算法求解的判定问题。

大多数判定问题都是属于NP类的。

  • 所有的P类问题都是NP问题
  • 停机问题是不属于NP的判定问题

未解之谜:P类问题是NP问题的一个真子集还是P类问题其实就是NP问题

多项式化简:可以使用一个多项式算法将一个判定问题的真实例转化为另一个判定问题的真实例,假实例转化为假实例。

NP完全(complete)问题

  • 属于NP类型
  • NP中的任何问题都能够在多项式时间内化简为该问题

例如:合取范式可满足性问题就是一个NP完全问题。

NP完全性的定义意味着:即使我们仅仅得到了一个NP完全问题的多项式确定算法,也说明所有的NP问题都能够用一个确定算法在多项式的时间内解出,即P=NP。

NP难(hard)问题

  • NP中的任何问题都能够在多项式时间内化简为该问题
  • 不一定是NP问题,因此NPH比NPC的范围广
    在这里插入图片描述
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值