一、应用题 6X15
1. 回溯法与分支限界法的比较
答:
(1)什么是回溯法
搜索策略是:在解问题的时候按深度优先策略,从根结点出发搜索空间树。
算法搜索至解空间树的任意一结点时,先判断该结点是否包含问题的解,如果
肯定不包含就跳过该对结点为根结点的子树的搜索,从而逐层转向其祖先结点
回溯;否则就进入该子树,继续按深度优先策略搜索。
-回溯法求问题的解的时候要回溯到根,且结点的所有子树都被搜索遍才结束。
-回溯法求问题的一个解时,只要对搜索到的问题的一个解结束。
-回溯法适用于解组合数较大的问题
(2)什么是分支限界法
分支限界发的求解目标是找出满足约束条件的一个解,或者是在满足约束
条件的解中找出使某一个目标函数值达到极大或者极小的解,即在某种意义下
的最优解。分支限界发是以广度优先或者最小耗费优先的方式搜索解空间。
在分支限界法中,每一个结点只有一次的机会成为扩展结点,活结点一旦
成为扩展结点,就一次性产生所有的儿子结点。在这些儿子结点中,导致不可
行解或者导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。
搜索策略是:在扩展结点处,先生成其所有的儿子结点(分支),然后再
从当前的活结点表中选择下一个扩展结点。为了有效地选择下一个扩展结点,
加速搜索的过程,在每一活结点处计算一个函数值限界,并且根据函数值从当
前的活结点表中选择一个最有利的结点作为扩展结点,使搜索朝着解空间上有
最优解的分支推进,以便找出最优解。
(3)区别
分支限界发与回溯法的求解目标不同,回溯法的求解目标是找出解空间中
满足约束条件的所有解,而分支限界发的求解目标是找出满足约束条件的一个
解,或者是在满足约束条件的解中找出使某一个目标函数值达到极大或者极小
的解,即在某种意义下的最优解
所以求解的方方式就不一样了。即对他们对扩展结点所采用的扩展方式不
同。回溯法以深度优先的方式搜索解空间,分支限界发是以广度优先或者最小
耗费优先的方式搜索解空间。
2. 分治法 递归
(1)分治法的思想
基本思想:将一个规模 N 的问题分解为 K 个规模较小的子问题,这些子问题互
相独立且与原问题相同,递归解决这些子问题然后就将各个子问题的解合并到
原问题的解。