- 14
- 0
- 约5.29千字
- 约 28页
- 2017-06-08 发布于湖北
- 举报
算法设计与分析 第8章 回溯法
批处理作业调度问题 批处理作业调度问题 第八章 回溯法 1 2 3 4 概述 图问题中的回溯法 组合问题中的动态规划法 小结 8.1 概 述 8.1.1 问题的解空间 8.1.2 解空间树的动态搜索(1) 8.1.3 回溯法的求解过程 8.1.4 回溯法的时间性能 用回溯法求解一个具有n个输入的问题,一般情况下,将其可能解表示为满足某个约束条件的等长向量X=(x1, x2, …, xn),其中分量xi (1≤i≤n)的取值范围是某个有限集合Si={ai1, ai2, …, airi},所有可能的解向量构成了问题的解空间。 8.1.1 问题的解空间树 问题的解空间一般用解空间树(也称状态空间树)的方式组织,树的根结点位于第1层,表示搜索的初始状态,第2层的结点表示对解向量的第一个分量做出选择后到达的状态,第1层到第2层的边上标出对第一个分量选择的结果,依此类推,从树的根结点到叶子结点的路径就构成了解空间的一个可能解。 8.1.1 问题的解空间树 1 1 1 1 1 1 0 0 0 0 0 0 0 1 图8.2 0/1背包问题的解空间树 对物品1的选择 对物品3的选择 对物品2的选择 1 2 3 4 5 7 8 11 12 14 15 3 10 6 9 对于n=3的0/1背包问题解空间树 对于n=4的TSP问题解空间树 2 4 3 4 2 2 3 4 3 4 1 3 1 4 2 4 1 2 1 2 3 3 1 2 1 3 4 1 3 1 3 1 2 3 2 1 2 1 4 2 4 1 4 3 4 3 2 2 4 3 4 1 2 3 1 2 4 1 3 4 图8.3 n=4的TSP问题的解空间树 5 7 10 12 15 17 21 23 26 28 31 33 37 39 42 44 47 49 52 54 57 59 62 64 4 6 9 11 14 16 20 22 25 27 30 32 36 38 41 43 46 48 51 53 56 58 61 63 3 8 13 19 24 29 35 40 45 50 55 60 2 18 34 24 1 1 2 3 4 3 4 8.1.2 回溯法的设计思想 回溯法从根结点出发,按照深度优先策略遍历解空间树,搜索满足约束条件的解。在搜索至树中任一结点时,先判断该结点对应的部分解是否满足约束条件,或者是否超出目标函数的界,也就是判断该结点是否包含问题的(最优)解,如果肯定不包含,则跳过对以该结点为根的子树的搜索,即所谓剪枝(Pruning);否则,进入以该结点为根的子树,继续按照深度优先策略搜索。 解空间树的动态搜索过程 例如,对于n=3的0/1背包问题,三个物品的重量为{20, 15, 10},价值为{20, 30, 25},背包容量为25,从图8.2所示的解空间树的根结点开始搜索,搜索过程如下: 重量为{20, 15, 10} 价值为{20, 30, 25} 背包容量为25 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 回溯法的搜索过程涉及的结点(称为搜索空间)只是整个解空间树的一部分,在搜索过程中,通常采用两种策略避免无效搜索:(1)用约束条件剪去得不到可行解的子树;(2)用目标函数剪去得不到最优解的子树。这两类函数统称为剪枝函数。 问题的解空间树是虚拟的,并不需要在算法运行时构造一棵真正的树结构,只需要存储从根结点到当前结点的路径。 小结 回溯法的一般框架——递归形式 advance(int k) 1. 对每一个x∈Sk循环执行下列操作 1.1 xk=x; 1.2 将xk加入X; 1.3 if (X是最终解) flag=true; return; 1.4 else if (X是部分解) advance(k+1); 主算法 1.X={ }; 2. flag=false; 3. advance(1); 4. if (flag) 输出解X; else输出“无解”; 8.1.3 回溯法的时间性能 在问题的解向量X=(x1, x2, …, xn)中,分量xi (1≤i≤n)的取值范围为某个有限集合Si={ai1, ai2, …, airi},因此,问题的解空间由笛卡儿积A=S1×S2×…×Sn构成。 在用回溯法求解问题时,常常遇到两种典型的解空间树: (1)子集树:当所给问题是从n个元素的集合中找出满足某种性质的子集时,相应的解空间树称为子集树。在子集树中,|S1|=|S2|=…=|Sn|=c,即每个结点有相同数目的子树,通常情况下c=2,因此,子集树中共有2n个。 (2)排列树:当所给问题是确定n个元素满足某种性质的排列时,相应的解空间
您可能关注的文档
- 答辩进口合同履行Sarah.ppt
- 策划复习15.ppt
- 筑岛围堰沉井种类用途.pptx
- 等值线地理.ppt
- 简单又效果出众的绘画方法.docx
- 第四讲 自然审美(一).ppt
- 签约礼仪.ppt2.ppt
- 简易安全施工组织设计.doc
- 简易篮球比赛计时器-赵西方.docx
- 答辩PPT完整版.ppt
- 人教版数学五年级上册同步课件(2025年修订).pptx
- 新人教版数学四年级上册同步教学课件(2025年5月修订).pptx
- 沪教牛津版英语五年级下册全册课件(2025年3月修订).pptx
- 2024年新人教版数学一年级上册全册课件(新版教材).pptx
- 2025年秋统编版语文一年级上册全册课件(课标版).pptx
- 新鲁科版英语3年级上册全册教学课件.pptx
- 新人教版数学1年级上册全册教学课件(新版教材)(1).pptx
- 人教版数学6年级下册全册课件(2025年3月修订).pptx
- 2025年春人教版一年级数学下册全册教学课件.pptx
- 2025年新人教PEP版英语三年级下册全册课件.pptx
最近下载
- 海绵城市监理实施细则范本·仅供参考.doc VIP
- 七年级数学下册-相交线与平行线测试题(同名10636).doc VIP
- 《跨学科主题学习设计与实施》全套教学课件.pptx
- 建设工程项目管理全套课件.pptx
- 数控多轴加工编程与仿真全套教学课件.pptx
- 2018助理班主任工作总结3篇-2018助理班主任工作总结3篇-2018助理班主任工作总结3篇-.doc VIP
- 《水工程施工》课程大纲.pdf VIP
- 市政管线项目划分.doc VIP
- 2026年春季开学第一课 课件:策马新学期,筑梦向远方-2025-2026学年下学期优质主题班会(全国通用).pptx
- 初高中英语必背4000个词汇表.pdf
原创力文档

文档评论(0)