考虑一个形成通往目标状态路径的动作序列,这样的智能体被称作问题求解智能体,所进行的计算过程被称为搜索。
使用状态的因子化表示或结构化表示的智能体称为规划智能体。
*问题求解智能体
目标形式化:目标通过限制智能体的目的和需要考虑的动作来组织其行为。
问题形式化:智能体刻画实现目标所必需的状态和动作来进而得到这个世界中与实现目标相关的部分所构成的抽象模型。
搜索:在真实世界中采取任何动作之前,智能体会在其模型中模拟一系列动作并进行搜索,直到找到一个能到达目标的动作序列。
执行:现在智能体可以执行解中的动作,一次执行一个动作。
**搜索问题和解:
关键词:状态空间、初始状态、目标状态、行动(acton)、转移模型、动作代价函数,
**问题形式化
一个良好的问题形式化应该具有适度的细节层次,剔除细节的过程称为抽象。选择一个好的抽象需要删除尽可能多的细节同时保留合理性,并确保抽象动作易于执行。
*搜索算法
搜索算法将搜索问题作为输入并返回问题的解惑报告failure。搜索树中的每个节点对应于状态空间中的一个状态,搜索树中的边对应于动作,树的根对应于问题的初始状态。
边界分离了状态空间图的两个区域,即内部区域(其中每个状态都已被扩展)和外部区域(尚未到达的状态)。
最佳优先搜索是一种非常通用的方法,在这种方法中,我们选择使得某个评价函数的值最小。
树中的节点由一个包含4个组成部分的数据结构表示,节点对应的状态、父节点、父节点生成该节点时采取的动作,从初始状态到此节点的路径总代价。
搜索算法用了三种类型的队列:优先队列、FIFO队列、LIFO队列。
循环是冗余路径的一种特殊情况。如果搜索算法会检查冗余路径,我们称之为图搜索,否则称之为树状搜索。
在开始设计各种搜索算法之前,可以从四个方面评价算法的性能:完备性、代价最优性、时间复杂性、空间复杂性。