网站大量收购独家精品文档,联系QQ:2885784924

《算法设计与》2016-05-18合编.ppt

  1. 1、本文档共365页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 8.4.7 旅行售货员问题TSP 首先,给定TSP的一个实例(G,c,k),和一个由n个顶点组成的顶点序列。验证算法要验证这n个顶点组成的序列是图G的一条回路,且经过每个顶点一次。另外,将每条边的费用加起来,并验证所得的和不超过k。这个过程显然可在多项式时间内完成,即TSP∈NP。 其次,旅行售货员问题与哈密顿回路问题有着密切的联系。哈密顿回路问题可在多项式时间内变换为旅行售货员问题。即HAM-CYCLE∝pTSP。从而,旅行售货员问题是NP难的。 因此,TSP∈NPC。 问题描述:给定一个无向完全图G=(V,E)及定义在V?V上的一个费用函数c和一个整数k,判定G是否存在经过V中各顶点恰好一次的回路,使得该回路的费用不超过k。 * 第9章 近似算法 * 第9章 近似算法 迄今为止,所有的NP完全问题都还没有多项式时间算法。对于这类问题,通常可采取以下几种解题策略。 (1)只对问题的特殊实例求解 (2)用动态规划法或分支限界法求解 (3)用概率算法求解 (4)只求近似解 (5)用启发式方法求解 本章主要讨论解NP完全问题的近似算法。 * 8.1.2 随机存取存储程序机RASP 1. RASP的结构 RASP的整体结构类似于RAM,所不同的是RASP的程序是存储在寄存器中的。每条RASP指令占据2个连续的寄存器。第一个寄存器存放操作码的编码,第二个寄存器存放地址。RASP指令用整数进行编码。 2. RASP程序的复杂性 不管是在均匀耗费标准下,还是在对数耗费标准下,RAM程序和RASP程序的复杂性只差一个常数因子。在一个计算模型下T(n)时间内完成的输入-输出映射可在另一个计算模型下模拟,并在kT(n)时间内完成。其中k是一个常数因子。空间复杂性的情况也是类似的。 * 8.1.3 RAM模型的变形与简化 1. 实随机存取机 RRAM 在RRAM模型下,一个存储单元可以存放一个实数。下列的各 运算为基本运算且每个运算只耗费单位时间。 (1)算术运算+,-,×,/。 (2)2个实数间的比较(,≤,=,≠,≥,)。 (3)间接寻址(整数地址)。 (4)常见函数的计算,如三角函数,指数函数,对数函数等。 优点:能够方便处理实数; 适合于用FORTRAN,PASCAL等高级语言写的算法。 * 8.1.3 RAM模型的变形与简化 2. 直线式程序 对于许多问题,所设计的RAM程序中的转移指令仅用于重复 一组指令,而且重复的次数与问题的输入规模n成比例。在这种情 况下,可以用重复地写出相同指令组的方法来消除程序中的循环。 由此,对每一个固定的n得到一个无循环的直线式程序。 经过对RAM模型的简化,得到直线式程序的指令系统如下: x←y+z x←y-z x←y*z x←y/z x←i 其中x,y和z是符号地址(或变量),而i是常数。 每条指令耗费一个单位时间。 * 8.1.3 RAM模型的变形与简化 3. 位式计算 直线式程序计算模型显然是基于均匀耗费标准的。在对数 耗费标准下,使用另一个RAM的简化计算模型,称之为位式计算 (Bitwise Computation)模型。 除了下列2点外,该计算模型与直线式程序计算模型基本 相同: (1)假设所有变量取值0或1,即为位变量。 (2)所用的运算是逻辑运算而不是算术运算。 用∧代表与,∨代表或,?代表异或,?代表非。 在位式计算模型下,每个逻辑运算指令耗费一个单位时间。 * 8.1.3 RAM模型的变形与简化 4. 位向量运算(Bit Vector Operations) 若在直线式程序计算模型中,假设所有变量均为位向量,而 且所用的运算均为位操作指令,则得到位向量运算计算模型。 例如,要表示一个有100个顶点的图中从顶点v到其余各顶点 间有没有边相连,可以用100位的一个位向量表示。若顶点v到顶 点vj之间有边相连,则该位向量的第j位为1,否则为0。 缺点:所需的机器字长要远大于其他模型。 * 8.1.3 RAM模型的变形与简化 5. 判定树 判定树是一棵二叉树。它的每个内结点表示一个形如x∶y的 比较。指向该结点左儿子的边相应于x≤y,标号为≤。指向该结 点右儿子的边相应于xy,标号为。每一次比较耗费一个单位时 间。下图是对a,b,c三个数进行排序的一棵判定树。 在判定树模型下,算法的时间复杂性可用判定树的高度衡量。最大的比较次数是从根到叶的最长路径的长度。 * 8.1.3 RAM模型的变形与简化 6. 代数计算树ACT 以x=(x1,x2,…,xn)为输入的一棵代数计算树T是一棵 二叉树,且: (1)每个叶

文档评论(0)

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

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

1亿VIP精品文档

相关文档