第9章 NP完全理论
- 格式:ppt
- 大小:403.00 KB
- 文档页数:34
NP完全的问题一个NP-完全的问题具有如下性质:它可以在多项式时间内求解,当且仅当所有的其他的NP-完全问题也可以在多项式时间内求解。
P是所有可在多项式时间内用确定算法求解的判定问题的集合。
NP 问题是所有可用多项式时间算法验证其猜测准确性的问题的集合。
令L1和L2是两个问题,如果有一确定的多项式时间算法求解L1,而这个算法使用了一个在多项式时间内求解L2的确定算法,则称L1约化为L2。
如果可满足性约化为一个问题L,则称L问题是NP-难度的。
如果L是NP难度的且L(-NP,则称L是NP-完全的。
NP并不是NON-POL YNOMIAL,把NP说成是NON-POL YNOMIAL,是望文生义,读书不求甚解。
事实上,如果你能够证明某个NP问题是个NON-POL YNOMIAL的问题,你就可以去领那七个百万美元数学大奖中间的一个了。
数学上著名的NP问题,完整的叫法是NP完全问题,也即“NP COMPLETE”问题,简单的写法,是NP=P?的问题。
问题就在这个问号上,到底是NP等于P,还是NP不等于P。
证明其中之一,便可以拿百万美元大奖。
这个奖还没有人拿到,也就是说,NP 问题到底是Polynomial,还是Non-Polynomial,尚无定论。
NP里面的N,不是Non-Polynomial的N,是Non- Deterministic,P代表Polynomial倒是对的。
NP就是Non-deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。
如果一个判定性问题的复杂度是该问题的一个实例规模n的多项式函数,则这种可以在多项式时间内解决的判定性问题属于P类问题。
P类问题就是所有复杂度为多项式时间的问题的集合。
通俗地称所有复杂度为多项式时间的问题为易解的问题类,否则为难解的问题。
有些问题很难找到多项式时间的算法(或许根本不存在),例如“找出无向图中哈米尔顿回路”问题。
但如果给了该问题的一个答案,可以在多项式时间内判断这个答案是否正确。
第八章NP-完全问题§ 1关于问题及算法的描述为了应用算法复杂性理论,首先要对问题、问题的一般描述、计算模型、算法、算法的复杂性给出严格的定义。
但在给出精确定义之前,我们先回顾一下有关概念的粗略解释。
所谓一个问题(problem)是指一个有待回答、通常含有几个取值还未确定的自由变量的一个一般性提问(question)。
它由两部分构成:一是对其关于参数的一般性描述;二是对该问题的答案所应满足的某些特性的说明。
而一个问题的某个实例则可通过指定问题中所有参数的具体取值来得到。
以下用二表示某个问题,用〔表示其实例。
旅行商问题的参数是由所需访问城市的一个有限集合C二{Ci,G,…,Cm}和C中每对城市C i ,C j之间的距离d(C i,C j)所组成。
它的一个解是对所给城市的一个排序,CC(2) J H使得该排序极小化下面表达式(目标函数)的值C 二(i T) )d(C 二(m)旅行商问题的一个实例是通过指定城市的数目,并指定每两个城市之间的具体距离而得到的。
例如:C「GGGS,d(C l,C2)"°,d(C l,C3)2d(C l,C4)Td(C2,C3)=6,d(C2,C4)=9,d(C3,C4)=3就是旅行商问题的一个实例,这个实例的一个最优解是排序G,C3,C4,C2,因为四个城市的这个排序所对应旅行路线是所有可能环游路线中长度最小的,其长度为27。
目前广泛采用的描述问题的方法主要有两种:一是将任一问题转化为所谓的可行性检验问题(feasibility problem);二是把问题转化为判定问题(decision problem)。
实际中几乎所有问题都可直接或间接地转述为判定问题。
判定问题是答案只有“是”与“非”两种可能的问题。
一个判定问题二可简单地由其所有例子的集合D二与答案为“是”的例子所构成的子集Y D二来刻画。
不过,为了反映实际问题所具有的特性,通常所采用的描述方法由两部分组成。