注意事项:
序号有点问题,影响不大,内容都是各种资料整合和我自己归纳总结的,不喜勿喷,感觉扔回收站可惜了,所以分享出来,能有帮上你的忙就最好不过了,更多复习资料,可以去看我的合集。
五、回溯法:装载问题,待处理作业调度,符号三角形,n 皇后,0-1 背包,最大团,图的 m 着色,旅行售货员,圆排列,电路板排列,连续油资
回溯法的基本思想:
在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。
算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。
如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;
否则,进入该子树,继续按深度优先策略搜索。
回溯法解题步骤
针对所给问题,定义问题的解空间;
确定易于搜索的解空间结构;
以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索。
用回溯法解题的特征:
在搜索过程中动态产生问题的解空间。问题的解空间树是虚拟的,并不需要在算法运行时构造一棵真正的树结构。在任何时刻,算法只保存从根结点到当前扩展结点的路径。
回溯法的算法框架:
递归回溯、子集树与排列树算法框架
影响回溯法的效率因素:
产生x[k]的时间;
满足显约束的x[k]值的个数;
计算约束函数constraint的时间;
计算上界函数bound的时间;
满足约束函数和上界函数约束的所有x[k]的个数。