- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
书籍《算法设计与分析》第2章
算法设计与分析 第3部分 求解困难问题 第12章 近似算法 12.1 近似算法的性能 12.1.1 基本概念 12.1.2 绝对性能保证 12.1.3 相对性能保证 12.1.4 近似方案 12.2 绝对近似算法 12.2.1 最多程序存储问题 12.2.2 NP难度绝对近似算法 12.3 ?-近似算法 12.3.1 顶点覆盖近似算法 12.3.2 旅行商问题 ?12.3.3 NP难度?-近似旅行商问题 12.3.4 具有三角不等式性质的旅行商问题 12.3.5 任务调度近似算法 12.4 ?(n)-近似算法 12.4.1?集合覆盖问题 12.4.2 集合覆盖近似算法 12.4.3 ln(n)-近似算法 12.5 多项式时间近似方案 12.5.1 任务调度近似方案 12.5.2 多项式时间近似方案 12.6 完全多项式时间近似方案 12.6.1 子集和数指数时间算法 12.6.2 完全多项式时间近似方案 最近邻居算法(nearest neighbor algorithm)。算法描述如下: (1)? 任意选择一个结点为起始结点,访问之。 (2)? 选择与最近一次访问的结点距离最近的未访问过的结点访问之;重复这一步直到图中所有结点都已访问。 (3)? 返回开始结点。 定理12-6 哈密顿环问题??-近似旅行商问题。 定理12-6表明如果P?NP,则一般旅行商问题不会存在?-近似算法。 一个无向完全图如果满足三角不等式性质,就可以得到?-近似算法。 所谓三角不等式性质,是指图中任意三个顶点u, v, w?V,有c(u, w)≤c(u, v)+ c(v, w)。 定理12-8 旅行商最优化问题?具有三角不等式性质的旅行商问题。 证明:令G=(V, E)是有n个顶点的无向完全图,c(u, v)是边(u, v)?E的代价。构造图G?= (V, E),只是令该图中边上的权值c?(u, v)=c(u, v)+L,。那么对任意三个顶点u, v, w?V,必有c?(u, w)≤2L(因为c(u, w)≤L),c?(u, v)+c?(v, w)≥2L,故c?(u, w)≤c?(u, v)+c?(v, w)。于是图G?满足三角不等式性质。 显而易见,图G的每一条周游路径同样也是图G?的周游路径,只是代价增加了nL。 图G的最短周游路径就是图G?的最短周游路径。因此,旅行商最优化问题∝具有三角不等式性质的旅行商问题。证毕。 绕树两周算法(twice around the tree algorithm)是一个求解具有三角不等式性质旅行商问题的?-近似算法。算法的执行时间是多项式的。算法描述如下: (1)构造图G的一棵最小代价生成树; (2)从图中任意顶点开始,绕这棵最小代价生成树一圈,并记下经过的顶点; (3)扫描(2)得到的顶点序列,从中删除所有重复出现的顶点,但保留起始顶点; (4)输出序列中剩余顶点,即形成一个哈密顿环 定理12-9 对于具有三角不等式性质的旅行商问题的图G,绕树两周算法的比值界为2。 证明:设cost(G)为该图的最小代价生成树的代价,2cost(G)=第(2)步得到的路径代价。设OPT(G)为最小周游路径的代价,有 OPT(G)>cost(G) 这意味着 2OPT(G)>2cost(G) 设F(G)是绕树两周算法得到的近似解代价,即第(3)步得到的周游路径的代价。因为具有三角不等式性质,所以F(G)不大于2cost(G),即 2cost(G)≥F(G) 于是 2OPT(G)>F(G) 所以F(G)/OPT(G)<2。证毕。 例12-8 设Pi (1≤i≤m,m≥2)是m个相同处理机,有n个相互独立的作业{1, 2,…, n},ti(1?i?n)是每个作业要求的处理时间。作业可以安排在任意一台处理机上运行。求一种非抢先调度方案,使得所有作业全部结束的时间最短。 可以看到,对m个处理机和n个作业,使用穷举法搜索最优解所需时间是O(mn)。 定理12-10 分划问题?独立作业非抢先调度最小完成时间问题。 这里仅证明当m=2时的情况,将其扩展到m>2是很容易的。令集合S={a1, a2,…, an}是分划问题的一个实例。定义n个作业,其处理时间为ti=ai (1≤i≤n)。当且仅当S存在一个分划时,这些作业在两台处理机上有一个完成时间不超过 的非抢先调度方案。证毕。 定义12-9 最长处理时间(longest processing time LPT)调度方案是指任何时候,当一个处理机一旦空闲,立即将其分配给尚未处理的具有最长处理时
文档评论(0)