动态规划思想总结

一、dp的思想及实现方法:

  动态规划是求解决策过程最优的数学方法,它的核心思想是把多阶段过程转化为一系列单阶段的问题,利用各阶段之间的关系,逐个求解。

二、动态规划大的分类:

(1)线性动规;(2)区域动规;(3)树形动规;(4)背包动规。

三、动态规划的概念、意义

  动态规划程序设计是对解最优化问题的一种途径、一种方法,而不是一种特殊算法。不像搜索或数值计算那样,具有一个标准的数学表达式和明确清晰的解题方法。动态规划程序设计往往是针对一种最优化问题,由于各种问题的性质不同,确定最优解的条件也互不相同,因而动态规划的设计方法对不同的问题,有各具特色的解题方法,而不存在一种万能的动态规划算法,可以解决各类最优化问题。因此读者在学习时,除了要对基本概念和方法正确理解外,必须 具体问题具体分析处理,以丰富的想象力去建立模型,用创造性的技巧去求解。我们也可以通过对若干有代表性的问题的动态规划算法进行分析、讨论,逐渐学会并掌握这一设计方法。

  其中含有递推的思想以及数学中的加法原理,乘法原理。

四、动态规划的基本思想

  动态规划算法通常用以求解具有某种最有性质的问题。这类问题可能存在许多可行解,每个节对应一个值,我们的目的通过这种思想找到最优解。其方法是通过想求解子问题,然后从这些子问题的解得到原问题的解。因此我们能够保存已经解决的子问题的答案,而在需要时再找出来已经求得的答案,这样可避免大量预算,节省时间。我们可以用一个表记录所有已经解决的子问题的答案。不管之后是否会用到,只要他被计算过,就将其结果填入表中。这就是动态规划的基本思路,虽然动态规划算法多种多样,但是他们具有相同的填表格式。

五、基本概念

1、多阶段

  通常一类活动过程可以分为若干个互相联系的阶段,每个阶段都需要作出决策(采取措施),一个阶段决策确定以后,常常影响到下一个阶段的决策,从而完全确定一个活动的路线,则称他为多阶段决策问题。

2、动态规划问题中的术语

  阶段:把所有求解问题的过程恰当的分为果敢个相互联系的阶段,便与求解,过程不同,阶段数就不同。

  状态:表示每个阶段开始面临的自然状况或客观条件,成为不可控制的因素。

  无后效性:给定某一阶段的状态,这阶段之后的过程的发展不受不受之前的影响,多有阶段确定,整个过程将确定。过程的历史只能通过当前的状态去影响它的未来的发展。

  决策:给定一个状态,从该状态演变到下一个阶段的某个状态的一种选择成为决策。决策可表示为一个数或一组数,不同的决策对应不同的数值。因为满足无后效性,每个阶段选择决策时只需考虑当前的状态无需考虑历史状态。

  状态转移方程:给定k阶段状态变量x(k),若k+1阶段状态变量x(k+1)也确定下来,这就是状态转移的规律,称为状态转移方程。最优原理:作为整个过程的最优决策,他满足:相对前面的状态来说,余下的子策略必是最有子策略。

六、基本模型

  (1)确定问题的决策对象。 (2)对决策过程划分阶段。 (3)对各阶段确定 状态变量。 (4)根据状态变量确定费用 函数和目标函数。 (5)建立各阶段状态变量的转移过程,确定状态转移方程。

 做

你可能感兴趣的:(算法的核心概念)