算法分析与设计软件工程.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法分析与设计软件工程

* * —— 回溯法 专业:软件工程 姓名:王鸿雁 学号:2013090013 回溯的概念 回溯法的基本思想 回溯法的应用 回溯法的效率分析 主要内容: 回溯的概念 相信大家都玩过走迷宫的游戏吧,在走迷宫的过程中,我们从入口 出发,到达路口后,选择 一条岔路进入,到达下一个路口,然后再 选择一条岔路,……。在这个过程中,我们经常会走入死路,这时 我们只能退回到最近的路口,重新选择一条岔路,而如果某个路口 所有的岔路都是死路的话,还必须再往前面的路口退回去,这样不 停的进进退退,直到最后走出迷宫为止。像走迷宫这样,遇到死路 就回头的有哪些信誉好的足球投注网站思路就叫做“回溯”。 从问题的某种可能情况出发,有哪些信誉好的足球投注网站所有能到达的可能情况,然后以其 中一种可能的情况为新的出发点,继续向下探索,当所有可能情况都 探索过且都无法到达目标的时候,再回退到上一个出发点,继续探索 另一个可能情况,这种不断回头寻找目标的方法称为“回溯法”。 回溯法的基本做法是有哪些信誉好的足球投注网站,或是一种组织得井井有条的,能避免不必要有哪些信誉好的足球投注网站的穷举式有哪些信誉好的足球投注网站法。这种方法适用于解一些组合数相当大的问题。 回溯法在问题的解空间树中,按深度优先策略,从根结点出发有哪些信誉好的足球投注网站解空间树。算法有哪些信誉好的足球投注网站至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的有哪些信誉好的足球投注网站,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略有哪些信誉好的足球投注网站。 求问题所有解:要回溯到根,且根结点的所有子树都已被有哪些信誉好的足球投注网站遍才结束。 求任一解:只要有哪些信誉好的足球投注网站到问题的一个解就可结束。 回溯法的基本思想 回溯法有“通用的解题法”之称 回溯法解题步骤: 1).针对所给问题,定义问题的解空间,该空间包含问题的解 2).确定状态空间树的结构 3).列出约束条件,以深度优先方式有哪些信誉好的足球投注网站解空间,生产有哪些信誉好的足球投注网站树,得 到问题的解 皇后问题 迷宫问题 0-1背包问题 自然数排列问题 图的着色问题 ………… 可能解由一个等长向量{x1, x2, …, xn}组成,其中xi=1(1≤i≤n)表示物品i 装入背包,xi=0表示物品i没有装入背包,当n=3时,其解空间是: {(0, 0, 0), (0, 0, 1), (0, 1, 0), (1, 0, 0), (0, 1, 1), (1, 0, 1), (1, 1, 0), (1, 1, 1) } 0-1背包问题 问题描述: 对于n=3的0/1背包问题,三个物品的重量为{20, 15, 10},价值为{20, 30, 25},背包容量为25,求怎样选取物品将得到效益最大(物品不可分割)? 问题的解空间 对于n=3的0/1背包问题,其解空间树如图所示,树中的8个叶子结点分别代表该问题的8个可能解。 对物品1的选择 重20 ,价值20 对物品3的选择 重10 ,价值25 对物品2的选择 重15 ,价值30 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 2 3 4 5 7 8 11 12 14 15 3 10 6 9 解空间树 深度优先有哪些信誉好的足球投注网站解空间树 背包重量 25 1 不可行解 价值=20 价值=55 价值=30 价值=25 价值=0 1 1 1 1 0 0 0 0 0 0 1 1 2 8 11 12 14 15 13 10 6 9 0-1背包 生成树 最终结果为(0,1,1),总重量为25,总价值为55 物品价值{20, 30, 25} N皇后问题,是一个古老而著名的问题,是回溯算法的典型例题:在N*N格的格子上摆放N个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法? 为了简单起间,考虑在4*4的棋盘上放置4个皇后的问题,把这个问题称为4皇后问题。4后问题可以表示成一个四元组(X1,X2,X3,X4),i(i=1,2,3,4 )表示第 i 行,Xi(i=1,2,3,4)表示第i行皇后的列位置。 1 2 3 4 1 2 3 4 皇后1 皇后2 皇后3 皇后4 继续以上的回溯探索,可得4皇后问题的另一个解(3,1,4,2)。 下图所示为应用回溯的实施过程,其中方格中的×表示在该方格放置一个皇后,但由于受前面已放置的皇后的攻击而放弃的位置。 定义问题的解空间 解题步骤 因为每一行只能放置一个皇后,每一个皇后在每一行上有4个位置可供选择,因此在4*4格的棋盘上放置4个皇后,有44种可能的布局。又因为每一个皇后不能放在同一列,所以它有4!种可能的解。 确定解空间树的结构 4后问题的解空间可以用一棵完全4叉树来表示,如下图所示: 4后问题的状态空间树 其中,第1、2、3、4层节点到上一

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档