计算机算法设计与分析第5章回溯法课件.ppt

计算机算法设计与分析第5章回溯法课件.ppt

ID:57176879

大小:315.50 KB

页数:66页

时间:2020-08-02

计算机算法设计与分析第5章回溯法课件.ppt_第1页
计算机算法设计与分析第5章回溯法课件.ppt_第2页
计算机算法设计与分析第5章回溯法课件.ppt_第3页
计算机算法设计与分析第5章回溯法课件.ppt_第4页
计算机算法设计与分析第5章回溯法课件.ppt_第5页
资源描述:

《计算机算法设计与分析第5章回溯法课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章回溯法1理解回溯法的深度优先搜索策略。掌握用回溯法解题的算法框架通过应用范例学习回溯法的设计策略。学习要点2回溯算法的基本思想回溯算法也叫试探法,它是一种利用试探或回溯(Backtracking)的搜索技术求解的方法。回溯算法在问题的解空间中使用一种可以避免不必要搜索的穷举式搜索法,可以系统的搜索一个问题的所有解或任一解。3回溯法的应用领域广泛对于许多问题,当需要找出问题的全部解或者找出满足某些约束条件的(最优)解时,往往要使用回溯法。回溯法有“通用的解题法”之称。4回溯法的搜索方式通常将

2、问题的解空间组织成树或图的形式,使得回溯法能方便地搜索整个解空间。回溯法在问题的解空间树中,按深度优先策略(或先序遍历,根-左-右顺序),从根结点出发搜索解空间树。注意:这棵解空间树不是遍历前预先建立的,而是隐含在遍历过程中。5回溯法的搜索方式为了避免不必要的搜索,算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。65.1回溯法的算法框架1.问题的解空间问题的解向量:回溯法

3、希望一个问题的解能够表示成一个n元式(x1,x2,…,xn)的形式。如,对于有n个可选择物品的0-1背包问题,其解空间由长度为n的0-1向量组成。对于n元式(x1,x2,…,xn)形式的解:对分量xi的取值约束条件,xi=0or1。75.1回溯法的算法框架1.问题的解空间解空间:对于问题的一个实例,满足约束条件的所有多元组(解向量),构成了该实例的一个解空间。85.1回溯法的算法框架1.问题的解空间0-1背包问题的解空间包含了对变量的所有可能的0-1赋值,向量总数有2n个。如,当n=3时,0-1

4、背包问题的解空间为(1,1,1,),(1,1,0,),(1,0,1,),(0,1,1,),(1,0,0,),(0,1,0,),(0,0,1,),(0,0,0,).共23个解向量。91.问题的解空间在此将解空间组织成树的形式。对于n=3时的0-1背包问题,其解空间用一棵完全二叉树表示,如下图:解空间树的第i层到第i+1层边上的标号给出了变量xi的值。从树根到叶的任一路径表示解空间中的一个元素(解向量)。例如:从跟结点A到结点K的路径对应于解空间中的元素(1,0,0)。105.1回溯法的算法框架2.

5、回溯法的基本思想用回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。确定了解空间的组织结构后,回溯法就从开始结点(根结点)出发,以深度优先的方式搜索(动态产生)整个解空间。115.1回溯法的算法框架2.回溯法的基本思想从开始结点(根结点)出发,这个开始结点就成为一个活结点,同时也成为当前的扩展结点。活结点:一个自身已生成但其儿子还没有全部生成的节点称做活结点。扩展结点:一个正在产生儿子的结点称为扩展结点。125.1回溯法的算法框架2.回溯法的基本思想在当前扩展结点处,搜索向纵深方向移至

6、一个新结点。这个新结点就成为一个新的活结点,并成为当前扩展结点。如果在当前扩展结点处不能再向纵深方向移动,则当前扩展结点就成为死结点。死结点:一个所有儿子已经全部产生的结点称做死结点。135.1回溯法的算法框架2.回溯法的基本思想当前扩展结点成为死结点时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点。回溯法即以这种工作方式递归地在解空间中搜索,直至找到所要求的解,或解空间中已无活结点时终止。142.回溯法的基本思想 例1:0-1背包以n=3时的0-1背包为例,考虑如下

7、实例:w=[16,15,15],p=[45,25,25],c=30。从其解空间树的根结点开始搜索其解空间。开始时,根结点A是唯一的活结点,也是当前扩展结点。在当前扩展结点A处,可纵深移至B或C。152.回溯法的基本思想 例1:0-1背包在当前扩展结点A处,可纵深移至B或C。选择先移至B,即选取物品w1,此时,A、B均为活结点,B成为当前扩展结点。在B处剩余背包容量是r=30-16=14,获取价值45。从B可纵深移至D或E,先考虑移至D,但现仅有的背包容量容不下物品w2,故移至D导致一个不可行解。

8、而从B移至E不占用背包容量,因而可行。从而我们选择移至E。此时E成为新的扩展结点。162.回溯法的基本思想 例1:0-1背包此时,A、B和E是活结点。在E处容量仍为14,所得价值仍为45。从E可以移至J和K。移至J会导致一个不可行解,而移向K是可行的,于是移至K,K成为新的扩展结点。由于K是一个叶结点,所以我们得到一个可行解(1,0,0),v=45。172.回溯法的基本思想 例1:0-1背包由于从K已无法纵深扩展,故K成为一个死结点,所以返回(回溯)至E(离K最近的一个活结点)。而E也没有可扩展

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。