04 动态规划.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文档。上传文档
查看更多
04动态规划重点讲义

* Knapsack problem * 0-1背包问题 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 0-1背包问题是一个特殊的整数规划问题。 * Example Items 3 and 4 have value 40 Greedy: repeatedly add item with maximum ratio vi / wi {5,2,1} achieves only value = 35, not optimal Item Value Weight 1 1 1 2 6 2 3 18 5 4 22 6 5 28 7 W = 11 * Def. OPT(i, W) = max profit subset of items 1, …, i with weight limit W. Case 1: OPT does not select item i. OPT selects best of { 1, 2, …, i-1 } using weight limit W Case 2: OPT selects item i. new weight limit = W – wi OPT selects best of { 1, 2, …, i–1 } using this new weight limit Dynamic Programming * Knapsack Problem: Bottom-Up Knapsack. Fill up an n-by-W array. Input: n, W, w1,…,wn, v1,…,vn for w = 0 to W M[0, w] = 0 for i = 1 to n for w = 1 to W if (wi w) M[i, w] = M[i-1, w] else M[i, w] = max {M[i-1, w], vi + M[i-1, w-wi ]} return M[n, W] * Knapsack Algorithm 0 1 2 3 4 5 6 7 8 9 10 11 empty 0 0 0 0 0 0 0 0 0 0 0 0 {1} 0 1 1 1 1 1 1 1 1 1 1 1 {1,2} 0 1 6 7 7 7 7 7 7 7 7 7 {1,2,3} 0 1 6 7 7 18 19 24 25 25 25 25 {1,2,3,4} 0 1 6 7 7 18 22 24 28 29 29 40 {1,2,3,4,5} 0 1 6 7 7 18 22 24 28 29 34 40 W+1 n+1 OPT = 40 * Knapsack Problem: Running Time Running time. O(n W). Not polynomial in input size! Pseudo-polynomial. Decision version of Knapsack is NP-complete. Knapsack approximation algorithm. There exists a polynomial algorithm that produces a feasible solution that has value within 0.0001% of optimum. * 凸多边形最优三角剖分 用多边形顶点的逆时针序列表示凸多边形,即P={v0,v1,…,vn-1}表示具有n条边的凸多边形。 若vi与vj是多边形上不相邻的2个顶点,则线段vivj称为多边形的一条弦。弦将多边形分割成2个多边形{vi,vi+1,…,vj}和{vj,vj+1,…vi}。 多边形的三角剖分是将多边形分割成互不相交的三角形的弦的集合T。 给定凸多边形P,以及定义在由多边形的边和弦组成的三角形上的权函数w。要求确定该凸多边形的三角剖分,使得即该三角剖分中诸三角形上权之和为最小。 * 三角剖分的结构及其相关问题 一个表达式的完全加括号方式相应于一棵完全二叉树,称为表达式的语法树。例如,完全加括号的矩阵连乘积((A1(A2A3))(A4(A5A6)))所相应的语法树如图 (a)所示。 凸多边形{v0,v1,…vn-1}的三角剖分也可以用语法树表示。例如,图 (b)中凸多边形的三角剖分可用图 (a)所示的语法树表示。 矩阵连乘积中的每个矩阵Ai对应于凸(n+1)边形中的一条边vi-1vi。三角剖分中的一条弦vivj,ij,对应于矩阵连乘积A[i+1:j]。 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档