知识点:多项式时间、P和NP、OPT、近似比、紧实例、顶点覆盖问题、上界、下界
(1)多项式时间:类似于O(1),O(log(n)),O(n^a)这些的规模n出现在底数的位置
(2)非多项式时间:类似于O(a^n)和O(n!)这些是非多项式级的,其复杂度计算机往往不能承受
(3)P和NP
1.P类问题:能在多项式时间内可解的问题。
2.NP类问题:在多项式时间内“可验证”的问题。也就是说,不能判定这个问题到底有没有解,而是猜出一个解来在多项式时间内证明这个解是否正确。P类问题属于NP问题,但NP类问题不一定属于P类问题。
3.NPC问题:①是一个NP问题②所有的NP问题都可以约化成它。换句话说,只要解决了这个问题,那么所有的NP问题都解决了。 4.NP-hard问题:满足NPC问题的第2条
上述四类问题的关系大致可用下图表示
(4)OPTπ(I):表示实例I的最优解的目标函数值,当不存在歧义时把它简写为OPT
(5)近似比:
以最小顶点覆盖问题为例:
如右上图中的红点为MVC所选的点,举个例子:
上图为MVC所得的顶点集,但显然并不是最优集,最优集应为下图
算法分析:在MVC中,若选取k条互不关联的边,那么V’=2k
在OPT中,若选取k条互不关联的边,那么V'至少为k
所以,近似比=MVC/OPT≤2(注意此处为上界)
再来考虑近似比的下界:
显然,MVC=2k,OPT=k
该情况为最坏情况,而最坏情况下的近似比=MVC/OPT=2(此处为下界)
综上所述,MVC的近似比不会小于2,所以我们称MVC是2-近似算法
我来谈一点我对近似比这个概念的理解:我认为近似解不是最接近OPT的那个解,只是因为这个问题找不到算法来求最优解,那么只好找出一个算法近似地找最优解,这也就是近似解
近似解的估计上界:最优值与近似解的值之间的关系,又被称为紧实例;
近似解的估计下界:构造使算法产生最坏的解的实例。
若这个解的值与最优值的比(最小化)达到或可以任意接近近似比的上界(紧实例),那么我们称该近似比已经是最好的了