四:使用带启示信息的搜索

     带信息的搜索是现实环境中常见的情况,它可以使得搜索更有效。带信息的搜索(Informed heuristi search)是指使用特定问题的知识去使得搜索更有效的策略。

 

     其代表的方法是Best-First search, 其实质是tree-search或者graph-search算法,但在选择节点展开时使用估计函数f(n)来选择最小或最大值作展开。估计函数有很多,最重要的一个是称为heuristic function:

 

     h(n) = 从节点n到目标的最短距离

 

     而贪心best first search的估计函数就是f(n) = h(n)。 最著名的要算A*算法,它的估计函数是f(n)=g(n)+h(n), 其中g(n)是指从开始节点到节点n的真实值。 那么f(n)求得就是通过节点n到达目标的最小估计值。

     h(n)是可接受的是指h(n)永远不会超过从n节点到目标的实际距离。  A*算法使用tree-search时, h(n)为可接受的是可以找到最优解,但使用graph-search时,还需要h(n)满足一致性的。

 

 

     A*算法是全局的,所以当节点比较大时是很耗时。这时可以通过局部搜索算法:它是指只保存当前状态,每一步只移动到其相邻的状态的一类算法。优点是只使用少量的内存,同时对于无穷状态的问题能很快找到合适的答案。

 

     这类算法有:

 

1)hill climbing(爬山)算法

     该算法是根据每次从相邻状态中选出最好的状态,然后变化到该状态,直到找到局部最优解。

 

2)随机爬山算法

 

3)模拟退火算法

 

4)Local beam search

     该算法一次保存k个状态,而不是保存一个,然后在每一步中选择下一次的k个状态

 

5)随机beam search

 

6) 遗传算法: 他是随机beam search的变种, 它的每一个后续状态不是由一个状态产生,而是由两个父母状态产生。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值