动态路径规划算法有哪些,几个经典的动态规划算法

首页 > 教育 > 作者:YD1662024-05-17 10:59:21

图6-13

最长公共子串的长度相同,都包含两个字母!但fosh与fish更像。

动态路径规划算法有哪些,几个经典的动态规划算法(17)

图6-14

这里比较的是最长公共子串,但其实应比较最长公共子序列:两个单词中都有的序列包含的

字母数。如何计算最长公共子序列呢?

动态路径规划算法有哪些,几个经典的动态规划算法(18)

图6-15

最终的网格如下。

动态路径规划算法有哪些,几个经典的动态规划算法(19)

图6-16

伪代码实现如下。

if (word_a[i] == word_b[j]) cell[i][j] = cell[i-1][j-1] 1; else cell[i][j] = max(cell[i-1][j], cell[i][j-1]);小结:

七、动态规划算法的局限性

动态规划对于解决多阶段决策问题的效果是明显的,但是动态规划也有一定的局限性。首先,它没有统一的处理方法,必须根据问题的各种性质并结合一定的技巧来处理;另外当变量的维数增大时,总的计算量及存贮量急剧增大。

动态规划的维数就是指状态变量的维数,而不是指决策变量或策略的维数。状态变量的维数过大,在应用动态规划的方法求解时将大大增加电子计算机的内存量。解题所需要的内存量一般按指数速度增加的。

因而,受计算机的存贮量及计算速度的限制,当今的计算机仍不能用动态规划方法来解决较大规模的问题,这就是“维数障碍”

八、附录附录1 证明最优子结构中原问题的最优解包含子问题的最优解

以0-1背包问题为例证明。

0-1背包问题: 给定n中物品和一个背包,物品i的重量是wi,其价值为vi,背包的容量为C。如何选择装入背包的物品,使得装入背包中物品的总价值最大?

0-1背包问题等价于一个整数规划问题:

动态路径规划算法有哪些,几个经典的动态规划算法(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.