动态规划算法分析报告.ppt

主讲:何芸倩 基本概念 动态规划:动态规划是运筹学的一个分支,它将多阶段问题转化为一系列的单阶段问题,利用各个阶段之间的关系,逐个求解。一个问题能用动态规划解决,必须具有一下几个性质。 最优子结构:假设某问题有N个阶段,对于某一个阶段的决策,可以由其之前某一个阶段的决策来获得,就可以说这个问题具有最优子结构性质,否则就没有。 无后效性:对于一个多阶段问题,某一个问题的决策一旦确定,其后面的阶段如何演变,对当前阶段的决策不造成任何影响,即为无后效性。 动态规划的一般解题步骤 确定状态:状态就是我们之前所说的阶段,就是我们之前所说的阶段,我们要确定的是对于某一道题目,要分出什么样的阶段,对于每一个阶段,我们所要做的决策是什么。注意,我们要找的状态必须具有最优子结构性质和无后效性。 寻找状态转移关系:确定了状态之后,我们需要寻找状态与状态之间存在着什么样的关系,即如何从某一个状态的决策来推出另一个状态的决策,找到关系以后,就可以列出适用于题目的函数,此函数叫做状态转移方程。 动态规划的有两种解题策略:递推和记忆化搜索。 例题分析 给定一个台阶数为N的楼梯,从第一阶开始走,一步可以迈一阶,也可以迈两阶,问从最底层走到最顶层,有多少种走法。 分析:首先,对于某一个台阶,有两种可能性上来,一种迈一阶上来的,一种是迈两阶上来的,那么,迈到这一个台阶的方法数就应该是从迈到前一阶的方法数加上迈到前两

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档