算法|动态规划问题
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背包问题、最优二叉搜索树。
著作权归作者所有
动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision
process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep
decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。1957年出版了他的名著《Dynamic Programming》,这是该领域的第一本著作。
二、分类
动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。
举例:
线性动规:拦截导弹,合唱队形,挖地雷,建学校,剑客决斗等;
区域动规:石子合并,加分二叉树,统计单词个数,炮兵布阵等;
树形动规:贪吃的九头龙,二分查找树,聚会的欢乐,数字三角形等;
背包问题:01背包问题,完全背包问题,分组背包问题,二维背包,装箱问题,挤牛奶(同济ACM第1132题)等;
三、应用实例:
最短路径问题、项目管理、网络流优化、库存管理、资源分配、设备更新、排序、装载等问题、最长公共子序列问题、矩阵连乘、最大子段和、凸多边形最优三角剖析、多边形游戏、图像压缩、电路布线、流水作业调度、0-1背包问题、最优二叉搜索树。
著作权归作者所有
相关文章推荐
- 算法学习 - 01背包问题(动态规划C++)
- 初入算法篇(动态规划)书架问题2
- 每周算法练习——用动态规划求解最短路径问题
- 机试算法讲解: 第51题 动态规划之最长公共子序列问题
- 算法面试---01背包问题---动态规划
- 算法分析与设计实验二(关于动态规划问题)
- 算法之旅 动态规划之车间调度问题
- 【算法学习】双调欧几里得旅行商问题(动态规划)
- [算法]动态规划之背包问题
- 【算法数据结构Java实现】Java实现动态规划(背包问题)
- 【算法导论学习-27】动态规划经典问题01:钢条切割的最大收益
- 算法实践篇-钢条切割问题-动态规划
- JAVA代码—算法基础:数塔问题(动态规划)
- 机试算法讲解: 第52题 动态规划之搬寝室问题
- 0012算法笔记——【动态规划】最长公共子串问题
- 算法分析与设计实验二(关于动态规划问题)
- 【算法】动态规划的用法——01背包问题
- 算法导论三剑客之 动态规划 01背包问题
- 算法知识之最长公共子序列问题(动态规划)