动态规划

来源:互联网 发布:腰部按摩器 知乎 编辑:程序博客网 时间:2024/05/19 17:48

动态规划的思想:

同分治法类似,将待求解问题分解成若干子问题,先求出子问题,然后从这些子问题的解得到原问题的解。但与分治法不同的是,适用于分治法的问题,经分解得到的子问题可以是相互独立的,而适用于动态规划求解的问题,经分解得到的子问题往往不是相互独立的,彼此之间有联系。分治法的子问题被重复计算多次,而动态规划发采用一个表来记录已解决子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将结果填入表中,在需要的时候再找出已求得的答案。


动态规划算法适用于解最优化问题。通常包括4个步骤:

(1) 找出最优解的性质,并刻画其结构特征。最优子结构性质

(2) 递归地定义最优值。

(3) 以自底向上的方式计算出最优值。

(4) 根据计算最优值时得到的信息,构造最优解。


示例:矩阵连乘问题。

给出n个矩阵{A1……An},其中Ai 和A(i+1)是可乘的,考察这n个矩阵的连乘积。通过哪种加括号方式(即:断开位置k)可以使得数乘次数最少。

具体见   王晓东《计算机算法设计与分析》 P45-P49

原创粉丝点击