动态的规划2概述.pptVIP

  • 1
  • 0
  • 约1.41千字
  • 约 79页
  • 2020-09-02 发布于福建
  • 举报
HNFMS 动态规划 HNFMS 什么是动态规划? (一)动态规划是解决多阶段决 策问题的一种方法。 HNFMS 多阶段决策问题 对于整个问题,可以根据其时间或 其他顺序分成若干个前后相关联的子问 题,问题的全局最优包含其子问题的局 部最优,即满足最优子结构性质,并且 无后效性,有边界条件,且一般划分为 很明显的阶段,存在一条或多条状态转 移方程。 HNFMS 最优性原理 最优性原理”可陈述为:不论初始状态 和第一步决策是什么,余下的决策相对 于前一次决策所产生的新状态,构成 个最优决策序列。 最优决策序列的子序列,一定是局部 最优决策子序列。 包含有非局部最优的决策子序列, 定不是最优决策序列。 HNFMS MoD4余数最小问题 如图,已知一个有向图,求一条从最左边的点走到最右 边点的方案(只能从左往右走),使得所经过的权值 和除以4的余数最小 HNFMS 分析 设所有点从左至右编号为14,MIN(i)表示前 I个点的最优值,很容易得出一个方程 Min(=min Min(I-1)+num[I-1, 1)mod 4, Min(I-1)+num[I-1,2] mod 4] 通过这个方程可以求出一条路径为(2+3+1)MoD 4=2 但最优值实际上是 (2+1+1)MoD4=0。 为什么会出错呢? HNFMS 观察以上数据发现取Mn(3)的时候,动态规划 求出来的最优值为1,而正确的值应该为0,由 此可知本题对应于一条最优路径,并不是这条路 径上的所有点的最优值都是从点1到该点可得的 最优值,对于每一个阶段都取最优值并不能保证 求出最优解,即不满足最优化原理,因此这种规 划方法在本题行不通。 HNFMS 让我们来换一个思路思考本题,因为本题是要求总和除以4 余数最小的一条路径,我们先撒开最小余数不去管它,而是 将本越改为从点1到点4的所有路径中,求出每条路上权值和 除以4的不同余数的个数 我们设一个数组can表示从点1至点I可不可以求出 条路径是该路径的权值总和除以4的余数为J,那么又可以 得出一个方程 (os: can[I-1, k]and(k+num[I, P])mod 4=j) can[f 31=p=2) can[1,o]=true can[1,1]=false can [1,2]=false can[1,3=false 通过这个方程我们可以求出从点1至点I可以达到的所有 余数,我们只要从这些余数中选出一个值最小的输出就行。 HNFMS 动态规划的指导思想是 在做每一步决策时,列出各种可能的局部解,之后 依据某种判定条件,舍弃那些肯定不能得到最优解的 局部解。这样,在每一步都经过筛选,以每一步都是 最优的来保证全局是最优的。筛选相当于最大限度地 有效剪枝(从搜索角度看),效率会十分高。但它又 不同于贪心法。贪心法只能做到局部最优,不能保证 全局最优,因为有些问题不符合最优性原理。 HNFMS 两种算法的差别在于,贪心法产生一个按贪心策略形成的判 定序列,该序列不保证解是全局最优的。而动态规划会产生 许多判定序列,再按最优性原理对这些序列加以筛选,去除 那些非局部最优的子序列。

文档评论(0)

1亿VIP精品文档

相关文档