感谢秦晓卫老师的指导!!
搜索问题可以形式化定义为
一个动作序列称为路径,解是从初始状态到目标状态的一条路径
树搜索是一个逐步扩展的过程,搜索过程可以形象化地构成一棵搜索树。可以这样描述搜索过程
1
Note
搜索策略就是扩展节点的顺序,构造搜索树的过程就是扩展
搜索树上的叶子称为边界节点,其他枝干称为内部区域;搜索树上的所有节点统一称为已达节点
边界节点适宜使用优先队列维护
Note
优先队列:优先弹出评价函数计算得到代价最小的节点
已达节点采用查找表的形式存储
最佳优先搜索需要定义一个评价函数,不同的评价函数对应了不同的搜索算法。如评价函数可以为
若记 frontier
为边界节点集合,reached
为已达节点集合,那么最佳优先搜索可以描述如下
frontier
为根,reached
为空frontier
中弹出使得最小的节点,扩展其子节点reached
集合与路径代价,并将子节点添加进入frontier
集合1
循环直到frontier
为空或是找到目标状态可以将状态空间画为图,状态用节点表示,状态的转移关系对应节点的输出弧。一个简单的状态空间图如下
对于较复杂的状态转移关系,搜索树中会出现重复的节点,每个两个节点间存在多条 冗余路径
Note
检查冗余路径的搜索称为图搜索, 最佳优先搜索属于图搜索
本文作者:GBwater
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!