Tree Searching Strategies(树搜索策略 )

很多问题的解可以表示为树;解为树的节点或路径,求解这些问题可以转化为树搜索问题。

 

有误 问题的解是路径。

 

 

 

 

 对当前层有一个比较入栈的操作。

 最佳优先搜索(Best First Search),是一种启发式搜索算法(Heuristic Algorithm),我们也可以将它看做广度优先搜索算法的一种改进;最佳优先搜索算法在广度优先搜索的基础上,用启发估价函数对将要被遍历到的点进行估价,然后选择代价小的进行遍历,直到找到目标节点或者遍历完所有点,算法结束。

使用最小堆,在一个节点“层”上进行比较。 

3 3 4 4——3 4 3 4 4——3 4 2 4 4 4——3 4 1 4 4 4——3 4 0 2 4 4 4 <(^-^)>

 

 分枝定界能够有效剪枝减小代价,前面两个一个容易陷入局部优化,另一个代价仍然很大。

 

 

 

 

 对f:P到J有:难的工作分配给厉害的人:不同的人要承担不同的工作。

 

 

 

 

 

 工作分配的要求。

 

 

 

 可以看到,因为代价树的增长太过平缓,起点太低,在能够剪枝的时候都快算完了……剪枝效果并不好。那么我们是否可以改进一下算法使得起点增大呢?

在各行各列中做出这样的调整:共同减去一行或者一列的最小值,从而将一行/一列的最小值变成0。对于问题的所有可行解来说,必然在一行中挑选一个数、一列中挑选一个数,所以这样的调整并不会影响我们挑选与计算最优解。

 为什么减到0,则是为了保证代价的整体上升趋势;每行每列减去的数的总和就是解的下界。

 这是所有解的一个下界,,自然也是可行解的代价下界。虽然不满足偏序约束(

 

 

 一开始用爬山法找到的也只是可能解。在剪枝之后要继续找优化解。

 

 

 

 

目标: 使左子树代价下界增长最小,右子树代价下界增长最大。

 为啥一定是由4出发进入6的,因为一定要构成哈密顿图 不包括4,6就必须得有6,4。
 

 

 记得把C6,4给一起修改了。

 

 

 每次拓展都必须重新计算划分边。

 最左枝求的是优化解代价上界,除此之外都是使用的LB。

 

 

 

 

 

 

 

 

 

 

 

 

 

 使用的是最佳优先搜索策略。

 

 

4是必要的,说明f(t)是t对应的可能解。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值