- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态规划_lyt,动态规划,动态规划算法,动态规划法,01背包问题动态规划,背包问题动态规划,动态规划原理及应用,动态规划算法例题,旅行商问题动态规划,动态规划算法思想
动态规划 2009级信科1班 李远韬 动态规划的基本原理 将问题转化为规模更小的问题解决。 动态规划与搜索的区别在于动态规划会将已经解决过的子问题的解保存下来,下次需要时直接调用(以空间换时间),而搜索则会将已经计算过的问题再计算一遍。 状态、阶段与决策 状态:用于描述一个子问题 阶段:按照一定的顺序计算所有子问题 决策:通过决策将一个问题转化为更小的子问题 使用动态规划的两个基本条件 最优子结构:问题的最优解只取决与子问题的最优解,即局部最优推出全局最优 无后效性:问题只依赖于更小的子问题,即能够按一定的顺序计算每个子问题,使得每个子问题的解都只依赖于前面已经计算过的问题的解 一个简单的例子:最长上升子序列 给出一个序列a1,a2,…,an,找到序列a的子序列a(i1),a(i2),...,a(il),1=i1i2...il=n,a(i1)a(i2)...a(il),使得l最大 一个简单的例子:最长上升子序列 状态:f[i]表示序列a1,a2,...,ai的包含ai的最长的子序列的长度 阶段:按i从小到大划分阶段,即按照i从小到大的顺序计算f[i],计算f(i)时只依赖于前面计算过的f值 决策:枚举f(i)对应的子序列a(i1),a(i2),...,a(i(l-1)),i中i(l-1)的值,设i(l-1)=j,则问题转化为在a1,a2,...,aj中找最长上升子序列 一个简单的例子:最长上升子序列 状态转移方程:f(i)=max{f(j)+1},(1=ji,ajai) 时间复杂度:O(n^2) 动态规划的两种优化方法 简化状态,减少状态总数 减少可行的决策 牛场围栏(fence) 有N种木料,长度分别为L1,L2,...,LN,每种木料数量无限,每根木料最多可以削短M米,且只能削去整数米,用这些木料修建围栏,问无法修建的最大围栏的长度,如果这个值为无穷大或者任何长度的围栏都可以修建,输出-1 数据范围:N=100,M=3000,1=Li=3000 简化问题 预处理:将每根木料分别削去0,1,2,...,m,得到m根木料,再统计所有的木料长度,去除重复 问题简化为有m根木料,长度分别为L1,L2,...,Lm(不能削短),问不能拼出的最长围栏的长度(或输出无解) 下面只讨论简化后的问题 牛场围栏(fence) 一个很自然的想法是通过动态规划计算出对于每个长度L,能否通过现有的木料拼出,但是长度L是没有限制的,即状态的总数可以达到无限,必须减少状态总数 牛场围栏(fence) 如果存在长度为L的木料,注意到如果可以拼出长度为x的围栏,那么长度为x+L,x+2L,x+3L,...,x+kL...,的围栏都可以被拼出 牛场围栏(fence) 我们将状态设为f(i),(0=iL)表示最小的整数x,满足x可以被拼出,且x mod L=i,如果x不存在,则f(i)为正无穷 为了减少状态总数,加快速度,我们取L=min{L1,L2,...,Lm} 如果我们能计算出所有的f(i),则答案ans=max{f(i)-L},ans0时则所有长度的围栏都可以被拼出 牛场围栏(fence) 状态转移方程: f(i)=min{f(j)+Lk} ,((j+Lk) mod L=i) 如何划分阶段?? 如果按照i从小到大划分阶段,不满足无后效性 牛场围栏(fence) 仔细观察状态转移方程 f(i)=min{f(j)+Lk} ,((j+Lk) mod L=i) 注意到f(0)=0,我们建立一个N个节点的图,以0为源点,对所有满足(j+Lk) mod L=i的点i,j,从i向j连一条长度为Lk的边,则f(i)就等于从0到i的最短路 时间复杂度:O(L^2) 牛场围栏(fence) 此题中的最短路算法本质上也可以看做是以f(i)的值从小到大划分阶段的动态规划,因为f(i)只能由比f(i)的值小的状态f(j)推出。 小结 在上面一道题中,我们通过分析问题,减少状态总数,成功的解决了此题 下面我们来看一个通过减少决策总数来优化动态规划的例子 序列划分 给出一个正整数序列,a1,a2,…,aN,将序列分成若干段,每段有一个权值,如将ai,…,aj划分成一段,则该段权值F=(a(i)+a(i+1)+…+a(j))*i+T,求一种划分方案,使得每段的权值之和最小 数据范围:1=N=1000000 序列划分 我们可以很容易的得到一个O(N^2)的动态规划 设状态为f[i],表示序列a1,a2,…,ai的最优划分方案中每段的权值之和 状态转移方程为f[i]=min{(sum[i]-sum[k])*i+t+f[k]},其中sum[i]=a1+a2+…+ai 但是此题中N的范围可以达到1000000,需要优化算法 序列划分 对于状态f[i]的两种决策k
您可能关注的文档
- 力学综合新信息题目展示.doc
- 力拓台球厅棋牌室计费软件使用说明书.doc
- 力源信息:国浩律师集团(上海)事务所关于公司首次公开发行股票并在创业板上市的律师工作报告 2011-01-26.pdf
- 力源信息:国信证券股份有限公司关于公司首次公开发行股票并在创业板上市的发行保荐书 2011-01-26.pdf
- 力源信息:国信证券股份有限公司关于公司首次公开发行股票并在创业板上市的发行保荐工作报告 2011-01-26.pdf
- 力源信息:国浩律师集团(上海)事务所关于公司首次公开发行股票并在创业板上市的法律意见书 2011-01-26.pdf
- 力矩扳手及工具工装保护.ppt
- 力神联想BL203电池技术规格书.pdf
- 力源信息:国浩律师集团(上海)事务所关于公司首次公开发行股票并在创业板上市的补充 2011-01-26.pdf
- 办公室及家居布局.ppt
最近下载
- 工业机器人编程语言:RAPID(ABB):RAPID与视觉系统集成技术教程.lever.pdf VIP
- 20ZJ401楼梯栏杆图集标准.pdf VIP
- 〖JGJ_T350-2015〗保温防火复合板应用技术规程.pdf VIP
- 公司法试题及答案解析.doc VIP
- 超声副高个人专业技术工作总结.docx VIP
- 浙教版九年级科学上册单元测试题全套(含答案).pdf VIP
- GBT12465-2007管路补偿接头.pptx
- GB 50268-2008 给水排水管道工程施工及验收规范(高清).pdf VIP
- 《几种重要的盐》同步练习题1.doc VIP
- 英语推销产品旗袍产品直播教学能力比赛教案.pdf VIP
文档评论(0)