- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析与设计 第6章【荐】.ppt
2000年1月25日 北京化工学院信息基础教研室 算法设计方法 吴哲辉 崔焕庆 马炳先 吴振寰 编著 机械工业出版社 第6章 回溯算法 6.1 回溯法的基本思想 回溯算法求解问题的类型同贪心算法和动态规划算法求解的问题类型相似,问题的解可以表示成一个n维向量,一般地,每个分量有两个或有限多个取值,而且的取值要满足某个事先给定的约束条件。所有可能的取值的组合构成问题的解向量空间,简称解空间。由于一个解向量往往对应问题的某个状态,所以解空间又称为问题的状态空间。 一般情况下,问题的解仅是问题解空间的一个子集,要求此子集对应的解必须满足问题的约束条件,满足约束条件的一组取值称为问题的一个可行解,使目标函数取最大或最小值的可行解称为最优解。 6.1 回溯法的基本思想 用回溯法求解问题的基本思路是:通过部分解向量逐步增加可行分量来求出解向量。对于一个解向量,假设已经构造得到问题的部分解向量(x1,x2,…,xk),在部分解向量的基础上,考虑第k+1个分量的一个取值,可能遇到下面的两种情况。 (1) 部分解向量加入xk+1仍满足约束条件,那么继续添加新的分量; (2) 否则,那么就要考察的另外一个取值,如果对xk+1的所有取值,都不满足约束条件,那么就回溯到,即选取的另一个取值,同上考察部分解向量。 6.1 回溯法的基本思想 回溯法的抽象描述:算法6.1 回溯算法在问题解空间树上搜索问题的解的过程如下:首先从解空间树的根结点出发,沿其某个子结点进行搜索,如果该子结点对应的部分解满足约束条件与目标函数的界,则继续搜索以该子结点为根结点的子树;否则不搜索以该子结点为根结点的子树,转而搜索以其他子结点为根结点的子树。具体描述如算法6.2。 6.2 旅行售货员问题 不妨假设售货员从顶点1出发,开始时,解向量初始化为(1,2,…,n)。函数backtrack(k)表示当前在解空间树的第k层进行搜索,根据k的取值不同,可以分为两种情形: (1) 当k=n时,说明此时已搜索到解空间树的一个叶子结点xn,若顶点xn-1与顶点xn ,顶点xn与顶点1之间有边相连,则解向量(1,x2,…,xn)对应一条旅行售货员回路,进一步判断该回路对应的权值是否小于目前已找到的最优回路的权值bestc,如果是,那么更新当前最优值bestc和最优解bestx; (2) 当kn时,当前扩展结点位于解空间树第k-1层。若顶点xk-1与顶点xk之间有边相连,说明部分解(i,x2,…,xk)对应图G中一条路径,若该路径的权值cc小于当前界限bestc,则进一步扩展部分解,否则,剪去以顶点为根结点的子树。 6.2 旅行售货员问题 6.3 N后问题 在一个的国际象棋盘上(如图6.3所示),有8个王后,每个王后占一格,要求任意两个王后之间不会出现相互“攻击”的现象,即不能有两个王后处在同一行、同一列或同一对角线上。要求出一种(或全部)可行解,即合理的摆放方案。图6.3中8个王后当前所处位置即是八后问题的一种可行摆放方案。 6.3 N后问题 八后问题可以一般化为n后问题:要在格的棋盘上放置彼此不受攻击的n个王后,即要求任两个王后不在同一行或同一列或同一斜线上。 问题的解的结构为n维向量,其中第i个分量xi表示第i个王后放置在第i行的第xi列的位置。 约束条件: 算法6.4 6.3 N后问题 6.4 图的m着色问题 图的m着色问题即给定无向连通图G和m种不同颜色,用这些颜色为图G的各顶点着色,每个顶点着一种颜色,问是否有一种着色法使G中任两个邻接顶点着不同的颜色,如果有,则图是m可着色的。 从解空间树的根结点出发,对n个顶点逐个进行着色。设当前访问结点k位于解空间树的第i层,则从根结点到结点k的路径上边的标号对应为前i个顶点的一个着色方案,即部分解(x1,x2,…,xi)。 而后根据实际情况判断是否可行,并继续扩展或者杀死。 算法6.5 6.4 图的m着色问题 6.5 0-1背包问题 由于0-1背包问题的求解目标是求一个最优解,因此在问题的解空间树上进行搜索时,不仅可以利用约束条件(式)判断不会产生可行解的结点,而且可以利用目标函数的上界(设为bound)进一步判断不会产生最优解的结点。 算法6.6 计算目标函数的上界 算法6.7 求解0-1背包问题的回溯算法 6.5 0-1背包问题 例6.2 ,背包容量为100,W=(30,20,20,50,40),V=(65,50,30,60,40) ,显然物品已经按照单位价值递减顺序进行排序,下面对此问题进行回溯求解。 6.6 批处理作业调度问题 批处理作业调度问题是指给定n个作业的集合和机器1,2。每个作业必须先由机器1处理,然后由机器2处理。作业i在机器j上完成处理需要的时间为。对于一个确定的作业调度,各个作业在机器2上完成处理时的时间
您可能关注的文档
最近下载
- 草地复垦协议书范本最新.docx VIP
- 经典英文故事绘本_Winnie the Witch 女巫温妮_亲子读物.pdf VIP
- 铁道工程概论课件学习课件(共165张PPT).ppt VIP
- 25法考柏浪涛-刑法每日一题(1-165题).pdf VIP
- 箱涵监理规划.doc VIP
- 小学生中国象棋入门课件.pptx VIP
- IMT-20306G推进组2024年6G通信感知一体化协作感知关键技术前沿报告72页.pdf VIP
- 业主业主委员会精品课件.pptx VIP
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf VIP
- 2025年上半年中学教师资格证《教育知识与能力》考试真题及答案(完整版.pdf VIP
文档评论(0)