动态规划心得及步骤
动态规划是一种求解最优解的算法,适用于将求解大的复杂的问题的最优解分解成求解若干简单的子问题的最优解,并通过将子问题的最优解存储到状态变量中,从而减小时间复杂度。动态规划类似于递归方法,它与递归方法的区别就在于它存储着子问题的最优解,而不是像递归方法一样,不断重复计算相同状态值,减少计算复杂度。
动态规划
动态规划可以分为如下几个步骤:
- 状态变量的定义 :只有定义了合适的状态变量的物理意义,才能够将复杂问题转化为若干简单子问题;状态变量的定义需要通过多做练习练习,熟悉其定义规则。
- 状态转移方程的确定:这一步骤是动态规划中的核心步骤。 通过题目实际背景,将不同状态加以联系,并求得其状态转移方程。
- 状态变量初始值的确定:只有确定好了状态变量的初始值,才能够将其他状态变量利用状态转移方程求得。
- 边界条件的确定:边界条件通过状态变量的实际物理意义进行确定。
- 输出状态的确定:由题目要求输出量与自身定义状态变量之间的关系输出合适值。