动态规划优化PPT讲稿.ppt
《动态规划优化PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《动态规划优化PPT讲稿.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、动态规划优化第1页,共48页,编辑于2022年,星期五简介动态规划优化的主要方法:1、降维(优化状态)2、优化转移3、常数优化第2页,共48页,编辑于2022年,星期五1.降维降维是一个通用的说法,其实质就是通过改变动态规划的状态含义,或者抛弃一些冗余状态环节,达到减少状态,加速动态规划的目的第3页,共48页,编辑于2022年,星期五1.1转变思路很多时候,当得出某种动态规划模型的时候,不要着急动手,而是需要仔细思考一下,是不是有更好的状态表示方法多积累经验,同时又不能拘泥于死板的模型理论,要有创新意识。第4页,共48页,编辑于2022年,星期五1.1.1例题给定N*M的空白棋盘,在其中放任意
2、放车(可以不放),要使得放在棋盘上的车两两不能攻击,求方案总数MOD P的值。第5页,共48页,编辑于2022年,星期五1.1.1.1思路一按照基本的状态压缩动态规划模型进行解答。optKS表示已经放了前K行,并且每一列是否有车的状态为S(S为一个0/1的2进制序列,那一位为1则表示对应一列已经放过了一个车)的合法方案的数量。比如opt2(101)2即表示前2行放了车且第1,3列有车的状态。第6页,共48页,编辑于2022年,星期五1.1.1.1思路一则转移就是枚举这一行放还是不放,如果放的话则枚举所有没有放车的行,将对应的2进制位标记为1,进行转移。时间复杂度O(NM2M)空间复杂度O(2M
3、)但是如果N,M1000该怎么办呢?第7页,共48页,编辑于2022年,星期五1.1.1.2思路二换一个角度来分析问题可以发现,我们需要知道的只是有多少列目前没有放车,并不需要知道具体是哪些列没有放车!因此optk(101)2和optk(110)2是本质等价的。于是我们可以把状态改为:optkS表示放置了前k行,并且有S列没有放置。第8页,共48页,编辑于2022年,星期五1.1.1.2思路二此时转移稍有不同optk+1S=optkS+optkS+1*(S+1)此时时间复杂度为O(NM)空间复杂度为O(NM)问题得到了解决可见对问题透彻的分析是得出最有效规划方式的前提。第9页,共48页,编辑于
4、2022年,星期五1.2抛弃冗余很多时候一些状态是不需要的,或者某些维是可以合并的。经过合理的分析我们可以抛弃一些冗余信息,减少状态,加速转移。第10页,共48页,编辑于2022年,星期五1.2.1例题poet(NOI2009 day1 p2)有N个诗句,要每个诗句有一个长度Li,要将其排版,一行可以放若干诗句并且每句诗中间用一个空格隔开,有一标准长Len,每一行的难看度是当前行长度C与Len之差绝对值的P次方。求一种最好看的排版方式使得总难看度最小。N10000 L200 1P10第11页,共48页,编辑于2022年,星期五1.2.1.1思路一由于标准行长L很小我们不难想到一个如下的动态规划
5、方法:optKS表示排版了前K个句子,并且当前行长是S。对于每个状态转移就是枚举是将这个诗句放在行末还是换行。有一个问题是:如果一个诗句过长怎么办?那我们也将数组下标开的很大么?第12页,共48页,编辑于2022年,星期五1.2.1.2思路二仔细分析,不难发现,第二维状态是没有用的。我们需要知道只是每一行最后一个诗句是那个就可以了,并不用关心每行具体多长。我们抛弃第二维:optK表示安排了前K个诗句并且第K个诗句在行末所能获得的最小难看度。第13页,共48页,编辑于2022年,星期五1.2.1.2思路二那么转移就是optK=min(opti+cost(i+1,K)|iK)cost(i+1,K)
6、表示第i+1到第K个诗句放一行的难看度。那如何利用LL且Sum(j,K)L则所有i之前的决策都是无用的。第14页,共48页,编辑于2022年,星期五1.2.1.2思路二时间复杂度O(NL)空间复杂度O(N)不难发现我们是利用L200这个条件在动态规划中进行了一个剪枝从而将一个空间复杂度无法估计的动态规划成功降低到了O(N),并成功将复杂度降低。剔除动态规划中的冗余信息是优化动态规划的重要方面。第15页,共48页,编辑于2022年,星期五2.优化转移1、优化转移方式2、预处理3、费用提前计算4、参数分离5、单调性第16页,共48页,编辑于2022年,星期五2.1优化转移方式基本的转移方式共有两种
7、1、通过状态选择决策2、通过决策来更新状态第17页,共48页,编辑于2022年,星期五2.1.1状态选择决策对于每个状态会有一些决策来选择,我们从中选择一个最优的决策,来实现规划的过程,并完成了当前这一状态的计算。可以认为这是一个正向过程。一个简单的例子optk=min(opti+1|AiAk)这是一个不下降子序列的动态规划方程不难得到这个方法O(NlogN)转移方式第18页,共48页,编辑于2022年,星期五2.1.2决策更新状态当一个状态计算完毕,那么这个状态就自然的成为了后面状态选择的一个决策,于是我们可以在刚产生这个决策的时候更新所有可能用到这个决策的状态。可以说这是一个逆向行为的过程
8、。大多数时候正向方式和逆向方式是差不多的,或者正向方式优于逆向方式,当然也有例外,因此需要我们自己根据实际情况灵活选择。第19页,共48页,编辑于2022年,星期五2.1.2.1例题给N*M的存在一些障碍的棋盘,在其中放置1*2的多米诺骨牌,问合法的放置总数MOD P是多少。第20页,共48页,编辑于2022年,星期五2.1.2.1.1说在前面我们这里先介绍一种对于状态压缩动态规划转移和状态表示的一般方法按格(点)转移。optxyS表示当前决策格为(x,y)同时2进制状态S表示当前扫描线上每个格子是否被覆盖的状况。第21页,共48页,编辑于2022年,星期五2.1.2.1.1说在前面OPTxy
9、(000000)2OPTxy+1(011000)2第22页,共48页,编辑于2022年,星期五2.1.2.1.2分析不难发现我们之前选择了一种逆向转移的方式即从当前状态枚举下一步行为,并向后更新更新这样的好处在于(1)方便情况的讨论,简化转移(2)避免了很多不可能出现的状态(3)加速了决策时间复杂度 O(N2M)其实,还有一些情况是只有这种更新方式才能优化的,限于篇幅和难度问题这里就不多说了第23页,共48页,编辑于2022年,星期五2.2 预处理预处理就是将动态规划中常用的一些计算环节预先处理好,方便动态规划中重复用到,很多时候利用这种并行计算的问题是可以大大降低算法复杂度的。第24页,共4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 规划 优化 PPT 讲稿
限制150内