优子

动态规划

喜你入骨 提交于 2020-03-03 15:43:07
目录 1. 步骤 2. 要素 3. 装配线调度 4. 矩阵链乘 5. 最长公共子序列(Longest Common Subsequece) 6. 最优二叉查找树(Optimal Binary Search Tree) 1. 步骤 描述问题的最优解(optimal solution)结构特征 递归定义最优解值 自底向上 计算最优解值 从已计算得到的最优解值信息中构造最优解 2. 要素 最优子结构和重叠子问题 最优子结构性质是指一个问题的最优解中所包含的所有子问题的解都是最优的。 动态规划避开了递归时,重复计算相同子问题的过程,对每个子问题只解一次,而后将其保存在一个 表格中,当再次需要的时候,查表获取。 3. 装配线调度 最优子结构性质:如果问题的解是最优的,则所有子问题的解也是最优的。在这里,描述为最优 路径的子路径也是最优的。 最优子结构证明:剪枝法 ∵如果子路径P1从开始到S1,j-1不是最优的,那么一定存在一条从开始到S1,j-1的更优子路径P2, 当用P2去替换原子路径P1后,将得到一条比原路径更优的路线,这与假设从开始到S1,j是一条最 优路线矛盾。 ∴子路径P1一定也是最优的 递归定义最优路线的最快时间 最快时间 f =min(f1[n]+x1,f2[n]+x2) 要得到f 值,需要计算fi[j]的每个值 f1[j]=min{f1[j-1]+a(1,j),f2[j-1]