搜索算法:原理、应用与发展
1. 搜索算法基础
在解决问题时,搜索算法是一种强大的工具,可在多种环境中帮助智能体选择行动序列。不过,这些环境需要满足一定条件,如具有阶段性、单智能体、完全可观测、确定性、静态、离散且完全已知。在使用搜索算法时,需要在搜索时间、可用内存和解决方案质量之间进行权衡。若拥有领域相关知识,以启发式函数的形式估计给定状态到目标的距离,或者预先计算涉及模式或地标的部分解决方案,搜索过程会更高效。
在开始搜索之前,必须明确地定义问题。一个问题通常由五个部分组成:初始状态、一组行动、描述这些行动结果的转移模型、一组目标状态以及行动成本函数。问题的环境由状态空间图表示,从初始状态到目标状态的状态空间路径(一系列行动)即为解决方案。
搜索算法通常将状态和行动视为原子,不考虑其内部结构(但在学习时会引入状态特征)。评价搜索算法的标准包括完备性、成本最优性、时间复杂度和空间复杂度。
2. 无信息搜索方法
无信息搜索方法仅能访问问题定义,通过构建搜索树来寻找解决方案。不同的算法根据首先扩展的节点不同而有所区别:
- 最佳优先搜索 :使用评估函数选择要扩展的节点。
- 广度优先搜索 :首先扩展最浅的节点,具有完备性,对于单位行动成本是最优的,但空间复杂度呈指数级增长。
- 一致代价搜索 :扩展路径成本 g(n) 最低的节点,对于一般行动成本是最优的。
- 深度优先搜索 :首先扩展最深的未扩展节点,既不完备也不是最优的,但空间复杂度为线性。深度受
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



