1.问题求解智能体 agent
(1)搜索:
智能体模拟一系列动作,并进行搜索,直到找到一个能到达目标的动作序列或发现问题无解。
完全可观测的、确定的、已知的环境中,任何问题的解都是一个固定的动作序列。
(2)搜索问题和解:
- 状态空间:可能的环境状态集合。 state space
- 初始状态 initial state
- 一个或多个目标状态集合 goal state
- 智能体可以采取的行动 action
- 转移模型 transition model 每个动作所起到的作用
- 动作代价函数 action cost function
- 路径 path 一个动作序列
- 解:是一个动作序列(路径)从初始状态到某个目标状态的路径
- 最优解 optimal:所有解中路径代价最小的解
2.搜索算法 search algorithm
(1)状态空间图
- 结点: 状态空间中的一个状态
- 弧: 表示后续
- 目标节点: 一个/一组目标节点
- 在搜索图中,每个状态只发生一次
- 占据内存空间太大
(2)搜索树
搜索树中有重复的状态
(3)问题求解性能分析
- 完备性
- 最优解
- 时间复杂度
- 空间复杂度
3.无信息搜索 uninformed search
(1)BFS
- 时间复杂度:
- 空间复杂度:
- 最优解:所有动作代价相同时最优,否则不一定。因为BFS一定会先找到最浅层的解,这个解所进行的动作一定最少,每个动作相同代价时,该解一定是最优解。
- 完备性:是
(2)UCS
- 使用优先级队列,评估从根到当前节点的代价
- 完备性:是
- 最优解:是
- 缺点:没有关于目标位置的信息
(3)DFS
- 直接到达搜索树的最深层,然后回退
- 时间复杂度:
- 空间复杂度:
- 完备性:否。有环/无限状态空间,陷入无限循环。对于树形有限空间是完备的。
- 最优解:否。返回找到的第一个解。
- 为了避免搜索过程陷入无穷分支的死循环,提出有界深度优先搜索。
4.启发式搜索 informed search
(1)启发函数 heurisric function h(n):
估计一个状态距离目标状态的距离。
例如:曼哈顿距离;欧氏距离。
(2)贪心搜索 greedy search f(n):
策略:扩展下一个状态到你认为最接近目标状态的节点
常见的错误:直接到达最短
(3) 搜索
f(n)=g(n)+h(n)
- f(n):评价函数
- g(n):初始节点到节点n的实际代价
- h(n):节点n到目标状态的估计代价
结合了UCS和Greedy
当目标状态dequeue的时候算法才结束。
(4)admissible heuristic function:
optimistic,never outweigh true costs
证明:搜索是最优的
Assume:
- A is an optimal goal node
- B is a suboptimal goal node
- h is admissible
claim:
- A will exit the fringe before B
Proof:
- imagine B is on the fringe
- some ancestor n of A is on the finge,too
claim:n will be expanded before B
All ancestors of A expand before B
A expands before B
一致代价UCS在所有方向上等可能的拓展,搜索主要朝着目标拓展,而且能够保证最优性。