动态规划
动态规划的定义
动态规划是求解决策过程最优化的数学方法,即把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解。(有点类似于数列求解通项的过程)
动态规划一般应用于要求一个问题的最优解(通常是最大值或者最小值),而且该问题能够分解成若干个子问题,并且小问题之间也存在重叠的子问题。
求解动态规划类问题步骤
- 判题题意是否为找出一个问题的最优解。
- 从上往下分析问题,大问题可以分解为子问题,子问题中还有更小的子问题。
- 从下往上分析问题 ,找出这些问题之间的关联(状态转移方程)。
- 讨论底层的边界问题。
- 解决问题(通常使用数组进行迭代求出最优解)。
动态规划算法的核心是记住已经求过的解,记住求解的方式有两种:①自顶向下的备忘录法 ②自底向上。