基于.连通性状态压缩的动态规划问题.docVIP

基于.连通性状态压缩的动态规划问题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOI2008中国国家集训队论文 长沙市雅礼中学 陈丹琦 PAGE    第 PAGE 2 页 . . . . 学习资料 基于连通性状态压缩的动态规划问题 长沙市雅礼中学 陈丹琦 【摘要】 基于状态压缩的动态规划问题是一类以集合信息为状态而状态总数为指数级的特殊的动态规划问题.在状态压缩的基础上,有一类问题的状态中必须要记录若干个元素的连通情况,我们称这样的问题为基于连通性状态压缩的动态规划问题,本文着重对这类问题的解法及优化进行探讨和研究. 本文主要从动态规划的几个步骤——划分阶段,确立状态,状态转移以及程序实现来介绍这类问题的一般解法,会特别针对到目前为止信息学竞赛中涌现出来的几类题型的解法作一个探讨.结合例题,本文还会介绍作者在减少状态总数和降低转移开销两个方面对这类问题优化的一些心得. 【关键词】 状态压缩 连通性 括号表示法 轮廓线 插头 棋盘模型 【目录】 TOC \o 1-5 \h \z \u 【序言】 3 【正文】 5 一. 问题的一般解法 5 【例1】Formula 1 5 问题描述 5 算法分析 5 小结 11 二. 一类简单路径问题 12 【例2】Formula 2 15 问题描述 15 算法分析 15 小结 16 三. 一类棋盘染色问题 17 【例3】Black White 17 问题描述 17 算法分析 17 小结 19 四. 一类基于非棋盘模型的问题 20 【例4】生成树计数 20 问题描述 20 算法分析 20 小结 21 五. 一类最优性问题的剪枝技巧 22 【例5】Rocket Mania 22 问题描述 22 算法分析 22 小结 25 六.总结 26 【参考文献】 27 【感谢】 27 【附录】 27 【序言】 先看一个非常经典的问题——旅行商问题(即TSP问题,Traveling Salesman Problem):一个n(≤15)个点的带权完全图,求权和最小的的经过每个点恰好一次的封闭回路.这个问题已经被证明是NP完全问题,那么对于这样一类无多项式算法的问题,搜索是不是解决问题的唯一途径呢? 答案是否定的.不难发现任何时候我们只需要知道哪些点已经被遍历过而遍历点的具体顺序对以后的决策是没有影响的,因此不妨以当前所在的位置i,遍历过的点的集合S为状态作动态规划: ,其中ji,i,j in S. 动态规划的时间复杂度为,虽然为指数级算法,但是对于n = 15的数据规模来说已经比朴素的的搜索算法高效很多了.我们通常把这样一类以一个集合内的元素信息作为状态而状态总数为指数级别的动态规划称为基于状态压缩的动态规划或集合动态规划.基于状态压缩的动态规划问题通常具有以下两个特点:1.数据规模的某一维或几维非常小;2.它需要具备动态规划问题的两个基本性质:最优性原理和无后效性. 一般的状态压缩问题,压缩的是一个小范围内每个元素的决策,状态中元素的信息相对独立.而有些问题,仅仅记录每个元素的决策是不够的,不妨再看一个例子:给你一个m * n (m, n≤9) 的矩阵,每个格子有一个价值,要求找一个连通块使得该连通块内所有格子的价值之和最大.按从上到下的顺序依次考虑每个格子选还是不选,下图为一个极端情况,其中黑色的格子为所选的连通块.只考虑前5行的时候,所有的黑色格子形成了三个连通块,而最后所有的黑色格子形成一个连通块.如果状态中只单纯地记录前一行或前几行的格子选还是不选,是无法准确描述这个状态的,因此压缩的状态中我们需要增加一维,记录若干个格子之间的连通情况.我们把这一类必须要在状态中记录若干个元素之间的连通信息的问题称为基于连通性状态压缩的动态规划问题.本文着重对这类问题进行研究. 连通是图论中一个非常重要的概念,在一个无向图中,如果两个顶点之间存在一条路径,则称这两个点连通.而基于连通性状态压缩的动态规划问题与图论模型有着密切的关联,比如后文涉及到的哈密尔顿回路、生成树等等.通常这类问题的本身与连通性有关或者隐藏着连通信息. 全文共有六个章节. 第一章,问题的一般解法,介绍解决基于连通性状态压缩的动态规划问题的一般思路和解题技巧; 第二章,一类简单路径问题,介绍一类基于棋盘模型的简单路径问题的状态表示的改进——括号表示法以及提出广义

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档