[小学教育]第3章 动态规划.ppt

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

计算机算法设计与分析 Design and Analysis of Computer Algorithms 第三章 动态规划 Dynamic Programming 提纲 一、动态规划算法的基本思想 二、矩阵连乘问题 三、最长公共子序列 四、最大子段和 五、0-1背包问题 六、最优二叉有哪些信誉好的足球投注网站树 提纲 一、动态规划算法的思想 二、矩阵连乘问题 三、最长公共子序列 四、最大子段和 五、0-1背包问题 六、最优二叉有哪些信誉好的足球投注网站树 1.1 总体思想 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,但分解后的子问题往往不是相互独立的。 Divide-and-conquer技术的问题 子问题是相互独立的; 如果子问题不是相互独立的,分治方法将重复计算公共子问题,效率很低。 Dynamic Programming特点 把原始问题划分成一系列子问题; 求解每个子问题仅一次,并将其结果保存在一个表中,以后用到时直接存取,不重复计算,节省计算时间; 自底向上地计算。 1.2 适用范围 适用范围 一类最优化问题:可分为多个相关子问题,子问题的解被重复使用。 最优化问题 给定一组约束条件和一个代价函数,在解空间中有哪些信誉好的足球投注网站具有最小或最大代价的最优解; 很多最优化问题可分为多个子问题,子问题相互关联,子问题的解被重复使用。 1.3 基本要素 使用动态规划算法的条件: 最优子结构(optimal sub-structure) 当一个问题的最优解包含了子问题的最优解时,称这个问题具有最优子结构; 最优子结构使得能自底而上地完成求解过程; 通常可用“剪贴”(cut and paste)技术判定最优子结构。 重叠子问题(overlapping sub-problems) 在问题的求解过程中,很多子问题的解将被多次使用。 1.4 设计步骤 1.分析最优解的结构; 2.递归地定义最优值; 3.自底向上地计算出最优值,并获取构造最优解的信息; 4.根据构造最优解的信息构造优化解。 提纲 一、动态规划算法的基本思想 二、矩阵连乘问题 三、最长公共子序列 四、最大子段和 五、0-1背包问题 六、最优二叉有哪些信誉好的足球投注网站树 2.1 问题定义 Matrix-chain Multiplication 输入:A1,A2,...,An,Ai是矩阵,Ai与Ai+1可乘,i=1,2,…(n-1); 输出:计算A1?A2?...?An的最小代价方法 2.1 问题定义 矩阵连乘法的实现 矩阵乘法满足结合律; 计算一个矩阵链的乘法可有多种方法: 例如, (A1?A2?A3?A4) =(A1?(A2?(A3?A4))) =((A1?A2)?(A3?A4)) .... = ((A1?A2)?A3)?A4) 2.1 问题定义 完全加括号的矩阵连乘积可递归地定义为: (1)单个矩阵是完全加括号的; (2)矩阵连乘积A是完全加括号的,则A可 表示为2个完全加括号的矩阵连乘积B和 C 的乘积并加括号,即A=(B*C) 2.1 问题定义 矩阵连乘法的代价与计算顺序的关系 设A1=10?100矩阵, A2=100?5矩阵, A3=5?50矩阵 T((A1?A2)?A3)=10?100?5+10?5?50=7500 T(A1?(A2?A3))=100?5?50+10?100?50=75000 2.2 矩阵连乘问题的解空间 设p(n)=计算n个矩阵乘积的不同计算次序 p(n)的递归方程: Catalan数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。   原理:   令h(0)=1,h(1)=1,catalan数满足递归式:   h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n=2)   该递推关系的解为:   h(n)=C(2n,n)/(n + 1) (n=1,2,3,...) 2.3求解矩阵连乘问题的动态规划算法 分析最优解的结构; 递归地定义最优值; 自底向上地计算出最优值,并获取构造最优解的信息; 根据构造最优解的信息构造优化解。 2.3.1 分析最优解的结构 两个记号 A[i:j]=Ai?Ai+1?....?Aj m[i][j]=计算A[i:j]的最少乘法次数 最优解的结构 若计算A[1:n]的最优顺序在k处断开矩阵链, 即A[1:n]=A[1:k]?A[k+1:n],则在A[1:n]的最优顺序中,对应于子问题A[1:k]的解必须是A[1:k

文档评论(0)

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

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

1亿VIP精品文档

相关文档