迭代加深搜索、启发式搜索、A*、IDA

目录

回顾/本期梗概

一、迭代加深搜索(IDDFS)

        1、IDDFS基础知识

        1)什么是迭代加深搜索

         2)迭代加深的基本结构

         3)IDDFS和BFS比较优势是什么

        4)IDDFS中的复杂计算问题

二、A*算法

        1、A*算法基础知识

        1.什么是A*算法

        2.A*算法的核心思想、

         3、A*算法的核心要点:

        相关说明:

        (1)为什么终点出队说明最短?

        (2)为什么非终点出队,不一定是最优解?

三、IDA*

        1、IDA*基础知识

        1)什么是IDA*

        2)IDA*和A*的区别


回顾/本期梗概

        上期我们学习了搜索优化、搜索进阶(空降链接)本期我们将学习迭代加深搜索、启发式搜索、A、IDA。


一、迭代加深搜索(IDDFS)

        1、IDDFS基础知识

        1)什么是迭代加深搜索

        迭代加深搜索(IDDFS)是深度优先搜索,与普通的dfs不同的是,每次深搜都会有搜索的最大深度限制,如果没有找到解,那么就增大深度,再进行深搜,如此循环直到找到的解为止,这样可以找到最浅层的解。

        IDDFS适和求解:搜索深度较深,但正确的解再较浅的深度的问题。

        IDDFS的使用前提是:一定要有解。

        

         2)迭代加深的基本结构

while(!dfs(maxdep))
    maxdep++;

         3)IDDFS和BFS比较优势是什么

        BFS 的基础是一个队列,队列的空间复杂度很大,当状态比较多或者当状态比较大时,使用队列的BFS就显出了了劣势。事实上,迭代加深就类似于用DFS方式实现的BFS,他的空间复杂度相对较小。

        IDDFS和BFS相比的优势在于:空间复杂度会小很多,也可以配合剪枝来提升搜索效率。

        4)IDDFS中的复杂计算问题

        当搜索树的分支比较多时,每增加一层的搜索复杂度会出现指数级爆炸式增长,这时前面重复的部分所带来的复杂度几乎可以忽略,这也就是为什么迭代加深可以近似看成BFS的。


二、A*算法

        1、A*算法基础知识

        启发式搜索(Heurisrically Search)又称为有信息搜索(Informed Search),它是利用问题拥有的启发信息来引导搜索,达到减少搜索范围、减低问题复杂度的目的,这种利用启发信息的搜索过程称为启发式搜索。

        启发式策略:可以通过指导搜索向最有希望的方向前进,降低了复杂度。通过删除某些状态及其延伸,启发式算法可以消除组合爆炸,并得到令人能接受的解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值