《算法设计和分析》第12章.pptVIP

  • 21
  • 0
  • 约7.35千字
  • 约 68页
  • 2018-08-24 发布于湖北
  • 举报
算法设计与分析 第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)

1亿VIP精品文档

相关文档