第5章回溯法.pptxVIP

  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文档。上传文档
查看更多
第5章回溯法ppt课件

第5章 回溯法 郭艺辉 广东金融学院 计算机科学与技术系 办公室:1622 电话Email:校内邮箱 第5章 回溯法 学习要点 ·理解回溯法的深度优先有哪些信誉好的足球投注网站策略 ·掌握用回溯法解题的算法框架: (1)递归回溯 (2)迭代回溯 (3)子集树算法框架 (4)排列树算法框架 第5章 回溯法 回溯法有“通用的解题法”之称。用它可以系统地有哪些信誉好的足球投注网站一个问题的所有解或任一解。回溯法是一个既带有系统性又带有跳跃性的有哪些信誉好的足球投注网站算法。它在问题的解空间树中,按深度优先策略,从根结点出发有哪些信誉好的足球投注网站解空间树。算法有哪些信誉好的足球投注网站至解空间树的任一结点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的有哪些信誉好的足球投注网站,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先策略有哪些信誉好的足球投注网站。回溯法求问题的所有解时,要回溯到根,且根结点的所有子树都已被有哪些信誉好的足球投注网站遍才结束。回溯法求问题的一个解时,只要有哪些信誉好的足球投注网站到问题的一个解就可结束。这种以深度优先方式系统有哪些信誉好的足球投注网站问题解的算法称为回溯法,它适用于解组合数较大的问题。 5.1回溯法的算法框架 本节介绍回溯法算法框架的有关问题: 一、问题的解空间 二、回溯法的基本思想 三、递归回溯 四、迭代回溯 五、子集树与排列树 5.1回溯法的算法框架 1、问题的解空间 应用回溯法解问题时,首先应明确定义问题的解空间。问题的解空间应至少包含问题的一个(最优)解。例如,对于有n种可选择物品的0-1背包问题,其解空间由长度为n的0-l向量组成。 0-1背包问题:n=3, C=30, w={16, 15, 15}, p={45, 25, 25},其解空间是: {(0,0,0),(1,0,0)(0,l,0), (0,0,1),(0,l,1),(1,0,1), (1,1,0),(1,1,l)} 定义了问题的解空间后,还应将解空间很好地组织起来,使得能用回溯法方便地有哪些信誉好的足球投注网站整个解空间。通常将解空间组织成树或图的形式。 5.1回溯法的算法框架 n=3时的0-1背包问题,用完全二叉树表示的解空间: 解空间树的第i层到第i+l层边上的标号给出了变量的值。从树根到叶的任一路径表示解空间中的一个元素。例如,从根结点到结点H的路径相应于解空间中的元素(1,l,l)。 解空间是: {(0,0,0),(0,l,0),(0,0,1), (1,0,0),(0,l,1),(1,0,1), (1,1,0),(1,1,l)} 5.1回溯法的算法框架 2. 回溯法的基本思想 确定了解空间的组织结构后,回溯法从开始结点(根结点)出发,以深度优先方式有哪些信誉好的足球投注网站整个解空间。这个开始结点成为活结点,同时也成为当前的扩展结点。在当前的扩展结点处,有哪些信誉好的足球投注网站向纵深方向移至一个新结点。这个新结点就成为新的活结点,并成为当前扩展结点。如果在当前的扩展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。此时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点。回溯法以这种工作方式递归地在解空间中有哪些信誉好的足球投注网站,直至找到所要求的解或解空间中已无活结点时为止。 5.1回溯法的算法框架 示例1:0-1背包问题:n=3, C=30, w={16, 15, 15}, p={45, 25, 25} 子集树 [子集树P142] 是用回溯法解题时的一类典型的解空间树。 当所给的问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间树称为子集树。这类子集树通常有2n个叶结点,其结点总个数为2n+1-l。遍历子集树的任何算法均需O(2n)的计算时间。 void backtrack (int t) { if (tn) output(x); else for (int i=0;i=1;i++) { x[t]=i; if (legal(t)) backtrack(t+1); } } 5.1回溯法的算法框架 [例2 ]旅行售货员问题 问题描述:某售货员要到若干城市去推销商品,已知各城市之间的路程,他要选定一条从驻地出发,经过每个城市一遍,最后回到住地的路线,使总的路程最短。 该问题是一个NP完全问题, 有(n-1)!条可选路线 最优解(1,3,2,4,1),最优值25 排列树 【排列树】当所给的问题是确定n个元素满足某种性质的排列时,相应的解空间树称为排列树。排列树通常有n!个叶结点。因此遍历排列树需要Ω(n!)的计算时间。旅行售货员问题的解空间树就是一棵排列树。 void backtrack (int t) { if (tn) output(x); else for (

文档评论(0)

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

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

1亿VIP精品文档

相关文档