码迷,mamicode.com
首页 > 其他好文 > 详细

动态规划

时间:2018-06-04 11:41:26      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:迭代思想   min   斐波那契   矩阵乘法   例子   过程   价值   形式   bsp   

多阶段决策过程最优

问题由交叠的子问题构成

子问题:一次求解,永久保存

函数幂等

动态规划不但可以作为特殊的空间换时间权衡技术,

也可以经改进避免使用额外的空间

 

经典自底向上:需要求解所有子问题

试图避免不必要的子问题求解:递归

共同点:递推式

 

最优化法则:问题最优——子问题最优

反例:最长简单路径

 

例子:

一排硬币,选不相邻,总金额最大

前 i 枚最大+是否选i+1

 

问题描述

无限硬币,最少数目找零

总金额为n的最少的硬币数=某个面值d+总金额为(n-d)的最少的硬币数

 

左上角到右下角爬格子收集硬币

当前位置=max(左一格,上一格)

 

背包

n个物品,重量wi,价值vi,总承重W,最大化价值

是否包含物品i

 

记忆化功能:

自顶向下求解,记录已求解子问题

 

问题分解(递归思想)

问题构造(迭代思想)

问题分解为子问题的第一步:分解出最小可执行子问题

或分解为两个子问题

 

最优二叉查找树

满足左<父<右

元素查找概率已知  

 最优=左子树最优+右子树最优+父节点

C(i,j)=min(C(i,k-1)+C(i,k+1))+all(p(i-j))

 

 

 

Warshall:有向图传递闭包

Flody:全部最短路径

 

有向图传递闭包:两点是否存在路径

深搜广搜得到:路径重复

n阶布尔矩阵

R0——Rn

自身可达——最大长度路径n-1!

不是矩阵乘法

 

完全最短路径

最短路径:距离矩阵

不包含负回路,包含?

 

矩阵中任意元素可由直接前驱计算得到

斐波那契

问题转换为斐波那契形式:内存优化

 

矩阵k:中间节点编号不大于k

 

适当初始化完成减枝?

 

动态规划

标签:迭代思想   min   斐波那契   矩阵乘法   例子   过程   价值   形式   bsp   

原文地址:https://www.cnblogs.com/qmcj/p/9131764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!