P,NP,NP-hard,NPC

本文介绍了算法复杂度中的P、NP、NP-hard和NPC概念。P问题拥有确定性多项式时间解,而NP问题允许非确定性多项式时间解。尽管NP包含P,但NP是否等于P尚未被证明。NP-hard问题至少与所有NP问题同样难,而NPC问题既是NP-hard又是NP的一部分,解决NPC问题意味着能解决所有NP问题。
摘要由CSDN通过智能技术生成

P问题是一类问题,它们可以找到一个多项式复杂度的确定性算法。
这意味着,在给定有限的资源(计算机)内,资源运用该算法能在多项式时间内得到问题的正确解。

NP问题要比P问题更加广泛,它定义为一类问题,它们可以找到多项式复杂度的非确定算法。
P属于NP,即如果一个问题可以找到多项式复杂度的确定性算法,那一定有多项式复杂度的非确定性算法。
然而NP属于P却并没有证明,因为对于一个NP问题,我们只是找不到一个多项式复杂度的确定性算法,但并不能说一定不存在。
当然这也就是说NP=P尚未被证明。

NP问题通常要比P问题难,它意味着有限的资源内找不到一个算法能在多项式时间内解决。
于是在理论上把资源扩充到需要多少有多少。采用这样一种办法,用某种技术一步步地猜测,最后检验猜测结果,看是否是符合条件的正确解。
由于这种办法是猜出来的,因此每次运行过程都存在随机性,并且由于资源数也是不确定的,因此这种办法叫做非确定性算法。这种算法要对猜测的

最终结果进行检验,看是否符合,就是判断yes或no的问题。因此非确定性算法是决策性问题(decision problem)。
非确定算法的过程中每一步猜测都可能有许多种可能,正是由于可能性太多,因此确定性算法在多项式复杂度内完成才变得困难。然而非确定算法是

在有无限多资源的基础上的,因此在每一步的猜测上,可以分配有可能性个数那么多的计算机来同时计算,因此每次猜测时间代价就是1.然后再继续

进行下一步,每种可能性下又分出许多可能性,由于资源足够分配,得到结果又只用时间代价1.算法的运行过程可以用树的形

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值