先引出话题:大家还记得世纪之问吗?究竟是不是所有的NP问题都是P问题?
那么,什么是
P
P
P问题,什么是
N
P
NP
NP问题,什么是
N
P
C
NPC
NPC问题,而什么是
N
P
−
H
a
r
d
NP-Hard
NP−Hard问题呢?
下面,来介绍一下
P
P
P,
N
P
NP
NP问题,
N
P
C
NPC
NPC,
N
P
−
H
a
r
d
NP-Hard
NP−Hard问题:
1.
P
P
P问题:
P
P
P 问题指的是在规定的时间复杂度内能够解决的问题,for example 计算a+b,背包问题,高斯消元法求线性方程。
2.
N
P
NP
NP问题:
N
P
NP
NP问题指的是在规定时间内能够验证答案对或者错的问题
大数分解问题,填字问题等等。
并且,强调一下,所有的
P
P
P问题都在规定的时间复杂度内可以被解决,即所有的
P
P
P问题都是NP问题!!!
3.
N
P
C
NPC
NPC问题:
N
P
C
NPC
NPC问题是
N
P
NP
NP问题的进阶,是“万恶之源”。几乎可以这样说:所有的
N
P
NP
NP问题都由
N
P
C
NPC
NPC问题转化而来,而这个“万恶之源”不止一个,有好多个,它们与
N
P
NP
NP问题在一起,构造成了邪恶的经纬网。
一般来说
N
P
C
NPC
NPC问题应该满足两个条件:
‘’‘(1)是
N
P
NP
NP问题。
‘’’(2)可以转化成普通
N
P
NP
NP问题。
一句话概括即
N
P
C
ϵ
N
P
NPC \epsilon NP
NPCϵNP。
举个典型例子:旅行商问题。
4.
N
P
−
H
a
r
d
NP-Hard
NP−Hard问题
N
P
−
H
a
r
d
NP-Hard
NP−Hard问题可以被很抽象地理解为若该问题解决了,那么所有
N
P
NP
NP问题都解决了,甚至,可以被很暴力的理解为比所有NP问题都要难的问题。
举个例子:数字分区问题。
那么
P
P
P,
N
P
NP
NP问题,
N
P
C
NPC
NPC,
N
P
−
H
a
r
d
NP-Hard
NP−Hard问题之间有什么联系呢?
今天看来,这四个问题有如下关系:
但若本世纪,有一位巨佬经过证明,得到
P
=
N
P
P=NP
P=NP,那么这四者的关系如下图所示:
当然在现在,考试时应当按照第一个图来答题,千万不能标新立异!
P,NP,NPC,NP-Hard问题
最新推荐文章于 2024-11-13 17:54:23 发布
本文介绍了P问题、NP问题、NPC问题和NP-Hard问题的概念。P问题指能在规定时间复杂度内解决的问题,NP问题能快速验证答案,NPC问题为NP问题的进阶且能转化为普通NP问题,如旅行商问题。NP-Hard问题比NP问题更难,解决它意味着解决所有NP问题。目前P是否等于NP仍是未解难题。
摘要由CSDN通过智能技术生成