第6章--近似算法.pptxVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章--近似算法

第六章 近似算法 ;内容提要 ;重点与难点 ;学习目的与要求 ;近似算法的定义 许多NP-完全问题都有着非常重要的实际意义.但求精确解却非常困难而且不太可能求得最优解.但我们可以从下面三方面来考虑NP-完全问题的求解: (1)由于任一个NP-完全问题都有指数时间算法,当输入实例规模很小时,用其指数时间算法就可以求得满意解; (2)可以单独考虑问题的某些特殊场合,在这些场合中,问题有多项式时间算法求解; (3)考虑求问题的近似最优解.用于求问题近似最优解的算法称为近似算法.下面讨论若干个NP-完全问题的多项式时间近似算法.;近似算法的性能比 最大化问题与最小化问题:设每个最优化问题的可行解有有个相关联的正成本.最大化问题就是求具有最大成本的解.而最小化问题就是求具有最小成本的解. 近似比ρ(n):我们说一个问题的算法具有一个近似比ρ(n),如果对于任一规模为n的输入实例,算法的解所具有的成本C是最优解所具有的成本C*的ρ(n)倍以内.;我们称达到近似比ρ(n)的算法为ρ(n)-近似算法. 对于最大化问题而言,0<C≤C*, 而对于最小化问题而言, 0<C*≤C. 因此,当近似比为1时,近似解就是最优解;如果近似比越大,则近似解越差.;人们已为许多问题设计了具有小常数近似比的多项式时间近似算法.而对于其它问题,已知最好的多项式时间近似算法其近似比以输入规模n的函数增长.例如,集合覆盖问题. 最优化问题的近似模式:是以问题实例规模n和正数ε>0为输入,使得对于任给正数ε的1+ε近似算法. 多项式时间近似模式(PTAS):我们称一个近似模式是一个多项式时间近似模式(PTAS),如果对于任给的正数ε,该模式的执行时间不超过关于输入实例n的多项式. ;多项式时间近似模式的执行时间可能随正数ε的变小而增长非常迅速.例如,PTAS的执行时间可能是О(n2/ε).如果ε以常数倍减小,达到所希望的近似程度的解所花费的执行时间将不会以超过常数倍的速度增加.换句话说,我们希望执行时间是关于 1/ε和n的多项式. 全多项式时间近似模式(FPTAS):如果一个近似模式的运行时间是关于1/ε和n的多项式.例如,О((1/ε)2n3).;一.顶点覆盖问题(Vertex-cover)的近似算法 顶点覆盖,顶点覆盖规模,最优顶点覆盖 虽然要求最??顶点覆盖是困难的,但求近似最优顶点覆盖并不困难.;APPROX-VERTEX-COVER(G) 1 C ← φ 2 E’← E[G] 3 While E’≠ φ 4 Do let (u,v) be an arbitrary edge of E’ 5 C ← C ∪ {u,v} 6 Remove from E’every edge incident on either u or v 7 Return C;上述算法的运行时间是Ο(|V|+|E|). 算法APPROX-VERTEX-COVER是多项式时间2-近似算法. 证明:(1)算法APPROX-VERTEX-COVER是多项式时间算法;(易证) (2)由于算法循环执行至G中的每条边被C中的某顶点覆盖为止,因此C是一个顶点覆盖. 下面证明C中的顶点至多是最小顶点覆盖的两倍.令A记算法第4步所选的边集.为了覆盖A中的边,每个顶点覆盖(包括最小顶点覆盖)必包含A中每条边至少一个端点.而A中无两边有公共端点.因此,A中没有两条边被来自最小顶点覆盖的同一顶点覆盖.由此可得, |C*|≥|A|.;由于在第4步所选的边的两个顶点事先并不出现在C中,因此,|C|=2|A|≤2|C*|.;二. 旅行商问题的近似算法 (The traveling-salesman problem) 给定完全无向图G=(V,E),成本函数 c:V×V → N, A E. c(A)= . 实际中,很多场合是指从一个地方到另一个地方最便宜的开销. 三角不等式:对于任意三个顶点u,v,w∈V, c(u,w)≤c(u,v)+c(v,w).;1. 满足三角不等式的旅行商问题的近似算法;满足三角不等式的旅行商问题的近似算法 APPROX-TSP-TOUR-WITHTRIAN(G,c) Select a vertex r∈V to be a root”vertex Compute a minimum spanning tree T for G from r using MST-PRIM(G,c,r) Let L be the list of vertices visited in a preorder tree walk of T Return the Hamiltonian cycle H that visits the ver

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档