- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态规划 长沙市第一中学 曹利国 什么是动态规划? (一)动态规划是解决多阶段决策问题的一种方法。 多阶段决策问题 对于整个问题,可以根据其时间或其他顺序分成若干个前后相关联的子问题,问题的全局最优包含其子问题的局部最优,即满足最优子结构性质,并且无后效性,有边界条件,且一般划分为很明显的阶段,存在一条或多条状态转移方程。 思路 先看第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[4][4]={{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} = 8 最后 P[3][3] = mi
文档评论(0)