- 1、本文档共114页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第5章回溯算法知识结构图第5章回溯算法回溯算法具有通用的解题算法之称。使用回溯算法可以系统地有哪些信誉好的足球投注网站一个问题的全部解或者其中的任意一个解。回溯算法是一个既具有系统性,同时又具有跳跃性的有哪些信誉好的足球投注网站算法。它在问题的解空间树中,往往可以根据深度优先策略,由根结点出发依次有哪些信誉好的足球投注网站整棵解空间树。当回溯算法在有哪些信誉好的足球投注网站到解空间树中的任意一个结点时,应首先判断该结点是否包含原问题的解。如果包含,就直接进入到该子树,并且继续按照深度优先策略有哪些信誉好的足球投注网站问题的解;如果不包含,那么就跳过对以此结点为根结点的子树的有哪些信誉好的足球投注网站,并且依次逐层向其祖先结点回溯。当我们使用回溯算法求一个问题的全部解时,通常要回溯到解空间树的根结点,并且当根结点的所有子树都已经被有哪些信誉好的足球投注网站或者遍历了一遍之后方能结束。然而,如果当只需要使用回溯算法求问题的一个解时,通常只需要有哪些信誉好的足球投注网站到问题的一个解就可以结束。这种以深度优先系统有哪些信誉好的足球投注网站问题的解的算法称为回溯算法,它适用于求解数据规模比较大的问题。第5章回溯算法5.1回溯算法的设计思想为了使用回溯算法,所要求的解必须能够表示成一个有序n元组(x1,x2,…,xn)的形式,其中xi是取自某个有限集Si。一般说来,待求解的问题需要求取一个使得某一个规范函数P(x1,x2,…xn)取得极大值或者取得极小值,亦或者是满足此规范函数条件的向量。有时,还需要找出满足规范函数P的全部向量。例如,将数组A[n]中的整数进行排序就是一个可以使用有序n元组表示其解的问题。第5章回溯算法其中,xi是数组A[n]中的第i小元素的下标。规范函数P是不等式A(xi)≤A(xi+1),在这里,集合Si是一个包含自然数1,2,…,n的有限集。虽然,排序问题通常是一个不需要使用回溯算法求解的问题,但是它是可用有序n元组列出其解的常见问题的一个实例。在本章中,我们将研究一批一般认为是最好的可以使用回溯算法求解的问题。第5章回溯算法暴力破解法即是构造出这个有序n元组并且逐一测试它们是否满足规范函数P,从而找到该问题的全部最优解。然而,回溯算法的基本思想是,不断地使用修改过的规范函数(有时称为限界函数)Pi(x1,x2,…,xn)去测试正在构造中的有序n元组的部分向量(x1,x2,…,xn),这样一来,不难发现,回溯算法的测试次数比暴力破解法的测试次数要少得多。即相比较而言,回溯算法的效率要更高一些。第5章回溯算法使用回溯算法求解的许多问题都要求全部的解满足一组综合的约束条件。这些约束条件可以分成两种类型:即显式约束和隐式约束。显式约束条件即是限定每一个只能从一个给定的集合上取值。满足显式约束的所有元组确定了待求解问题的状态空间(以下简称解空间)。第5章回溯算法在使用回溯算法求解问题时,应该首先明确定义问题的解空间。而问题的解空间应该至少包含问题的一个解或者一个可能的最优解。例如,对于具有n种可选择物品的0/1背包问题,其解空间即是由长度为n的0-1向量组成。该解空间包含了对于变量的所有可能的0-1赋值情况。当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)}。在定义好了问题的解空间之后,还应该将解空间很好地组织起来,使得可以使用回溯算法方便地有哪些信誉好的足球投注网站到整个解空间。我们通常将解空间组织成树或者图的结构。第5章回溯算法例如,对于n=3时的0/1背包问题,可以利用一棵完全二叉树表示其解空间,如下图所示。第5章回溯算法在上图所示的解空间树中,第i层到第i+1层边上的标号给出了变量的值。也就是说,从这棵完全二叉树的树根到叶子结点的任意一条路径均表示解空间中的一个元素。例如,从根结点到叶子结点K的路径相应于解空间中的元素(1,0,0)。第5章回溯算法当我们确定了解空间的组织结构以后,回溯算法便可以从起始结点(根结点)出发,以深度优先方式有哪些信誉好的足球投注网站整个解空间。于是,这个起始结点既成为活结点,同时又成为当前的扩展结点。在当前的扩展结点处,有哪些信誉好的足球投注网站过程就向着纵深方向移动到一个新的结点,而这个新的结点就成为当前的一个新的活结点,并且成为当前的扩展结点。如果在当前的扩展结点处不能再向纵深方向移动,那么当前的这个扩展结点就成为死结点。此时,就不能继续纵深下去,应立即往回移动(这就是回溯)到最近的一个活结点处,并且使得这个活结点成为当前的扩展结点。回溯算法就是以这种方式递归地在解空间中进行不断地有哪些信誉好的足球投注网站活动,直到找出所需要的解或者解空间中已经不再有活结点时为止。第5章回溯算法例如,关于当n=3时的0/1背包问题,考虑到以下的具体实例:(w1,w2,w3)=(16,15,15),(p1,p2,p3)=(45,25,25),背包的载重量M=3
文档评论(0)