动态规划汇.pptVIP

  • 3
  • 0
  • 约2.4万字
  • 约 94页
  • 2018-05-11 发布于浙江
  • 举报
动态规划汇

动态规划 什么是动态规划? (一)动态规划是解决多阶段决策问题的一种方法。 多阶段决策问题 对于整个问题,可以根据其时间或其他顺序分成若干个前后相关联的子问题,问题的全局最优包含其子问题的局部最优,即满足最优子结构性质,并且无后效性,有边界条件,且一般划分为很明显的阶段,存在一条或多条状态转移方程。 思路 先看第5阶段,到达A点有两条路 B ? A,需要2km C ? A,需要3km 令 从P ? A的最短路径为P(A); 从P ? B的最短路径为P(B); 从P ? C的最短路径为P(C) …… P(A) = min{P(B)+2, P(C)+3}; P(B) = min{P(D)+1, P(E)+2}; P(C) = min{P(E)+5, P(F)+4}; P(A) = min{P(B)+2, P(C)+3}; P(B) = min{P(D)+1, P(E)+2}; P(C) = min{P(E)+5, P(F)+4}; D 1 B 2 A 2 3 5 P(B) E C 4 P(C) F P(N) = 2; P(O) = 3; 选择数据结构,将每条路经的长度存在数组中。 东西方向上的道路长度存在两维数组h[4][3]中, 规定数组的第一维为行号,第二维为列号。 南北方向上道路长度存至数组v[3][4]中,也规 定第一维为行号,第二维为列号。 为了计算方便,将图1改为图2 求解过程为从(0, 0)到(3, 3)求最短路径问题 定义二维数组,P[0..3][0..3]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}, 第一维为行,第二维为列。这时 P(O)为P[0][1]; P(N)为P[1][0]; … P(A)为P[3][3], P[0][0] = 0; 对于阶段1: P[0][1] = P[0][0]+h[0][0] = 0+3 = 3; P[1][0] = P[0][0]+v[0][0] = 0+2 = 3; 对于阶段2 P[1][1] = min{ P[0][1]+v[0][1],P[1][0]+h[1][0]} = min{3+1, 2+2} = 4 P[0][2] = P[0][1]+h[1][0] = 3+2 = 5 P[2][0] = P[1][0]+v[1][0] = 2+4 = 6 对于阶段3 P[1][2] = min{ P[0][2]+v[0][2], P[1][1]+h[1][1]} = min{5+3, 4+1} = 5 P[0][3] = P[0][2]+h[0][2] = 5+3 = 8 P[2][1] = min{ P[1][1]+v[1][1], P[2][0]+h[2][0]} = min{4+1, 6+1} = 5 P[3][0] = P[2][0]+v[2][0] = 6+1 = 7 对于阶段4 P[1][3] = min{ P[0][3]+v[0][3], P[1][2]+h[1][2]} = min{8+4, 5+4} = 9 P[2][2] = min{ P[1][2]+v[1][2], P[2][1]+h[2][1]} = min{5+2, 5+4} = 7 P[3][1] = min{ P[2][1]+v[2][1], P[3][0]+h[3][0]} = min{5+2, 7+3} = 7 对于阶段5 P[2][3] = min{ P[1][3]+v[1][3], P[2][2]+h[2][2]} = min{9+4, 7+5} = 12 P[3][2] = min{ P[2][2]+v[2][2], P[3][1]+h[3][1]} = min{7+2, 7+1

文档评论(0)

1亿VIP精品文档

相关文档