什么样的“多阶段决策问题”才可以采用动态规划的方法求解

一般来说,能够采用动态规划方法求解的问题,必须满足最优化原理和无后效性原则:
1、动态规划的最优化原理。作为整个过程的最优策略具有:无论过去的状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略的性质。也可以通俗地理解为子问题的局部最优将导致整个问题的全局最优,即问题具有最优子结构的性质,也就是说一个问题的最优解只取决于其子问题的最优解,而非最优解对问题的求解没有影响。
在最短路径问题中,A到E的最优路径上的任一点到终点E的路径,也必然是该点到终点E的条最优路径,即整体优化可以分解为若干个局部优化。
2、动态规划的无后效性原则。所谓无后效性原则,指的是这样一种性质:某阶段的状态旦确定,则此后过程的演变不再受此前各状态及决策的影响。也就是说,“未来与过去无关”,当前的状态是此前历史的一个完整的总结,此前的历史只能通过当前的状态去影响过程未来的演变。
由此可见,对于不能划分阶段的问题,不能运用动态规划来解;对于能划分阶段,但不符合最优化原理的,也不能用动态规划来解;既能划分阶段,又符合最优化原理的,但不具备无后效性原则,还是不能用动态规划来解;误用动态规划程序设计方法求解会导致错误的结果。

为什么动态规划比搜索要快?就是因为动态规划的最优性原理和无后效性。在动态规划推导出一个阶段的结果时,会将其保留,再次遇到这个结果直接调用,而不需要注重结果时怎么来的(像愚蠢的搜索,后效性),这也是剪枝——记忆化搜索,最经典的例子就是搜索和记忆化搜索一起做斐波那契数列。

动态规划的最优原理与无后效性解析相关推荐

  1. 维护无后效性的技巧——立即计算代价

    简介 无后效性是动态规划的一个基本特征之一,只有具备了无后效性的问题才可以使用动态规划求解.直观上讲,无后效性是指"现在不会影响未来",或者说现在的决策不会影响未来如何决策.一个不 ...

  2. 【NOI2019】回家路线【无后效性dp状态设计】【斜率优化】

    传送门 题意:给定MMM个班车,每个班车pip_ipi​时刻从xix_ixi​发车qiq_iqi​到达yiy_iyi​,等车ttt时间花费代价At2+Bt+CAt^2+Bt+CAt2+Bt+C,在tt ...

  3. 有后效性和无后效性的通俗理解

    无后效性是动态规划算法及贪心算法的前提条件 无后效性:某阶段的状态一旦确定,则此后过程的决策不再受此前各种状态及决策的影响. 有后效性:就是某个状态之后要做的决策会受之前的状态及决策的影响. 举例:如 ...

  4. Java 版本、语言规范、API、JDK、IDE、Java 源程序编译、执行原理(跨平台性根本原因)、特殊字符用法、8 大数据类型小结

    文章目录 前言 一.三大版本类型 二.Java 语言规范 三.应用程序接口(API) 四.Java 开发工具包(JDK) 五.集成开发环境(IDE) 六.Java 运行环境(JRE) 七.Java 源 ...

  5. 6 月直播 7 场全剧透。今天:飞腾CPU调优原理及方法 | 第 19 期

    「龙蜥大讲堂」第 19 期直播来啦!本期龙蜥大讲堂直播邀请了龙蜥社区 Arm SIG 核心成员.飞腾软件技术专家李文成分享<飞腾平台软件调优方法>,快来扫码入群,预定前排小板凳观看直播吧! ...

  6. 动态规划最优二叉搜索树C语言,【算法导论】动态规划之“最优二叉搜索树”...

    详解动态规划之"最优二叉搜索树" 之前两篇分别讲了动态规划的"钢管切割"和"矩阵链乘法",感觉到了这一篇,也可以算是收官之作了.其实根据前两 ...

  7. 第十五章 动态规划(最优二叉搜索树)

    第15章动态规划(最优二叉搜索树) 15.5 最优二叉搜索树 15.5 练习 15.5-1 15.5-2 15.5-3 15.5-4 说在前面的话: 为什么单独拿出来发? 1.由于排版篇幅问题,放一起 ...

  8. 【特征匹配】ORB原理与源码解析

    相关 : Fast原理与源码解析 Brief描述子原理与源码解析 Harris原理与源码解析 http://blog.csdn.net/luoshixian099/article/details/48 ...

  9. 超级签名-原理/机制/技术细节-完全解析

    超级签名-原理/机制/技术细节-完全解析 随着苹果对于企业分发证书的频繁吊销和日益收紧,代签名行业也随之迭代出了黑科技,即所谓的超级签名. 超级签名安装流程演示 从整个安装流程上来看,超级签名少了在设 ...

最新文章

  1. 《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一1.1 虚拟化概述
  2. matlab2011实验3,matlab实验3探索.doc
  3. matlab求kcf算法响应图_剖析KCF
  4. Oracle 中UNDO与REDO的差别具体解释
  5. jaxb xml配置_JAXB和Log4j XML配置文件
  6. 【bfs】调酒壶里的酸奶
  7. HOW TO: Troubleshoot development errors in MOSS 2007
  8. 我的宽带是100兆,为什么到户只有30-50兆,我应该换成什么型号的路由器?
  9. AngularJS自定义指令教程第2部分
  10. bzoj 3527 [Zjoi2014]力——FFT
  11. 数字电路与逻辑设计习题
  12. turtle库画一个正方形
  13. 普通人在家做什么兼职工作(推荐5个可以在家做的副业)
  14. 新动态视频壁纸微信小程序源码_支持多种分类短视频-也有静态壁纸
  15. 全球程序员收入出炉!北京收入排入全球第十
  16. vue中slot-scop=“scope“
  17. 面试管:用了HTTPS就安全了吗?HTTPS 会被抓包吗?
  18. java解压obb_obb文件怎么解压 打开obb文件的注意事项 - 驱动管家
  19. bert-ancient-chinese——专注于古汉语智能处理的BERT预训练模型
  20. wps表格怎么按特定的顺序对数据进行排序

热门文章

  1. Multisim学习(一)电路的绘制
  2. =default =delete
  3. 中国的顶级黑客在国际上是一个什么样的水平?
  4. 悠然乱弹:螺旋矩阵和蛇型矩阵的悠然版实现
  5. 很好看的Mac Terminal配色
  6. 【个人使用篇】github代码管理
  7. 怎么把ogg音频格式转换为mp3
  8. mac输密码麻烦?一位数密码来了!
  9. 第三章 Elasticsearch Query DSL -- 查询
  10. 强化学习原理及应用作业之动态规划算法【SYSU_2023SpringRL】