第九章近似算法-Read.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章近似算法-Read.doc

第七章 近似算法 ·很多实际应用中问题都是NP-完全问题 ·NP-完全问题的多项式算法是难以得到的 ·求解NP-完全问题的两种方法: ·如果问题的输入很小,可以使用指数级算法圆满地解决该问题 ·使用多项式算法求解问题的近似优化解 ·近似算法:能够给出一个优化问题的近似优化解的算法 ·本章将介绍几个NP-完全问题的多项式时间算法 7.1 近似算法的性能分析 ·本节讨论的问题是优化问题 ·问题的每一个可能的解都具有一个正的代价 ·问题的优化解可能具有最大或最小代价——最大化或最小化问题 ·我们希望寻找问题的一个近似优化解 1. Ratio Bound 定义1(Ratio Bound) 设A是一个优化问题的近似算法,A具有ratio bound p(n),如果, 其中n是输入大小,c是近似算法所产生的解的代价,c*是优化解的代价。 *若问题是最大化问题,则, *若问题是最小化问题,则, *由于c/c*1当且仅当c*/c1, 近似算法的Ratio Bound不会小 于1,即 *求解准确优化解的优化算法的Ratio Bound一定是1 *具有较大Ratio Bound的近似算法给出的近似解一定比优化解坏 的多 — Ratio Bound表示了近似算法的性能 2. 相对误差 定义2 对于任意输入, 近似算法的相对误差定义为, 其中c是近似算法所产生的解的代价,c*是优化解的代价。 *相对误差总是非负的。 定义3 一个近似算法的相对误差界为如果。 结论1 。 证. 对于最小化问题=== 对于最大化问题===. *对于某些问题,和独立于输入n,我们用p和表示之 *对于另一些问题,很难找到具有固定ratio bound的多项式时间 算法,我们可以令ratio bound是输入大小n的函数 *某些NP-完全问题的近似算法满足:当运行时间增加时,ratio bound和相对误差将减少 定义4 一个优化问题的近似模式是一个算法,是一个具有相对误差界的近似算法,其中I是问题实例,是任意一个固定的数。 定义5 近似模式称为一个多项式时间近似模式,如果对于,的运行时间是的多项式。 定义 6 一个近似模式称为完全多项式时间近似模式,如果它的运行时间是关于和输入实例大小n的多项式。 例1. 设模式s的运行时间是,则s是完全多项式时间近似模式。 7.2 优化结点覆盖问题 问题定义 输入:无向图G=(V,E) 输出:,满足 (1).,、或{u,v}(V’ (2).是满足条件(1)的最小集合。 *理论上已经证明优化结点覆盖问题是NP-完全问题。 近似算法 APPROX-Vertex-Cover (G) 1. 2. 3.while DO 4. 任取 5. E’←E’-{(u’,v’)|u’=u或v’=v} Roturn C 3. 时间复杂性 T(G)=O(|E|). 4. 性能 定理1 Approx-Vertex-Cover 具有Ratio Bound 2 证: 令A=是算法第4步选中的边}。 若(u,v)(A,则所以与(u,v)邻接的边皆从中删除。 于是, A中无相邻接边. 于是,第五步的每次运行增加两个结点到C,(C(=2(A( 设C*是优化解,C*必须覆盖A。 由于A中无邻接边,C*至少包含A中每条边的一个结点。 于是,(A(((C*(,(C(=2|A|(2(C*(,即|C|/|C*|(2. 7.3 最小集合覆盖问题 1. 问题的定义 输入:有限集X,F是X的所有子集合集族,X= 输出:C(F,满足 (1). X=, (2). C是满足条件(1)的最小集族,即|C|最小。 *最小集合覆盖问题是很多实际问题的抽象。 *最小集合覆盖问题是NP-完全问题。 2. Greedy近似算法 Greedy-Set-Cover(X,F) 1.U(X; 2.C((; While U(( Do /* U表示X中尚未被覆盖的元素的集合 */ select S(F 使得(S∩U(最大; /* Greedy选择——选择能够覆盖最多X元素的子集合S */ U(U-S C(C∩(S(; /* 构造X的覆盖 */ Return C. 复杂性 ·3-6的循环次数至多为min((X(,(F() ·(S∩U(需要时间O(

文档评论(0)

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

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

1亿VIP精品文档

相关文档