动态规划算法
时间:2011-11-30
来源:互联网
然而它本身或许不是很好理解,这里做一下本人对它的理解。
动态规划三要素:阶段,状态,决策
1、阶段是对整个过程的自然划分
2、状态表示每个阶段开始时过程所处的自然状况
3、当一个阶段的状态确定后,可以作出各种选择从而演变到下一阶段的某个状态,这种选择手段称为决策
找出此类问题的关键:
1、能够用动态规划来求解(这是基本前提)
利用最优性原理来进行判断(这里不做解释)
2、获得状态转移方程(这是重点)
可以看做动态规划求解实际问题的时候,就是来获得当某阶段的状态和决策为已知,下阶段的状态可以通过该阶段来表示出来,而且它们之间满足一个状态转移方程:X[k+1]=T[k](X[k],U[k](X[k]))
3、根据题目要求对决策过程中产生的中间状态进行选取(如0/1背包问题中要求不超过重量上限的情况下获得最大效益,这里面获得大效益便是一个限制条件,可以用来在中间决策中产生的状态中进行选择
这里总结一下一般思路:
拿到多阶段决策最优化问题后,第一步要判断这个问题是否可以用动态规划解决,如果不能就要考虑搜索或贪心了。当确定问题可以用动态规划后,就要用下面介绍的方法解决问题了:
(1)模型匹配法:
最先考虑的就是这个方法了。挖掘问题的本质,如果发现问题是自己熟悉的某个基本的模型,就直接套用,但要小心其中的一些小的变动,现在考题办都是基本模型的变形套用时要小心条件,三思而后行。这些基本模型在先面的分类中将一一介绍。
(2)三要素法
仔细分析问题尝试着确定动态规划的三要素,不同问题的却定方向不同:
先确定阶段的问题:数塔问题,和走路问题
先确定状态的问题:大多数都是先确定状态的。
先确定决策的问题:背包问题
(3)寻找规律、拼凑法:
这个方法很简单,耐心推几组数据后,看他们的规律,总结规律间的共性,这里一般可以比较容易的得到状态转移方程,也就是确定下一阶段与前一阶段之间的联系
(4)边界条件法
找到问题的边界条件,然后考虑边界条件与它的领接状态之间的关系。这个方法也很起效。
(5)放宽约束和增加约束
这个思想是在陈启锋的论文里看到的,具体内容就是给问题增加一些条件或删除一些条件使问题变的清晰。
作者: aooatlbcumkf 发布时间: 2011-11-30
作者: lazygirlgo 发布时间: 2011-11-30
作者: wangweitingaabbcc 发布时间: 2011-11-30
·
作者: wrjade 发布时间: 2011-11-30
该回复于2011-11-30 17:09:00被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#5楼 得分:0回复于:2011-11-30 17:24:32
|
作者: cherriesqq 发布时间: 2011-11-30
还有请问楼主怎样思考来找出状态?
作者: renq_654321 发布时间: 2011-11-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28