Lecture 3: Planning by Dynamic Programming

1.利用动态序列或时间分量去最优化一个问题的程序

    它是解决复杂问题的一种方法,通过分解子问题,解决子问题,组合子问题的解来实现

2.动态编程是解决包含以下属性问题的解决办法:

    1)最优子结构

         最优应用原则和最优解能被分解成子问题

    2)覆盖子问题

         子问题出现多次

         子问题的解可以被缓存和重复利用

    3)MDP满足以下两个属性

         贝尔曼等式给出了递归分解形式

         值函数存储和重复利用可行解

 3.DP通常用作以下问题:

      时序算法、字符串算法(序列对比)、图算法(最短路径)、图模型(Viterbi algorithm)、生物信息学(晶格模型)

 4.策略迭代评估

  

  

 

 

    

posted @ 2017-03-31 19:01  陈煜弘  阅读(290)  评论(0编辑  收藏  举报