- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4讲动态规划
第4讲 动态规划
我们先来看一个简单的多阶段决策问题。
现有一张地图,各结点代表城市,两结点间连线代表道路,线上数字表示城市间的距离。如图1所示,试找出从结点1到结点10的最短路径。
第一阶段 第二阶段 第三阶段 第四阶段 第五阶段
图1
本问题的解决可采用一般的穷举法,即把从结点1至结点10的所有道路列举出来,计算其长度,再进行比较,找出最小的一条。虽然问题能解决,但采用这种方法,当结点数增加,其运算量将成指数级增长,故而效率是很低的。
我们可以用深度优先搜索法来解决此问题,该问题的递归式为
其中是与v相邻的节点的集合,w(v,u)表示从v到u的边的长度。
具体算法如下:
int MinDistance(v)
{
if (v==E)
return 0;
else
{
min=maxint;
while(所有没有访问过的节点i)
{
if(v和i相邻)
{
标记i访问过了;
t=v到i的距离+MinDistance(i);
标记i未访问过;
if (tmin)
min=t;
}
}
}
}
开始时标记所有的顶点未访问过,MinDistance(A)就是从A到E的最短距离。
这个程序的效率如何呢?我们可以看到,每次除了已经访问过的城市外,其他城市都要访问,所以时间复杂度为O(n!),这是一个“指数级”的算法,那么,还有没有更好的算法呢?
分析图1可知,各结点的排列特征:
可将各结点分为5个阶段;
每个阶段上的结点只跟相邻阶段的结点相连,不会出现跨阶段或同阶段结点相连的情况,如不会出现结点1与结点4连、结点4与结点5连的情况。
除起点1和终点10外,其它各阶段的结点既是上一阶段的终点,又是下一阶段的起点。例如第三阶段的结点4、5、6,它即是上一阶段结点2、3中某结点的终点,又是下一阶段结点7、8、9中某结点的起点。
根据如上特征,若对于第三阶段的结点5,选择1-2-5和1-3-5这两条路径,后者的费用要小于前者。那么考虑一下,假设在所求的结点1到结点10最短路径中要经过结点5,那我们在结点1到结点5之间会取那条路径呢?显然,无论从结点5出发以后的走法如何,前面选择1-3-5这条路都总是会优于1-2-5的。也就是说,当某阶段结点一定时,后面各阶段路线的发展不受这点以前各阶段的影响。反之,到该点的最优决策也不受该点以后的发展影响。
由此,我们可以把原题所求分割成几个小问题,从阶段1开始,往后依次求出结点1到阶段2、3、4、5各结点的最短距离,最终得出答案。在计算过程中,到某阶段上一结点的决策,只依赖于上一阶段的计算结果,与其它无关。例如,已求得从结点1到结点5的最优值是6,到结点6的最优值是5,那么要求到下一阶段的结点8的最优值,只须比较min{6+5,5+5}即可。这样,运用动态规划思想大大节省了计算量。可以看出,动态规划是解决此类多阶段决策问题的一种有效方法。
算法如下:
void short_path()
{
F5[E]=0;
for(i=4,i=0,i--)
{
while(每一个u ∈Sk )
{
Fk[u]=无穷大;
While(每一个v∈Sk+1∩δ(u))
{
if (Fk[u]w(u,v)+Fk+1[v])
Fk[u]:=w(u,v)+Fk+1[v];
}
}
}
输出F1[A];
}一、动态规划
1、什么是动态规划
动态规划:与分治法相似,把问题分解按层次分成子问题,直到可以直接求解的子问题,然后一级一级地向上求解。
与分治法的出别在于:动态规划适用有许多重复子问题出现的问题,它保留已求出问题的解。
例如,计算矩阵连乘积。
问题:(1)矩阵相乘的定义
(2)设矩阵的阶分别为
如按计算需要的计算次数为:
50*5*100+50*100*10=75000。
如按计算需要的计算次数为:
50*5*10+5*100*10=7500。
(3)n个矩阵连乘时,怎样规划它们的乘积次序,使得所有的乘法次数最少
2、动态规划中的主要概念,名词术语
阶段:把问题分成几个相互联系的有顺序的几个环节,这些环节即称为阶段。是对整个过程的自然划分。通常根据时间顺序或空间特征来划分阶段,以便按阶段的次序解优化问题。
状态:某一阶段的出发位置称为状态。通常一个阶段包含若干状态。如图1中,阶段3就有三个状态结点4、5、6。
决策:从某阶段的一个状态演变到下一个阶段某状态的选择。
策略:由开始到终点的全过程中,由每段决策组成的决策序列称为全过程策略,简称策略。
状态转移方程:前一阶段的终点就是后一阶段的起点,
您可能关注的文档
- 河北地质大学选采冶复习资料(资源院李伟老师).doc
- 河北省2016年中考理综试题word含答案直接打印版.doc
- 泌尿术后的护理常规.doc
- 法宣在线2015湖南省普法无纸化考试题库及答案.doc
- 河南宏力学校高三第十次理综考试.doc
- 气相吸附钾的烧结矿的冶金性能影响研究.docx
- 泡沫沥青厂拌冷再生技术在某高速公路中的应用.doc
- 法规的识别及其合规性评价表.doc
- 河南省永城市2015-2016学年度八年级历史上学期期末考试试题.doc
- 波纹管换热器的基本结构及分类.doc
- 3.2.1解开光合作用之谜、叶绿体与光能的捕获 课后练习(含答案)高中生物学 必修1苏教版.docx
- 河北省唐山市2024-2025学年高一下学期期末考试政治试题(含解析).docx
- Unit 4 Amazing Plants and Animals 知识点梳理 人教版英语八年级上册.docx
- 化学品热稳定性的测试方法 绝热加速量热法TCCSAS 057-2025.docx
- TCCSAS 026-2023化工企业操作规程管理规范.docx
- TCCSAS 018-2022加氢站氢运输及配送安全技术规范.docx
- TCCSAS 047-2023危险化学品编码与标识技术规范.docx
- 基孔肯雅热知识学习考核测试试卷题库及答案.doc
- 全科医学住院医师-外科知识考试题库(附答案).doc
- 2025年基孔肯雅热应知应会知识测试考核试卷题库及答案.doc
最近下载
- 蒂森823扶梯图纸.pdf VIP
- YD-T 1539-2019 通信行业标准规范 移动通信手持机可靠性技术要求和测试方法.pdf VIP
- CEGC+II+新英语语法教程.doc
- Q_SYW 004-2019脚气灵消菌液企业标准.pdf
- 西天山的增生造山过程 - 地质通报.PDF VIP
- 《四川省海绵城市建设技术导则(试行)》.docx VIP
- Q_GDW 1140-2014 交流采样测量装置运行检验规程.PDF VIP
- 防水监理细则.doc VIP
- 建筑工程机电安装系统调试方案.docx VIP
- 低代码应用开发 课件全套 李春平 第1--9章 低代码应用开发 --- 低代码开发应用实例.pptx
文档评论(0)