P问题,NP问题,NPC问题,NPH问题

P问题

定义:有确定的多项式时间解的问题

例子:已知n个物品的重量,计算重量和(O(n))

NP问题

定义:不确定是否有多项式时间的求解算法,但能经过多项式时间验证一个解的正确性的算法

例子:已知n个物品的重量,是否存在重量>a的组合

可以通过多项式时间步骤验证某一个解的正确性,譬如n1 = 1kg, n2 = 2kg, n4 = 3kg,a = 5,此时我们可以验证n1,n2,n4组合是否为问题的可行解

NPC问题

定义:所有的NP问题都能在多项式时间内约化为同一个NP(0)问题,这个NP(0)问题就是NPC问题

约化:A约化为B意为可以用解决B的方法解决A。例如当你会解二元一次方程,你一定会解一元一次方程。此时就可以说“求解一元一次方程”可以“约化为求解二元一次方程”

约化具有传递性,所以证明一个问题是NP问题,再证明一个已知的NPC(0)问题能够约化到此NP问题,即证明了此问题是NPC问题

  • NPC(0):经过极其复杂的证明,人类已近找到一个最基础的NPC问题(逻辑门问题)。而证明逻辑门问题能够约化成为某个NP问题,又需要及其复杂的证明,所以此处我们不加入具体例子。

NPH问题

定义:所有NP问题都能在多项式时间内约化成此问题,但此问题本身可能并不是NP问题

“并不是NP问题”:不能经过多项式时间求解

  • 例子:已知n个物品的重量,是否不存在重量大>a的组合

•     (我们不能通过多项式时间验证某一个解的正确性,此问题就不是NP问题)

所有NP问题可约化为此问题”

  • 上述例子和NP问题的例子非常的相似,我们可以粗略的理解到“NP问题约化成为一个不是NP问题的问题”这种可能性的确存在,即“A问题是NPH问题但不是NPC问题可能存在”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值