Lecture08.pptVIP

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

近似算法 概念 满足三角关系的 Traveling Salesman 顶点覆盖 背包问题 最优化问题:一个最优化问题 ∏ 包含下面三个部分: 实例集合 D∏ ; 对每一个实例 I?D∏, 有一个可行解集合 S∏(I); 一个函数 C,对每个可行解 s(I) ? S∏(I),有一个对应的函数值 C(s(I)), 称作这个解的值 (或费用). 最优化问题要求对每个实例求出一个可行解使得某种最优化目标得以实现。 最小化问题: 一个最小化问题要求对每个实例I?D∏, 求出一个最优解s(I) ? S∏(I),满足对其它任意的解s’(I) ? S∏(I),有C(s(I))= C(s’(I)) . 把这个最优解以及对应的函数值记作OPT(I). 最大化问题: 一个最大化问题要求对每个实例I?D∏, 求出一个最优解s(I) ? S∏(I),满足对其它任意的解s’(I) ? S∏(I),有C(s(I))= C(s’(I)). 把这个最优解以及对应的函数值记作OPT(I). 最优化问题的近似算法: 一个最优化问题 ∏ 的一个近似算法 A是一个多项式时间算法:对任意实例 I ? D∏, A 得到一个可行解s(I) ?S∏(I)。把这个解以及对应的函数值记作A(I). 评价近似算法的好坏 Performance ratio (常用) 对于最小化问题,一个算法A的 performance ratio 被定义为一个数字 r 使得对任意的实例 I, 有 这里 OPT(I) 是实例I的最优解的值,而 A(I) 是算法 A 对实例 I给出的解的值. 注意:此时A(I)=OPT(I) 有时考虑 performance ratio的渐进形式,即上述式子只需对足够大的实例都成立 Performance ratio Performance ratio 对于最大化问题,一个算法A的 performance ratio 被定义为一个数字 r 使得对任意的实例 I, 有 这里 OPT(I) 是实例I的最优解的值,而 A(I) 是算法 A 对实例 I给出的解的值. 注意此时A(I)=OPT(I). 有时考虑 performance ratio的渐进形式,即上述式子只需对足够大的实例都成立 满足三角不等式的Traveling Salesman 三角不等式:任意三个顶点x,y,z,有d(x,y)+d(y,z)=d(y,z). 例如:欧几里的空间里的顶点。 满足三角不等式的Traveling Salesman Problem 是指那些城市之间的距离满足三角不等式关系的Traveling Salesman Problem的实例的集合。例如在平面上的城市,城市之间的距离是欧几里的距离。可行解是所有的环游,函数是环游的距离。目标是最小。 定理:满足三角不等式的TSP是NP-hard的 2-近似算法 近似算法A: 计算一个最小支撑树T(Figure a) 把T上的任意一条边复制一次,并得到重边树的一个欧拉环游(经过每条边恰好一次). 这里有些城市可能会被经过多次(Figure b) 略过重复经过的城市而直接到下一个城市而得到所有城市间的一个环游. (Figure c)   (可行性 多项式) (a) 一个最小支撑树 (b) 树上每条边经过两次 的欧拉环游 (c) 一个经过每个城市 一次的环游 开始 假设任意实例I对应的最优解的值为OPT(I). 由于OPT(I)是一个经过所有城市恰好一次的环游,所以OPT(I)去掉任意一条边对应一棵支撑树,从而C(T)=OPT(I) 由于A得到的环游的距离不大于经过T上的每条边两次(有些)的欧拉环游的距离,所以A(I)=2C(T)=2OPT(I) 所以,对任意实例I, A(I)/OPT(I) =2 A的performance ratio = 2 3/2近似算法 近似算法A 计算一个最小支撑树T T中的奇度点X有偶数个,求X的最小权对集M 合并T与M中的边(重边计算两次);求得欧拉环游; 略去欧拉环游中的重复点,直接到下一个顶点,从而求得可行环游 (可行,多项式) (a) 一个最小支撑树 (a) 一个X的最小权对集 (a) 一个可行环游 起点 A的performance ratio=3/2 C(T)=OPT(I) 对任意最优解OPT(I),略过V-X中的点,直接到下一顶点,得到X顶点上的一个圈,显然圈的距离=OPT(I).这个圈可以分成两个X上的对集M1,M2 C(M)=C(M1); C(M)=C(M2) C(M)=OPT(I)/2 A(I)=C(T)+C(M)=3/2(OPT(I)) 黄色为X中的点 M1,M2 整数背包问题的2-近似算法 实例:物品U={u1,…,un}; 整数大

文档评论(0)

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

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

1亿VIP精品文档

相关文档