第5单元 回溯法.pptVIP

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5单元 回溯法

第5章 回溯法 学习要点 5.1 回溯法概述 5.2 回溯法的典型示例 5.3 回溯法的效率分析 本章小结 5.1 回溯法概述 5.1.1 问题的解空间 问题的解空间 两类典型的解空间 5.1.2 回溯法的基本思想 回溯法的基本思想 算法的框架 例:排列与组合 小结 问题的解空间 复杂问题的求解 复杂问题常常有很多的可能解,这些可能解构成了问题的解空间。 解空间也就是进行穷举的搜索空间,所以,解空间中应该包括所有的可能解。 问题解的求解方法 搜索问题的解空间,获得问题的解,依据搜索策略的不同,可以分为: 回溯法 分支限界法 问题的解空间 问题的解向量: 问题的解可以表示成一个n元式(x1, x2,… xn)的形式。 问题的解空间 E={(x1, x2,… xn)| xi ?si , si为有限集 }称为问题的解空间 约束条件 问题的解空间 问题的解空间 由笛卡儿积A=S1×S2×…×Sn构成,且 第1层的根结点有|S1|棵子树, 第2层共有|S1|个结点, 第3层共有|S1|×|S2|个结点, 依此类推, 第n+1层共有|S1|×|S2|×…×|Sn|个结点,他们都是叶子结点,代表问题的所有可能解。 显式图和隐式图 两类典型的解空间 两类典型的解空间 子集树 排列树 子集树 例1: 集合A={a1,a2,…,an},求A的所有子集合。 分析: 问题的解(子集)可以表示为X=(x1, x2, …, xn) 其中 xi=1(1≤i≤n) :ai属于X xi=0(1≤i≤n) :ai不属于X 如: 当n=3时,解空间: { (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)} 子集树 例1: 可以用一棵满二叉树表示解空间树(如n=3) 。 子集树 例2:0-1背包问题 分析: 可能解由一个等长向量(x1, x2, …, xn)组成, 其中 xi=1(1≤i≤n)表示物品i装入背包 xi=0(1≤i≤n)表示物品i没有装入背包 如: 当n=3时,其解空间是: { (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)} 子集树 可以用一棵满二叉树表示解空间树 子集树 子集树(Subset Trees) 当所给问题是从n个元素的集合中找出满足某种性质的子集时,相应的解空间树称为子集树。 在子集树中,一般地: |S1|=|S2|=…=|Sn|=2, 即每个结点有2棵的子树。 解空间为: (0,0,……,0,0) (0,0,……,0,1) …… (1,1,……,1,1) 子集树 所以: 解空间有2n个元素。 若表示为树形结构就是一棵有2n个叶结点的满二叉树,遍历子集树需Ω(2n)的计算时间。 排列树 排列树(Permutation Trees): 当所给问题是确定n个元素满足某种性质的排列时,相应的解空间树称为排列树。 通常情况下:|S1|=n,|S2|=n-1,…,|Sn|=1, 解空间为: (1,2,3,……,n-1,n) (2,1,3,……,n-1,n) …… (n,n-1,……,3,2,1) 排列树 所以: 解空间有n!个元素 若表示为树形结构就是一个n度树,这样的树有n! 个叶结点,遍历排列树需Ω(n!)计算时间。 排列树 例:旅行商问题 问题提出: 某售货员要到若干个城市去推销商品。已知各个城市之间的路程(或旅费)。 要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使得总的路程(或总旅费)最小。 排列树 分析 求赋权图G的具有最小权的Hamilton圈 解空间: 回溯法的基本思想 回溯法 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。 但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 回溯法的基本思想 主要应用 解决一些复杂问题在求解的过程中,需要经过若干步骤,而每一个步骤都有若干种可能的分支,为了完成这一过程,又必须遵守一些规则, 但这些规则又无法精确地用数学公式或语言来描述的一类问题中。 回溯法的基本思想 1.基本思想 设问题的解可表示为n元组(x1, x2,… xn), xi?si , si为有限集, 设已有满足约束条件的部分解(x1, x2,… xi)添加xi+1 ?si+1, 若(x1, x2,… xi xi+1)满足约束条件, 则继续添加xi+

文档评论(0)

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

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

1亿VIP精品文档

相关文档