算法分析与设计[回溯法].pptVIP

  1. 1、本文档共66页,可阅读全部内容。
  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文档。上传文档
查看更多
算法分析与设计[回溯法]ppt课件

第六章 回溯法 什么是回溯法 例:迷宫游戏 可用回溯法求解的问题 问题的解可以用一个n元组(x1,…,xn)来表示,其中的xi取自于某个有穷集Si,并且这些解必须使得某一规范函数P(x1,…,xn)(也称限界函数)取极值或满足该规范函数条件。 例子:A(1:n)个元素的分类问题 问题的解为n元组; xi取自有穷集; 规范函数P:A(xi) ≤A(xi+1) 问题求解的方法 硬性处理法 列出所有候选解,逐个检查是否为所需要的解 理论上,候选解数量有限,并且通过检查所有或部分候选解能够得到所需解时,上述方法可行 实际中则很少使用,因为候选解的数量通常都非常大(比如指数级,甚至是大数阶乘),即便采用最快的计算机也只能解决规模较小的问题。 回溯或分枝限界法 避免对很大的候选解集合进行完全检查 大大减少问题的求解时间 通常用来求解规模较大的问题 回溯法概述 回溯法可以系统的有哪些信誉好的足球投注网站一个问题的所有解或任一个解 它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发有哪些信誉好的足球投注网站解空间树。算法有哪些信誉好的足球投注网站到某一结点时,如果断定该结点肯定不包含问题的解,则跳过以该结点为根的子树的有哪些信誉好的足球投注网站,逐层向其祖先结点回溯 这种以深度优先方式有哪些信誉好的足球投注网站问题的解的方法称为回溯法 回溯法思想 第一步:为问题定义一个状态空间(state space)。这个空间必须至少包含问题的一个解 第二步:组织状态空间以便它能被容易地有哪些信誉好的足球投注网站。典型的组织方法是图或树 第三步:按深度优先的方法从开始结点进行有哪些信誉好的足球投注网站 开始结点是一个活结点(也是 E-结点:expansion node) 如果能从当前的E-结点移动到一个新结点,那么这个新结点将变成一个活结点和新的E-结点,旧的E-结点仍是一个活结点。 如果不能移到一个新结点,当前的E-结点就“死”了(即不再是一个活结点),那么便只能返回到最近被考察的活结点(回溯),这个活结点变成了新的E-结点。 当我们已经找到了答案或者回溯尽了所有的活结点时,有哪些信誉好的足球投注网站过程结束。 回溯法如何提高效率? 由开始结点到当前E-结点构成解向量(x1,…,xi);其中的xi取自于某个有穷集Si,假设集合Si的大小是mi。 如果判定(x1,…,xi)不能导致最优解,那么就将可能要测试的mi+1…mn个向量略去。 因此回溯法的测试次数比硬性处理作的测试次数要少得多。 如何判定(x1,…,xi)能否导致最优解? 约束条件 回溯法的解需要满足一组综合的约束条件,通常分为:显式约束和隐式约束 显式约束条件限定每个xi只从一个给定的集合上取值,例如: Xi≥0 即si={所有非负实数} xi=0或xi=1 即 si={0,1} l≤xi≤u 即si={a:l≤a≤u} 满足显式约束的所有元组确定一个可能的解空间 隐式约束描述了xi必须彼此相关的情况,如0/1背包问题中的背包重量M 回溯法求解的经典问题(1) 8-皇后问题 在一个8*8棋盘上放置8个皇后,且使得每两个之间都不能互相“攻击”,也就是使得每两个都不能在同一行、同一列及同一条斜角线上。 8皇后问题的解可以表示为8-元组(x1,…,x8) ,其中其中xi是第i行皇后所在的列号。 显式约束条件是si={1,2,3,4,5,6,7,8}, 1≤i≤8 隐式约束条件是,没有两个xi可以相同且没有两个皇后可以在同一条斜角线上。 回溯法求解的经典问题(2) 子集和数问题 已知(w1, w2, …, wn)和M,均为正数。要求找出wi的和数等于M的所有子集。 例如:若n=4,(w1,w2,w3,w4)=(11,13,24,7),M=31,则满足要求的子集是(11,13,7)和(24,7). 子集和数问题解的一种表示方法 若用Wi的下标表示解向量,这两个解向量为(1,2,4)和(3,4)。 子集和数问题的解可以表示为k-元组(x1, x2, …, xk), 1≤k≤n并且不同的解可以是大小不同的元组。 显式约束条件是xi∈{ j | j为整数且1≤j≤n}。 隐式约束条件是 1) 没有两个xi是相同的; 2) wxi的和为M; 3) xi<xi+1,1≤i<n(避免产生同一个子集的重复情况) 子集和数问题解的另一种表达 解由n-元组(x1, x2, …, xn)表示 显式约束条件xi∈{0,1} ,1≤i≤n,如果没有选择Wi,则xi=0;如果选择了Wi,则xi=1。于是上面的解可以表示为 (1,1,0,1)和(0,0,1,1) 隐式约束条件(xi × wi)的和数为M 解空间的大小为2n个元组 解空间的树结构 回溯算法通过系统地检索给定问题的解空间来确定问题的解。这检索可以用这个解空间的树结构来简化。为了便于讨论,引进一些关于解空间树结构的术语。 问题状态(problem state):树中的每一个结点确定所求解问题的一个问题状态。 状

文档评论(0)

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

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

1亿VIP精品文档

相关文档