动态规划(dp)学习笔记

1、动态规划原理适合应用动态规划方法求解的问题具有两个要素:最优子结构和子问题重叠。1.1、最优子结构所谓问题具有最优子结构性质,就是问题的最优解包含其子问题的最优解。这个要素可以帮助我们确定一个问题是否可以应用动态规划或者贪心策略解决。而发掘一个问题的最优子结构性质的过程,可以遵循以下通用模式:证明问题最优解的第一个组成部分是做出一个选择; 对一个给定问题,假定在其第一步选择中,已知哪种选择能得到最优解(不关心如何得到这种选择); 对这一给定的最优解选择,确定会产生哪些子问题,以及如何
摘要由CSDN通过智能技术生成

1、动态规划原理

适合应用动态规划方法求解的问题具有两个要素:最优子结构子问题重叠

1.1、最优子结构

所谓问题具有最优子结构性质,就是问题的最优解包含其子问题的最优解。这个要素可以帮助我们确定一个问题是否可以应用动态规划或者贪心策略解决。而发掘一个问题的最优子结构性质的过程,可以遵循以下通用模式:

  1. 证明问题最优解的第一个组成部分是做出一个选择;
  2. 对一个给定问题,假定在其第一步选择中,已知哪种选择能得到最优解(不关心如何得到这种选择);
  3. 对这一给定的最优解选择,确定会产生哪些子问题,以及如何最好地刻画这个子问题空间;
  4. 利用剪切粘贴方法,证明每个子问题的解在作为构成原问题的最优解的组成部分时,这个解就是子问题本身的最优解。

刻画子问题空间时,最好保持子问题空间尽可能简单。

在动态规划方法中,通常自底向上使用最优子结构,也就是先求出子问题最优解并记录下来,再求原问题的最优解。贪心策略与之相对,先求一个局部最优解,再求解随之产生的子问题,从而不必求解所有的子问题。

使用动态规划需要注意问题是否具有最优子结构性质。例如有向图的无权最短路径问题与无权最长路径问题,前者有最优子结构,但后者作为NP完全问题是没有最优子结构的。这是由于最长简单子路径问题是相关的,一个子问题使用过的顶点是无法被另一个子问题使用的;而最短简单子路径问题之间不共享资源,是无关的(independent),因为假如有一个顶点同时出现在两条最短子路径上࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值