算法设计与分析回溯.pptx
《算法设计与分析回溯.pptx》由会员分享,可在线阅读,更多相关《算法设计与分析回溯.pptx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1回溯法的基本思想5.2回溯法的算法框架5.3n后问题5.4圆排列问题5.5 电路板排版问题第1页/共28页n回溯法(backtracking)是一种系统地搜索问题解的方法。为实现回溯,首先需要定义一个解空间(solutionspace),然后以易于搜索的方式组织解空间,最后用深度优先的方法搜索解空间,获得问题的解。n说话的方式简单点:说话的方式简单点:从一条路往前走,能进则进,不能进则退回来,换一条路再试。第2页/共28页3为了避免不必要的搜索,算法搜索至解空间树的任意一点时,先判断该结先判断该结点是否包含点是否包含问题的解问题的解4如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向
2、其祖先结点回溯1通常将问题的解空间组织成树或图的形式,使得回溯法能方便地搜索整个解空间2在问题的解空间树中,按深度优先策略(或先序遍历,根-左-右顺序),从根结点出发搜索解空间树5否则,进入该子树,继续按深度优先策略搜索搜索方式内注意:这棵解空间树不是遍历前预先建立的,而是隐含在遍历过程中。容第3页/共28页定义一个解空间,它包含问题的解用易于搜索的方式组织解空间深度优先搜索解空间,获得问题的解。Ps:利用限界函数避免移动到不可能产生解的子空间。回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。第4页/共28页单击增加标题内容解空间设问题的解向量为:X=(x1,x2,xn),xi的取
3、值范围为有穷集Si。把xi的所有可能取值组合,称为问题的解空间。每一个组合是问题的一个可能解。第5页/共28页解空间解空间S=0,1,当n=3时,0/1背包问题的解空间是:(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)当输入规模为n时,有2n种可能的解。0/1背包问题S=1,2,n,当n=3时,S=1,2,3,货郎担问题的解空间是:(1,1,1),(1,1,2),(1,1,3),(1,2,1),(1,2,2),(1,2,3),(3,3,1),(3,3,2),(3,3,3)当输入规模为n时,它有nn种可能的解。考虑到
4、约束方程xixj。因此,货郎担问题的解空间压缩为:(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)当输入规模为n时,它有n!种可能的解。货郎担(旅行商)问题第6页/共28页子集树解空间大小:2n排列树解空间大小:n!AddtextinheretooAddtextinhere从n个元素的集合S中找出满足某种性质的子集时确定n个元素满足某种性质的排列时第7页/共28页使目标函数取极值(极大或极小)的可行解,一个或少数几个满足约束条件的解,解空间中的一个子集可行解最优解可行解和最优解第8页/共28页不满足约束条件、目标函数、或其儿子结点已全部搜索完毕的结
5、点、或者叶结点。以死结点作为根的子树,可以在搜索过程中删除所搜索到的结点不是叶结点,且满足约束条件和目标函数的界,其儿子结点还未全部搜索完毕正在搜索其儿子结点的结点,它也是一个活结点当前扩展结点成为死结点时,应往回移动(回溯)至最近的一个活结点处,并使这个活结点成为当前的扩展结点回溯法即以这种工作方式递归地在解空间中搜索,直至找到所要求的解,或解空间中已无活结点时终止第9页/共28页从其解空间树的根结点开始搜索其解空间。开始时,根结点A是唯一的活结点,也是当前扩展结点。在当前扩展结点A处,可纵深移至B或C。n=3,w=16,15,15,p=45,25,25,c=30。第10页/共28页在当前扩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 回溯
限制150内