第八章NP完全性理论
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
显 是然 否, 有因 P≠为NPD?真TM的即这N是如D否个T此M有尚吗,未Q所?解N以决P,P的且问NQP题。。P?
5/6/2020
计算机算法设计与分析
17
问题的变换及时间等价性
若问题A的求解能够变换成问题B的求解且变 换的时间为O(τ(n)),则称A是τ(n)时间变换为B, 简记为A∝τ(n)B,其中n为问题A的规模。
通这用个图三林带机图将林某机个就图被林称机为M通i的用编图码林存机储。在编码 带上;工作带上初始时为初始状态q0;然后依 据状态及现行扫描的符号选择并执行编码。
5/6/2020
计算机算法设计与分析
10
用RAM模拟TM
定理8-3:设算法A,对于任何长度为n的输入, 在图林机TM下的时间复杂性为T(n),则A在 RAM下的时间复杂性为O(T2(n))。
的任何问题容易,至少是同样难或更难。
5/6/2020
计算机算法设计与分析
20
NP完全性
定义:对于问题Q,若满足Q∈NP且Q是NP困 难的,则称Q是NP完全的。
所有NP完全的问题记为NPC。 定理:设Q∈NPC,P=NP当且仅当Q∈P。 如果P≠NP,则P,NP与NPC或许如下图所示:
P NP NPC
…… 输入带
磁头
有限 控制器
输入带被视为右无穷,并被划分为一个个 单元用于存放符号(带符号)。 有限控制器由有限个状态构成。
磁头可左右移动,读写带符号。
5/6/2020
计算机算法设计与分析
7
TM的数学描述
M = (Q, T, I, δ, b, q0, qf )
其中: Q是有限状态的集合; T是有限个带符号的集合; I T,是输入符号的集合; δ:Q×T→Q×T×{L, R}为转移函数; b是唯一的空白符,b∈T – I; q0和qf分别为初始状态和终止状态。
希望能按计算的难度将问题分为两类:
P类问题:多项式时间计算的问题。 NP类问题:非多项式时间计算的问题 。
5/6/2020
计算机算法设计与分析
15
确定的图林机与不确定图林机
NDTM是一种并行的工作方式,它可以用交叉 串行的确定方式来模拟。因此任何NDTM都可 以用DTM来模拟实现,但其复杂性却不相同。
5/6/2020
计算机算法设计与分析
5
RAM的变形与简化
(1)实随机存取机RRAM; (2)直线式程序; (3)位式计算; (4)位向量计算; (5)判定数; (6)代数计算树ACT; (7)代数判定树。
5/6/2020
计算机算法设计与分析
6
图林机的构造
图林机(Turing Machine)是英国数学家Turing在 1936年提出的计算模型,被认为是当今计算机 的理论模型。下面是图林机(TM)原型的构造:
表 可 是 列这 憾达 满 一 转一 的式 足 个 换事 是A的 构 为实 ,i都。 造 一, 这为证个增个真S明强猜A,了测T问则即人迄题称将们今。布接对仍尔受然P≠表L还N的达P只的N式是D猜AT个测1M,猜…。的测,但瞬A。遗象m是序
5/6/2020
计算机算法设计与分析
22
若干NP完全问题
5/6/2020
计算机算法设计与分析
19
多项式归结与NP困难
多项式归结显然有如下两个性质: (1) A∝B且B∈P,则A∈P。 (2) 若A∝B且B∝C,则A∝C。 定义:对于问题Q,如果任意问题Qi∈NP,都
有Qi∝Q,则称问题Q是NP困难的。 所谓NP困难的问题,是指该问题不会比NP中
5/6/2020
操作数
指令含义
=i / i / *i
取操作数入累加器
i / *i
将累加器中数存入内存
=i / i / *i
加法运算
=i / i / *i
减法运算
=i / i / *i
乘法运算
=i / i / *i
除法运算
i / *i
读入
=i / i / *i
输出
标号
无条件转移到标号语句
标号
正转移到标号语句
若A∝τ(n)B,设A和B的计算时间分别为TA(n) 和TB(n),则 TA(n) = τ(n) + TB(n)
命题1 (计算时间下界归约) :若TA(n)为A的计 算时间下界,则B的计算时间TB(n)的下界为: Ω(TB(n)) = TA(n) – O(τ(n))
命题1 (计算时间上界归约) :若TB(n)为B的计 算时间上界,则A的计算时间TA(n)的上界为: O(TA(n)) = TB(n) + O(τ(n))
标号
零转移到标号语句
停机
计算机算法设计与分析
3
RAM机的复杂性标准
均匀耗费标准 每条RAM指令需要一个单位时间,每个寄存器 占用一个单位空间。
对数耗费标准 RAM指令的执行时间与操作数的长度的对数成 比例,一个寄存器可放一个任意大小的整数。
若每个操作数不超过一个机器字,则用均匀耗 费标准是合理的,否则适用对数耗费标准。
注意在均匀耗费标准下这个关系不成立。TM 模拟RAM的时间复杂性可能是指数的关系。
因为TM模型比较原始,所以在大多数情况下 采用RAM模型。
若算法在RAM模型下的复杂性为多项式,则也 就认为其在TM模型下的复杂性为多项式。
5/6/2020
计算机算法设计与分析
13
可计算性问题的层次
若某问题存在求解的算法,则称其为可计算的; 若不存在算法但是存在求解的过程,则称其为 半可计算的;若连过程也不存在,则称其为完 全不可计算的。
11
用TM模拟RAM
定理8-4:设算法A,对于任何长度为n的输入, 按对数耗费标准在RAM下的时间复杂性为T(n), 则A在TM下的时间复杂性为O(T2(n))。
证明:用一个五带TM模拟RAM的工作,
T其M中模:拟RAM除乘/除法外的指令的时间为常数, 查找带寄1存用器<地的址时,间内为容n>,的整形个式时存间放为寄O存(T器2(n;))。
5/6/2020
计算机算法设计与分析
4
随机存取存储程序机RASP
RASP与RAM的区别在于(1)RASP的程序存储 在内存并且可以修改自身;(2)RASP不允许间 接寻址,它通过修改指令模拟间接寻址。
RASP的指令集见P-238的表8-6。
RASP更加接近冯·诺伊曼体系结构。
无论是采用均匀耗费标准还是对数耗费标准, 在相差一个常数因子的意义下,RAM与RASP 是等价的。
P类与NP类语言/问题
P = {L | L在多项式时间被DTM接受}
NP = {L | L在多项式时间被NDTM接受}
这 若里 Q∈也N可P用,R则A可M以等用其一它个的D机T器M来模模型拟来接定受义Q。的但 它 ND们T都M,是所等需价要的时。间复杂性为O(CT(n))。
这使人们认为NP类问题要比P类问题更难。
第八章
NP完全性理论
5/6/2020
计算机算法设计与分析
1
随机存取机RAM的构造
指令 计数器
5/6/2020
… 只读输入带
程序存储部件
r0 r1 r2
…
累加器
内存储器
… 只写输出带
计算机算法设计与分析
2
随机存取机RAM的指令集
操作码 ⑴LOAD ⑵STORE ⑶ADD ⑷SUB ⑸MULT ⑹DIV ⑺READ ⑻WRITE ⑼JUMP ⑽JGTZ ⑾JZERO ⑿HALT
完可 称全计 为不算 递可的 归计算问 可题枚的举集集合;称完为全半递不可计归可算集计; 算半 的可称计为算非的递 归可枚举集。
可计算的问题的计算复杂性可是计不算是都相同呢?
5/6/2020
计算机算法设计与分析
14
求解与验证
人们通常认为,求解一个问题要比验证一个问 题困难些。
但是也并非完全如此。例如TSP问题。要验证 一条周游路线是否最小和求一条最小周游路线 实际上是一样的难。
5/6/2020
计算机算法设计与分析8 Nhomakorabea图林机的变形
多道图林机(输入带上有多个道)。 双向图林机 (输入带被视为左右均是无穷的)。 多带图林机(具有多条输入带)。 多头图林机 (具有多个磁头)。 多维图林机(输入带是多维的)。 不确定的图林机(有限控制器是不确定的)。 已不将经确图证定林明的机各图是类林原变机型形类称图似为林于确机不定在确的可定,计的记算自为的动DT能机M力,;上即而等
对于一台复杂性为T(n)的NDTM,可用一台复 杂性为O(CT(n))的DTM来模拟,这里C为常数。
实际上可以将NDTM的运行方式看作并行的, 而DTM是串行的。并行运行可用串行来模拟, 但并行的效率要高于串行的效率。
而现行计算机的运行方式本质是确定的。
5/6/2020
计算机算法设计与分析
16
若A∝τ(n)B,当τ(n)为多项式时,称A可多项式 归结为问题B,记为A∝B 。
一般来说,可变换性不是对称的。
若A∝τ(n)B且B∝τ(n)A,则称A和B是τ(n)时间 等价的。特别当τ(n)为线性时,称A和B等价。 这时A和B具有相同的时间复杂性。
5/6/2020
计算机算法设计与分析
18
计算复杂性的归约
证明:每个寄存器放输入带一个单元的内容, 这样RAM就可以模拟TM的工作。
均匀耗费标准下,模拟TM一个动作,RAM需 常数时间。A在RAM下时间复杂性为O(T(n))。
对数耗费标准下,RAM模拟TM的时间复杂性 为O(T(n)logT(n)) =O(T2(n))。 。
5/6/2020
计算机算法设计与分析
价将于不原确型定δ:图的Q林图×机林T。机→但记ρ(是为Q×在NDT复×T杂M{L性,, 是R}有) 区别的。
5/6/2020
计算机算法设计与分析
9
通用图林机
不失一般性,任何图林机的T = {0输, 1入};带
控δ分有:制构限Q器成×(T五→字Q诀×c)oT,d×e1δ#{含cLod有,eR2有#}…的限#每c个od个五en动字编作诀码由带。五个部 于是,任一图林机都可写成一个二进制编码。 所以任一图林机qi 可用一个三带图林工机作来带模拟。
对RA带M2的存乘放除累法加,器T内M容用;加带减3法作模为拟暂的存耗工费作不带; 会超带过4乘和除带法5作耗为费输的入平带方和。输出带; 用TM的状态对应RAM的一步程序。
5/6/2020
计算机算法设计与分析
12
TM模型与RAM模型的关系
定理8-5:在对数耗费标准下,对于同一个算法, 采用RAM模型和TM模型的时间复杂性是多项 式相关的。对空间复杂性亦如此。
合取范式的可满足性问题CNF-SAT 三元合取范式的可满足性3-SAT 团问题CLIQUE 顶点覆盖问题VERTEX-COVER 子集和问题SUBST-SUM 哈密顿回路问题HAM-CYCLE 旅行售货员问题TSP
5/6/2020
计算机算法设计与分析
23
5/6/2020
计算机算法设计与分析
21
第一个NP完全的问题
Cook在1971年证明了第一个NP完全的问题。 Cook定理:布尔表达式的可满足性SAT是NP完
全的。
所 C自o谓从ok可C定o满理ok足的证性证明S明了AT由第是两一这个个样部N的P分完问构全题成的:,问给第题定一后k部个,分布迄是尔 变 S今A量为T∈x止1N, ,…P,已xk这经的基发m个本现布是了尔显至表然少达的有式。30A第0多1,二…个部,NA分Pm完是,全任若的意存 在 L问∈对题N各,P,个但可布尚在尔未多变证项量明式x其i的时中0间任, 1内何赋转一值换个,为是使S属得AT于每问P个题的布。。尔这