第 3 篇 记表备查.pptVIP

  • 1
  • 0
  • 约5.48千字
  • 约 30页
  • 2018-07-08 发布于湖北
  • 举报
第 3 章 记表备查 动态规划 1.最优子结构 组合优化问题,指的是问题有多个可行解,每一个可行解对应一个目标值,目的是要在可行解中求得目标值最优者(最大或最小)。 最优子结构特性指的是问题的最优解包含的子问题的解相对于子问题而言也是最优的。 2.子问题重叠 问题的一个递归算法在每个递归步骤产生分支子问题时并不总是新的,而是对部分子问题解了又解。当一个递归算法一次又一次地访问同一个子问题时,我们说该最优化问题具有重叠子问题的特性。 动态规划 针对具有上述两个特征的优化问题,动态规划算法通常需要做如下的3步工作: (1)利用最优子结构定义一个关于解的目标值的递归方程。鉴于子问题的重叠性,如果自顶向下地用递归技术解每一个遇到的子问题,则可能陷入一个“时间黑洞”。 (2)因此,动态规划以自底向上地对每个新产生的子问题仅解一次且将其解保存在一个表格中,需要时可以在表中查找,且能在常数时间内完成查找。 (3)根据计算出的最优解的值构造对应的最优解。 3.1 矩阵链乘法 给定一个由n个矩阵构成矩阵序列(链)A1, A2, ..., An,要将它们相乘(假定它们按此序列是乘法相容的:Ai是pi-1?pi矩阵,而Ai+1是pi?pi+1矩阵),计算积: A1A2 ... An 只要对此序列加上括号,确定运算顺序,就可以算得它们的积。矩阵链的积称为是完全加括号的,若它或是单一的矩阵,或是两个完全加括号的矩阵子链之积,并用一对括号括起来。 1.问题的理解与描述 输入:数组p0, p1, …, pn,其中pi-1和pi分别是矩阵Ai的行数和列数,i=1, 2, …, n。 输出:计算积A1A2 ... An的最优完全加括号形式。 2.最优子结构 假定Ai Ai+1… Aj的最优完全加括号在Ak及Ak+1之间分裂。则该加括号的“前缀”子链Ai Ai+1… Ak在Ai Ai+1… A j的此最优加括号中的完全加括号必为Ai Ai+1… Ak的最优加括号。 设m[i, j]为计算矩阵所需的最少标量乘法次数 ,根据上面的最优子结构的讨论,我们有: 3.子问题重叠性 4.算法的伪代码描述 MATRIX-CHAIN-ORDER(p) 1 n ← length[p] - 1 2 for i ← 1 to n 3 do m[i, i] ← 0 4 for l ← 2 to n ?l 是矩阵链的长度 5 do for i ← 1 to n - l + 1 6 do j ← i + l - 1 7 m[i, j] ← ∞ 8 for k ← i to j - 1 9 do q ← m[i, k] + m[k + 1, j] + pi-1 pkpj 10 if q m[i, j] 11 then m[i, j] ← q 12 s[i, j] ← k 13 return m and s 5.算法的运行时间 算法有三重循环,每个循环变量(l、i 及k)最多取n-1个值,可得该算法的运行时间是Θ(n3)。 6.构造一个最优解 利用MATRIX-CHAIN-ORDER(p)返回的数表s,可以通过下列过程构造一个最优解。 PRINT-OPTIMAL-PARENS (s, i, j) 1 if i = j 2 then print Ai 3 else print ( 4 PRINT-OPTIMAL-PARENS (s, i, s[i, j]) 5 PRINT-OPTIMAL-PARENS (s, s[i, j] + 1, j) 6 print ) 3.2 最长公共子序列 1.问题的理解与描述 最长公共子序列(LCS)问题形式化为: 输入:序列X = x1, x2, ..., xm和Y = y1, y2, ..., yn。 输出:X与Y的一个最长公共子序列Z。 2.最优子结构与子问题的重叠 定理3-1(最长公共子序列的最优子结构) 设X = x1, x2, ..., xm和Y = y1, y2, ..., yn为两个序列,并设Z = z1, z2, ..., zk为X 和Y的任一LCS。 (1)若xm = yn,则zk = xm = yn且Zk-1是Xm-1和Yn-1的一个LCS。 (2)若xm ≠ yn,则zk ≠ xm蕴含着Z是Xm-1和Y的一个LCS。 (3)若xm ≠ yn,则zk ≠ yn蕴含着Z是X 和Yn-1的一个LCS。 设c[i, j]为子序列Xi和Yj的LCS的长度。根据最长公共子序列问题的最优子结构得出下列递归式: 3.算法的伪代码描述 LCS-LENGTH (X, Y) 1 m ← length[X] 2 n ← length[Y] 3 for i ← 1 to

文档评论(0)

1亿VIP精品文档

相关文档