1.利用动态序列或时间份量去最优化一个问题的程序算法
它是解决复杂问题的一种方法,经过分解子问题,解决子问题,组合子问题的解来实现编程
2.动态编程是解决包含如下属性问题的解决办法:缓存
1)最优子结构函数
最优应用原则和最优解能被分解成子问题优化
2)覆盖子问题递归
子问题出现屡次字符串
子问题的解能够被缓存和重复利用it
3)MDP知足如下两个属性程序
贝尔曼等式给出了递归分解形式方法
值函数存储和重复利用可行解
3.DP一般用做如下问题:
时序算法、字符串算法(序列对比)、图算法(最短路径)、图模型(Viterbi algorithm)、生物信息学(晶格模型)
4.策略迭代评估