算法设计第六章动态规划.pptVIP

  • 2
  • 0
  • 约6.52千字
  • 约 45页
  • 2019-08-10 发布于浙江
  • 举报
算法设计及其应用 第六章:动态规划算法 (国际大学生程序设计竞赛辅导教程) (国际大学生程序设计竞赛例题解(三)) 动态规划概述 运筹学(Operations Research)是系统工程最重要的理论基础之一, 运筹学所研究的问题可简单地归结为: “依照给定条件和目标, 从众多方案中选择最佳方案.” 而动态规划是运筹学的重要分支之一, 它是解决多阶段决策过程最优化的一种方法. 动态规划概述 动态规划简单的来说就是:采用分治的策略把求最优解问题分解为求若干个子问题的最优解,子问题也递归的分解为子问题的组合,通过递归递推等方法,把原问题最优解与局部子问题最优解联系起来,以求最后的解。这些局部子问题之间可能有重叠,就是某个子问题可能需要求解多次,因此需要将子问题及其解记录下来,这样对每个子问题只需求解一次,从而提高了效率。 动态规划概述 一般来说,寻找最优解的算法都具有指数时间的复杂度,因此算法的优化显得十分重要;但是有一类特殊的最优化问题,我们通常可以找到具有多项式时间的复杂度的算法,这种方法就是我们下面要介绍的动态规划。 动态规划的常用名词 (1) 状态(state) 对于一个问题,所有可能到达的情况(包括初始情况和目标情况)都称为这个问题的一个状态。 (2) 状态变量(sk) 对每个状态k关联一个状态变量sk,它的值表示状态k所对应的问题的当前解值。 (3) 决策(d

文档评论(0)

1亿VIP精品文档

相关文档