人工智能现代方法学习笔记(3):搜索

第三章:搜索

当我们要采取的正确动作不太明显的时候,智能体可能需要提前规划:考虑一个形成通往目标状态的路径的动作序列。这样的只能提交做 问题求解型智能体 problem-solving agent,这个过程叫做 搜索 search

一、问题求解智能体

如果智能体没有额外信息,也就是说环境是未知的,那么智能体智能随机选择一个动作。在这里,我们认为我们的智能体总是能够访问与世界相关的信息,智能体可以执行以下四个阶段的问题求解:

  • 目标形式化 goal formulation
  • 问题形式化 problem formulation
  • 搜索 search
  • 执行 execution

一个重要的性质是,在一个完全客观测的、确定的、已知的环境中,任何问题的解都是一个固定的动作序列。如果模型是正确的,那么一旦智能体找到了一个解,他在执行动作的时候就可以忽略感知哐哐做就行了。控制理论家称之为 开环 open-loop 系统。如果模型有的时候不一定政策,那么使用监控感知的 闭环 closed-loop 系统更好。

搜索问题的形式化定义如下:

  • 状态空间 state space:可能的环境状态的集合
  • 初始状态 initial state:智能体启动时的状态
  • 一个或多个 目标状态 goal state 的集合
  • 行动 action
  • 转移模型 transition model:描述每个动作所起到的作用
  • 动作代价函数 action cost function:给出状态转移的数值代价

一个动作序列形成一条 路径 path,而 解 solution 是一条从初始状态到某个目标状态的路径。最优解 optimal solution 是代价最小的那个解。状态空间可以用 图 graph 表示。

二、搜索算法

注:本节所有算法均可以在 OI Wiki 查询到更为详细的解释。这里只是列一个提纲

1. 广度优先搜索 breadth-first search, BFS

3. 深度优先搜索 depth-first search, DFS

7.迭代加深搜索 iterative-deepening A* search, IDA*

8. 递归最佳优先搜索 recursive best-first search, RBFS

启发式搜索算法的性能取决于启发式函数的质量。我们有时候可以通过松弛问题定义、在模式数据库中储存计算子问题的代价、定义地标点,或者从问题类的经验中来构建更好的函数

posted @ 2025-08-26 20:31  SD!LTF  阅读(18)  评论(0)    收藏  举报