[解决方案]6回溯法.pptVIP

  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文档。上传文档
查看更多
[解决方案]6回溯法

有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法。 回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。 回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。 问题的解空间 问题的解向量:回溯法希望一个问题的解能够表示成一个n元式(x1,x2,…,xn)的形式。 显约束:对分量xi的取值限定。xi ? Si , Si是有限集 隐约束:为满足问题的解而对不同分量之间施加的约束。 解空间:对于问题的一个实例,解向量满足显式约束条件的所有多元组,构成了该实例的一个解空间。 解空间的树结构 搜索算法通过系统的检索给定问题的解空间来确定问题的解。 所有这些检索技术可以用解空间的树结构加以描述。解空间的树结构称为状态空间树。 回溯法的搜索策略: 从根结点出发,以深度优先的方式搜索整个解空间。在当前的扩展结点处,搜索向纵深方向移至一个新结点。这个新结点就成为活结点,并成为当前扩展结点。 如果在当前的扩展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。此时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点。 回溯法即以这种工作方式递归地在解空间中搜索,直至找到所要求的解或解空间中已没有活结点时为止。 例 n-皇问题 n皇后问题可以表示成n-元组(x1,…,xn),其中xi是放在第i行的皇后所在的列号。于是,解空间由nn个n-元组组成。 显示约束条件为Si={1,2,…….,n},1?i ?n。 隐式约束条件之一为没有两个xi相同(即任意两个皇后不在同一列上)。将其加入到显式条件中,于是解空间的大小由nn个元组减少到n!个元组。 限界 设(x1,x2,…,xi-1)是状态空间树中由根到一问题结点的路径, T (x1,x2,…,xi-1)是下述所有结点xi的集合,它使得对于每个xi, (x1,x2,…,xi)是一条由根到结点xi的路径。 所谓限界函数Bi 是一谓词,如果路径(x1,x2,…,xi)不可能延伸到一个答案结点,则 Bi (x1,x2,…,xi)取false。 限界即指停止产生这样的子结点。 可用回溯法求解的问题: 问题P通常要能表达为对已知的、由n元组(x1,…,xn)组成的状态空间E={(x1,…,xn)| xi?Si,i=1,2,…n},给定关于n元组中的分量的一个约束集D,求满足D的全部约束条件的所有n元组。 Si 是 xi 的定义域且Si 是有穷集,称E中满足D 的全部约束条件的所有n元组为问题P的一个解。 换句话说,只要存在 l≤j≤n-1,使得(x1,…,xj) 违反了D,则以(x1,…,xj) 为前缀的任何n元组(x1,…,xj,…,xn) 也一定违反D。 回溯法利用这种完备性,所以回溯法是一个即带有系统性,有带有跳跃性的搜索方法。 回溯法的一般方法形式描述: 设对于任意的 l≤ki≤n ,状态节点(x1,x2,…, x k-1)被激活以后,满足显约束的xk的全体极为Tk(x1,x2,…, x k-1),而满足隐约束的xk当且仅当逻辑表达式Bk(x1,x2,…, x k)为真。 地图着色问题 [问题]:给定一个地域图G和M种不同的颜色,要求得到使相邻区域有不同着色的所有方案。 四色猜想 很早以前就知道用5种颜色就足以为任何一个地图着色。但一直没有找到一个要4种以上颜色才能着色的地图,由此引出了四色猜想。这个猜想直到 1976年才由美国伊利诺斯大学的数字家K.I.Apple教授和 W.Haken 教授,启动了三台IBM 高速计算机,运行了1200 小时,进行了两百亿次的逻辑判定,才获得了证明。从此四色猜想变成了四色定理。 M-着色问题 对于给定的图G(V,E),m种颜色, |V|=n,找出所有的G着色方案。 对于G中的顶点i,j ∈V ,如果(i,j)∈E,则A[i,j]=1,否则 A[i,j]=0。 设xi为第i个节点的颜色,问题的解可表示为n元组 ( x1 , x2 , ……, xn ) xi ∈{1,2,…,m} 约束:如果 A[i,j]=1 and xi = xj 则是不合理的着色 两个节点之间有边,则不能着相同的颜色。 判断xk是否合理的颜色 设前面已有1,……,k-1个

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档