2009-2010.2《算法》-近似算法教程范本.pptVIP

2009-2010.2《算法》-近似算法教程范本.ppt

  1. 1、本文档共32页,可阅读全部内容。
  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文档。上传文档
查看更多
近似算法 NP完全问题的近似算法 近似算法说明 近似算法可以解决一些不能用回溯法和随机算法有效解决的组合最优化问题。 近似算法可以是近似于最优解的一个“合理”的解。 那么近似算法到底与最优解有多近似 ? 换句话说:如何度量近似算法与最优解的近似程度? 度量方法:性能界。 近似解的显著特点是:它们非常快。但有些困难问题没有合理的近似解, 性能界定义: 对于问题I,设它的最优解是OPT(I),而它的一个多项式近似解为A(I),性能界分为: 1、差界: |A(I)-OPT(I)|某个固定值 2、近似比界: 差界 对于问题的所有实例I,由近似算法A可以得到的解A,使得: |A(I)-OPT(I)|= K , K 是某个常量。 就是,近似解和最优解的差有一个固定的底线,叫差界。 很少的NP困难的最优化问题,有差界。 差界举例 平面图着色: 1、四色原理 2、差界, |A(I)-OPT(I)|= 1 差界的局限 背包问题: 给出n个物品{u1,u2,…,un}, 具有整数体积 s1,s2,…,sn, 和物品的价值 v1,v2,…,vn, 给定一个背包,容量为C。 从n 个物品中取出m (=n)个物品放入背包,使得价值最大。 即: 差界的局限 下面证明,不存在差界的近似算法。 用反证法: 假设存在一个带差界的求解背包问题的近似算法,即对于所有这个问题的实例I,有 |A(I)-OPT(I)|=K,K是一个常数。 构造一个新的实例I’,使得对于所有j,有 1=j=n,s’j=sj,v’j=(K+1)vj 显然,I和I’的解完全相同。 唯一不同的是,I’的解的值是I解的值的(K+1)倍。 差界的局限 因为 A(I’)=(K+1)A(I) A(I’)-OPT(I’)=K 得到: 矛盾! 近似比界 装箱问题 问题描述:要把大小为s1,s2,…sn的n个物品,si=1,装入到一批固定大小为1的箱子中,问最少需要多少箱子? 装箱问题 4种启发式方法: 1、FF:箱子排队,物品i从第一个箱子开始到第n个箱子,找到能放入i的第一个箱子放入为止. 2、BF:箱子排队,物品i从第一个箱子开始到第n个箱子,找到能放入i的所有箱子,在这些箱子中,找到一个放入i后,箱子剩余容量最小的箱子放入。 3、FFD:先对物品按从大到小排序,然后FF 4、BFD:先对物品按从大到小排序,然后BF 装箱问题 证明:RFF 2, RFF是FF启发方法的绝对近似度 。就是,所用箱子的总体积不会超过n个物品的总体积的2倍。 用FF(I) 表示实例I用算法FF时,需要的箱子数量,同时设OPT(I)是最优装箱的箱子数。 则有: 装箱问题 因为没有两个箱子可能是半空的,就是说,装了物品后,箱子的除了一个外,其他的剩余的空的容量1/2 同时,在最优装箱中需要的最少的箱子数至少是所有物品的大小的和,即: 装箱问题 于是: 装箱问题 对与其他启发式方法,有: 顶点覆盖问题的近似算法 顶点覆盖问题的近似算法 旅行售货员问题近似算法 1 满足三角不等式的旅行售货员问题 2 一般的旅行售货员问题 集合覆盖问题的近似算法 集合覆盖问题的近似算法 集合覆盖问题的近似算法 子集和问题的近似算法 1 子集和问题的指数时间算法 2 子集和问题的完全多项式 时间近似格式 2 子集和问题的完全多项式 时间近似格式 * * 迄今为止,所有的NP完全问题都还没有多项式时间算法。对于这类问题,通常可采取以下几种解题策略。(1)只对问题的特殊实例求解 (2)用动态规划法或分支限界法求解 (3)用概率算法求解 (4)只求近似解 (5)用启发式方法求解 如果对于问题I的所有近似解A(I)有: RA称为近似算法A的近似比界。 通常,近似比界是常数。 问题描述:无向图G=(V,E)的顶点覆盖是它的顶点集V的一个子集V’?V,使得若(u,v)是G的一条边,则v∈V’或u∈V’。顶点覆盖V’的大小是它所包含的顶点个数|V’|。 VertexSet approxVertexCover ( Graph g ) { cset=?; e1=g.e; while (e1 != ?) { 从e1中任取一条边(u,v); cset=cset∪{u,v}; 从e1中删去与u和v相关联的所有边; } return c } Cset用来存储顶点覆盖中的各顶点。初始为空,不断从边集e1中选取一边(u,v),将边的端点加入cset中,并将e1中已被u和v覆盖的边删去,直至cset已覆盖所有边。即e1为空。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档