网站大量收购独家精品文档,联系QQ:2885784924

第3章 动态规划教程文件.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 动态规划教程文件.ppt

*;*;*;货郎担问题;分别求从城市i出发的哈密尔顿回路,最后求n条回路的最小值。 ;货郎担问题动态规划函数的递归表示;4个城市1、2、3、4,邻接矩阵如下表。;解:以从城市1出发为例,求哈密尔顿回路,其它城市同理。 第一阶段 d(1,{2,3,4}) = min{c12+d(2,{3,4}),c13+d(3,{2,4}), c14+d(4,{2,3})} 第二阶段 d(2,{3,4}) = min{c23+d(3,{4}),c24+d(4,{3})} d(3,{2,4}) = min{c32+d(2,{4}),c34+d(4,{2})} d(4,{2,3}) = min{c42+d(2,{3}),c43+d(3,{2})} ; 回溯第2阶段 d(2,{3,4}) = min{2+5,3+11} = 7 {2,3,4,1} d(3,{2,4}) = min{4+6,2+12} = 10 {3,2,4,1} d(4,{2,3}) = min{7+8,5+9} = 14 {4,3,2,1} 回溯第1阶段 d(1,{2,3,4}) = min{3+7,6+10,7+14} = 10 {1,2,3,4,1};动态规划解货郎担问题求解过程示意图;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;(3)计算最优值;*;*;*;*;*;*;由最长公共子序列问题的最优子结构性质可知:要找出X={x1,x2,x3,…,xm}和Y={y1,y2,y3,…,yn}的最长公共子序列,可按以下方式递归计算: 当xm=yn时,找出xm-1和yn-1的最长公共子序列,然后在其尾部加上xm(=yn)即可得X和Y的最长公共子序列。 当xm?yn时,必须解两个子问题:即找出xm-1和y的一个最长公共子序列及x和yn-1的一个最长公共子序列。这两个公共子序列中较长者即为x和y的最长公共子序列。;*;*;*;*;*;*;*;*;*;*;nLCS(sX, sY, nA, nB) 1 for i ← 1 to nA do nZ[i, 0] ← 0 2 for j ← 0 to nB do nZ[0, j] ← 0 3 for i ← 1 to nA do 4 for j ← 1 to nB do 5 if xi = yj 6 then nZ[i, j] ← c[i - 1, j - 1] + 1 7 cStep [i, j ] ← “↖” 8 else if nZ[i - 1, j] ≥ nZ[i, j - 1] 9 then nZ[i, j] ← nZ[i - 1, j] 10 cStep [i, j] ← “↑” 11 else nZ[i, j] ← nZ[i, j - 1] 12 cStep [i, j] ← “←” 13 return nZ and cStep; 举例;找出最长共同子序列;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;i=8: cost[8]=c89+cost[9]=3+0 path[8]=9 i=7: cost[7]=c79+cost[9]=7+0 path[7]=9 i=6: cost[6]=min{c67+cost[7],c68+cost[8]}=min{6+7,5+3}=8 path[6]=8 i=5: cost[5]=min{c57+cost[7],c58+cost[8]}=min{8+7,6+3}=9 path[5]=8 i=4:

您可能关注的文档

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档