动态规划是什么,意义在哪里?!!!!
2017-04-11 20:42
253 查看
今天花了几个小时,重新理解了一下dp。。。
首先我们要知道为什么要使用dp,我们在选择dp算法的时候,往往是在决策问题上,而且是在如果不使用dp,直接暴力效率会很低的情况下选择使用dp.
那么问题来了,什么时候会选择使用dp呢,一般情况下,我们能将问题抽象出来,并且问题满足无后效性,满足最优子结构,并且能明确的找出状态转移方程的话,
dp无疑是很好的选择。
无后效性是什么呢,无后效性通俗的说就是只要我们得出了当前状态,而不用管这个状态怎么来的,也就是说之前的状态已经用不着了,如果我们抽象出的状态有后效性,很简单,我们只用把这个值加入到状态的表示中。
最优子结构:在决策问题中,如果,当前问题可以拆分为多个子问题,并且依赖于这些子问题,那么我们称为此问题符合子结构,而若当前状态可以由某个阶段的某个或某些
状态直接得到,那么就符合最优子结构
状态转移:这个概念比较简单,在抽象出上述两点的的状态表示后,每种状态之间转移时值或者参数的变化。
接下来就是大量的训练来达到熟练使用了
首先我们要知道为什么要使用dp,我们在选择dp算法的时候,往往是在决策问题上,而且是在如果不使用dp,直接暴力效率会很低的情况下选择使用dp.
那么问题来了,什么时候会选择使用dp呢,一般情况下,我们能将问题抽象出来,并且问题满足无后效性,满足最优子结构,并且能明确的找出状态转移方程的话,
dp无疑是很好的选择。
无后效性是什么呢,无后效性通俗的说就是只要我们得出了当前状态,而不用管这个状态怎么来的,也就是说之前的状态已经用不着了,如果我们抽象出的状态有后效性,很简单,我们只用把这个值加入到状态的表示中。
最优子结构:在决策问题中,如果,当前问题可以拆分为多个子问题,并且依赖于这些子问题,那么我们称为此问题符合子结构,而若当前状态可以由某个阶段的某个或某些
状态直接得到,那么就符合最优子结构
状态转移:这个概念比较简单,在抽象出上述两点的的状态表示后,每种状态之间转移时值或者参数的变化。
接下来就是大量的训练来达到熟练使用了
相关文章推荐
- 什么是动态规划?动态规划的意义是什么?
- 什么是动态规划?动态规划的意义是什么?
- 什么是动态规划?动态规划的意义是什么?
- 上海自贸区是什么?在哪里?面积多大?设立意义
- 什么是动态规划?动态规划的意义是什么?
- 100%, 但是有什么意义呢?
- select * from Employee group by name这样的语法有什么意义?
- C#.NET常见问题(FAQ)-get set属性有什么意义
- 处于同一个行业,总感觉 软件开发 没有什么好开发的,你们对软件开发感兴趣么,你们的快乐来自哪里呢?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗
- 傅里叶变换,其物理意义是什么?(转)
- using 和 new 这两个关键字有什么意义?
- 香、灯烛、花、果、水等供具的表法意义是什么? [摘编]
- runat="server"的根本意义是什么?
- 重写,什么是重写?重写的意义是什么?为什么不直接在子类里面新建一个方法?
- 卷积的物理意义是什么?
- java中方法重载是什么, 实际中到底有什么意义, 用处?请举例
- convertView与ViewHolder有什么区别,好处在哪里
- windows下的host文件在哪里,有什么作用?
- [非典型游记]什么是烟花?几时是三月?哪里是扬州?