DP基础

适合采用DP方法的最优化问题中的两个要素:

1.最优子结构和重叠子结构问题;

2.备忘录方法用来充分利用重叠子问题性质


最优子结构:
用DP求解优化问题的第一步是描述最优解的结构:若问题的一个最优解中包含了子问题的最优解,则该问题具有最优子结构(该情况下贪心算法也适用。贪心算法与DP的一个显著区别是贪心算法一自顶向下的方式使用最优子结构的,贪心算法先做当时看起来最优的选择,然后在求解一个结果子问题)。
找寻最优子结构遵循的共同模式:
1.问题的一个解可以是做一个选择。做这种选择会得到一个或者多个有待解决 的子问题
2.假设对一个给定的问题,已知的是一个可以可以导致最优解的选择。不必关心如何确定这个选择,尽管假定他是已知的。
3.在已知这个选择后,要确定那些子问题会随之发生,以及如何最好的描述所得到的子问题空间。
4.利用一种剪贴技术,来证明在问题的一个最优解中,使用的子问题的解本身也必须是最优的。通过假设每一个子问题的解都不是最优解,然后到处矛盾,即可做到这一点。特别的,通过剪除非最优的子问题解再贴上最优解,就证明了可以得到原问题的一个更好的解,因此,这与假设已经得到一个最优解相矛盾。如果有多于一个的子问题的话,由于它们通常非常类似,所以只要对其中一个子问题的剪贴处理略加修改,即可很容易的用于其他子问题。


最优子结构在问题域中以两种方式变化:
1.有多少个子问题被使用在原问题的一个最优解中
2.在决定一个最优解中使用哪些子问题时有多少个选择。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值