算法设计与分析 第八章NP完全性理论.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析 第八章NP完全性理论

计算机算法设计与分析 第八章 NP完全性理论 随机存取机RAM的构造 随机存取机RAM的指令集 RAM机的复杂性标准 均匀耗费标准 对数耗费标准 随机存取存储程序机RASP RASP与RAM的区别在于(1)RASP的程序存储在内存并且可以修改自身;(2)RASP不允许间接寻址,它通过修改指令模拟间接寻址。 RASP的指令集见P-238的表8-6。 RASP更加接近冯·诺伊曼体系结构。 无论是采用均匀耗费标准还是对数耗费标准,在相差一个常数因子的意义下,RAM与RASP是等价的。 RAM的变形与简化 (1)实随机存取机RRAM; (2)直线式程序; (3)位式计算; (4)位向量计算; (5)判定数; (6)代数计算树ACT; (7)代数判定树。 图林机的构造 图林机(Turing Machine)是英国数学家Turing在1936年提出的计算模型,被认为是当今计算机的理论模型。下面是图林机(TM)原型的构造: TM的数学描述 Q是有限状态的集合; T是有限个带符号的集合; I ? T,是输入符号的集合; δ:Q×T→Q×T×{L, R}为转移函数; b是唯一的空白符,b∈T – I; q0和qf分别为初始状态和终止状态。 图林机的变形 多道图林机(输入带上有多个道)。 双向图林机 (输入带被视为左右均是无穷的)。 多带图林机(具有多条输入带)。 多头图林机 (具有多个磁头)。 多维图林机(输入带是多维的)。 不确定的图林机(有限控制器是不确定的)。 通用图林机 不失一般性,任何图林机的T = {0, 1}; δ:Q×T→Q×T×{L, R}的每个动作由五个部分构成(五字诀),δ含有有限个五字诀。 于是,任一图林机都可写成一个二进制编码。 所以任一图林机可用一个三带图林机来模拟。 这个三带图林机就被称为通用图林机。 用RAM模拟TM 定理8-3:设算法A,对于任何长度为n的输入,在图林机TM下的时间复杂性为T(n),则A在RAM下的时间复杂性为O(T2(n))。 证明:每个寄存器放输入带一个单元的内容,这样RAM就可以模拟TM的工作。 均匀耗费标准下,模拟TM一个动作,RAM需常数时间。A在RAM下时间复杂性为O(T(n))。 对数耗费标准下,RAM模拟TM的时间复杂性为O(T(n)logT(n)) =O(T2(n))。 。 用TM模拟RAM 定理8-4:设算法A,对于任何长度为n的输入,按对数耗费标准在RAM下的时间复杂性为T(n),则A在TM下的时间复杂性为O(T2(n))。 证明:用一个五带TM模拟RAM的工作, TM模型与RAM模型的关系 定理8-5:在对数耗费标准下,对于同一个算法,采用RAM模型和TM模型的时间复杂性是多项式相关的。对空间复杂性亦如此。 注意在均匀耗费标准下这个关系不成立。TM模拟RAM的时间复杂性可能是指数的关系。 因为TM模型比较原始,所以在大多数情况下采用RAM模型。 若算法在RAM模型下的复杂性为多项式,则也就认为其在TM模型下的复杂性为多项式。 可计算性问题的层次 若某问题存在求解的算法,则称其为可计算的;若不存在算法但是存在求解的过程,则称其为半可计算的;若连过程也不存在,则称其为完全不可计算的。 求解与验证 人们通常认为,求解一个问题要比验证一个问题困难些。 但是也并非完全如此。例如TSP问题。要验证一条周游路线是否最小和求一条最小周游路线实际上是一样的难。 希望能按计算的难度将问题分为两类: P类问题:多项式时间计算的问题。 NP类问题:非多项式时间计算的问题 。 确定的图林机与不确定图林机 NDTM是一种并行的工作方式,它可以用交叉串行的确定方式来模拟。因此任何NDTM都可以用DTM来模拟实现,但其复杂性却不相同。 对于一台复杂性为T(n)的NDTM,可用一台复杂性为O(CT(n))的DTM来模拟,这里C为常数。 实际上可以将NDTM的运行方式看作并行的,而DTM是串行的。并行运行可用串行来模拟,但并行的效率要高于串行的效率。 而现行计算机的运行方式本质是确定的。 P类与NP类语言/问题 P = {L | L在多项式时间被DTM接受} NP = {L | L在多项式时间被NDTM接受} 问题的变换及时间等价性 若问题A的求解能够变换成问题B的求解且变换的时间为O(τ(n)),则称A是τ(n)时间变换为B,简记为A∝τ(n)B,其中n为问题A的规模。 若A∝τ(n)B,当τ(n)为多项式时,称A可多项式归结为问题B,记为A∝B 。 一般来说,可变换性不是对称的。 若A∝τ(n)B且B∝τ(n)A,则称A和B是τ(n)时间等价的。特别当τ(n)为线性时,称A和B等价。这时A和B具有相同的时间复杂性。 计算复杂性的归约 若A∝τ(n)B,设A和B的计算时间分别为TA(n)和TB(n

文档评论(0)

bbnnmm885599 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档