您的位置:首页 > 其它

算法|动态规划问题

2017-09-10 10:55 176 查看
一、什么是动态规划?

动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision
process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep
decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。1957年出版了他的名著《Dynamic Programming》,这是该领域的第一本著作。

 

二、分类

动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。

举例:

线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等;

区域动规:石子合并,加分二叉树,统计单词个数,炮兵布阵等;

树形动规:贪吃的九头龙,二分查找树,聚会的欢乐,数字三角形等;

背包问题:01背包问题,完全背包问题,分组背包问题,二维背包,装箱问题,挤牛奶(同济ACM第1132题)等;

三、应用实例:



最短路径问题、项目管理、网络流优化、库存管理、资源分配、设备更新、排序、装载等问题、最长公共子序列问题、矩阵连乘、最大子段和、凸多边形最优三角剖析、多边形游戏、图像压缩、电路布线、流水作业调度、0-1背包问题、最优二叉搜索树。

 

 

 著作权归作者所有
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: