IDA*对A*的改进

预先:

  • 首先你需要了解什么是A*算法(一种利用启发信息的有信息式搜索),它本身就是是对一致代价搜索的一种改进,这里不做过多的阐述。

过渡:

迭代加深(限制深度优先搜索的层数)为什么存在?

  1. 减小原先BFS存储空间的指数增长问题。O(b^d)->O(b*l),b为分支因子,d为解的深度,l为深度界限(不断加深的)。
  2. 减小DFS搜索的盲目性(应对树很深,但是目标解在较浅位置)。O(b^m)->O(b^l),m为最大深度。l为深度界限(不断加深的)。

改进:

IDA*(ID与A*结合)方法:

  • 设置阈值评估值Fmax,只对评估结果小于阈值Fmax的节点进行探索。
  • 如果没找到增加阈值继续进行A*探索。

!此处注意:很多人对于IDA*理解不同实现也不同,对于算法的实现也千奇百怪(不仅是启发函数,连增加阈值的方法也千奇百怪,最多的将新阈值为超过旧阈值的最小代价),不过总的还是要根据不同问题设计更好的算法。


IDA*特点:

对空间的消耗较少,由于剔除超阈值节点,所以从open列表选择节点拓展也是更快的。但是注意有出现重复搜索的老毛病。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值