P1-2.2 搜索、知识表示与概率推理¶
Section ID:
P1-2.2Version:v2026.07.20
2.1 已经看过符号主义 AI 与规则式方法。这一节继续回答下一个问题:当“只把规则写下来”还不够时,AI 还必须搜索可能的候选、表示所需知识,并在不完整信息下推理出更可信的结论。
这里需要做的,不是详细学习算法,而是先固定:为什么 search、knowledge representation 与 probabilistic reasoning 会在 AI 导论里反复出现,以及这条脉络如何构成后面解释机器学习与深度学习的背景。
在 Part 1 中,search 与 probabilistic reasoning 的基本区分固定在这一节。Knowledge representation 已在 2.1 做过初步介绍,这里只在比较它与搜索和概率推理之间的角色时重新连接;如果这些边界之后又变模糊,就回到这一节与共享的 Concept Glossary (English)。
这一节整理以下问题:
- 为什么搜索会成为早期 AI 的核心解题方式?
- 知识表示如何与规则式方法相连接?
- 概率推理如何处理不完整信息与不确定性?
这里的重点,是把三条脉络的 角色差异 整理清楚。后来为什么解释中心会转向“从数据中学习模式”,会在下一节 2.3 再继续回收。
搜索、知识表示与概率推理的角色差异¶
- 理解为什么搜索是早期 AI 的核心解题方式。
- 看清知识表示如何与规则式方法相连接。
- 理解概率推理是一种处理不完整信息与不确定性的方式。
- 把搜索、知识表示与概率推理区分为机器学习出现之前 AI 的重要主轴。
先连起来的概念¶
这一节是 Chapter 2 中首次系统区分 search、knowledge representation 与 probabilistic reasoning 角色差异的代表位置。下面这些概念先只固定其角色;如果需要更完整的定义,再回到对应术语条目。
| 概念 | 这里先固定的意思 | 为什么现在需要 |
|---|---|---|
| search | 沿着可能状态与行动寻找目标的方法 | 为了看见候选很多时为什么“顺序”会成为问题 |
| knowledge representation | 用来书写事实、关系与约束的形式 | 为了把系统“应该知道什么”的问题单独分出来 |
| probabilistic reasoning | 在不完整信息下处理“多大程度上可信”的方式 | 为了避免把所有判断压成简单的真或假 |
| goal | 想要到达的条件 | 为了看搜索在什么地方停下 |
主要学习内容¶
在这里,术语看起来会朝三个方向分开,初读时容易觉得脉络散掉。下面三个基准是这一节的大地图。
| 基准 | 为什么重要 | 这一节需要达到的理解程度 |
|---|---|---|
search 是一个 候选太多时先看哪里 的问题 | 这样才能看出为什么光有规则还不够。 | 先区分:可能选择太多,所以必须决定顺序。 |
knowledge representation 是一个 把什么写成已知 的问题 | 这样才能理解为什么规则、事实与关系会被分别讨论。 | 整理清楚“把解题标准写成计算机能处理的形式”这件事。 |
probabilistic reasoning 处理的是 不完整信息下某个结论有多可信 | 这样才能把 AI 和那些不是非真即假的现实问题连起来。 | 把概率和在模糊条件下作判断这件事连起来。 |
state、action、goal、representation 与 probability 一起出现时,初学者容易觉得陌生。在这一节里,它们先这样区分。
| 术语 | 极简含义 | 在这一节中的角色 |
|---|---|---|
| state | 问题当前的样子 | 显示搜索从哪里开始的基准 |
| action | 会改变状态的选择 | 生成下一个候选的单位 |
| goal | 想要到达的条件 | 决定搜索停止位置的基准 |
| representation | 系统用来书写自己所知事实与关系的方式 | 判断候选时所依赖的基础 |
| probability | 表示某个结论有多可信的值 | 在信息不完整时帮助判断的语言 |
这一节首先应留下的区分是:search 处理状态、行动与目标;knowledge representation 决定该写下什么;probabilistic reasoning 则处理模糊信息下的可信度。
细化学习内容¶
规则之后会出现的三个问题¶
规则式方法显式描述“在什么条件下应得出什么结论或采取什么行动”。但真实问题往往不会只靠一条规则就结束。
例如,规划配送路线时,目的地可能已经固定,但可走的路很多、路况会变化,而且信息可能不完整。这时,AI 系统至少要一起处理下面这些问题。
| 问题 | 对应的方法 | 核心意思 |
|---|---|---|
| 候选很多时,应该先检查哪个? | search | 沿着状态和路径寻找目标 |
| 系统为了解题必须知道什么? | knowledge representation | 把事实、关系、约束与规则写成计算机能处理的形式 |
| 信息不完整或带噪声时,哪个结论更可信? | probabilistic reasoning | 根据已观察到的证据计算结论的概率或可信度 |
这三个问题彼此不同,但在真实 AI 系统里经常会一起出现。搜索负责找候选,知识表示负责提供判断候选的基准,而概率推理负责在不确定条件下判断哪个候选更可信。
把同一个问题拆成三个视角来看,会更清楚。
| 示例问题 | 搜索问题 | 知识表示问题 | 概率推理问题 |
|---|---|---|---|
| 地图路径查找 | 从当前位置到目的地,应选择哪条路线? | 道路、路口、单行限制与移动方式该如何表示? | 预计时间、拥堵与事故风险该如何反映? |
| 配送机器人 | 应该按什么顺序移动、拿起物品、再放下物品? | 机器人位置、物品位置、目的地与载荷状态该如何表示? | 传感器不确定、门可能关闭时该如何处理? |
| 游戏代理 | 下一步要移动到哪里,或该下哪一步? | 位置、剩余资源、已获得道具与目标状态该如何表示? | 对手行动或未观测状态应如何估计? |
Poole 与 Mackworth 的公开教材也用路径查找、配送机器人与网格游戏来举搜索和状态空间的例子。这里不直接照搬原例,而是把其结构泛化成学习用版本。
搜索:在可能状态中找到目标¶
搜索是一种沿着可能状态(state)与行动(action)前进、直到找到目标(goal)的方法。只要候选很多,这种结构就会出现在路径查找、谜题、游戏、计划与排程问题里。
把搜索问题简化后,可以先看成下面这些组成部分。
| 组成要素 | 英文术语 | 示例 |
|---|---|---|
| 初始状态 | initial state | 当前位置、当前棋盘状态、当前日程 |
| 可执行行动 | actions | 移动、移动棋子、调整任务顺序 |
| 下一状态 | transition/result | 行动之后改变的位置或状态 |
| 目标检查 | goal test | 到达目的地、解开谜题、满足条件 |
| 代价或评价 | cost/evaluation | 距离、时间、风险、分数 |
这个结构会直接对应到实际例子。
| 示例 | 状态 | 行动 | 目标 | 代价或评价 |
|---|---|---|---|---|
| 地图路径查找 | 当前位置、移动方式、前进方向 | 沿道路与路口移动 | 到达目的地 | 距离、时间、成本、能耗 |
| 配送机器人 | 机器人位置、当前携带物品、尚未送达物品 | 移动、拿起、放下 | 指定物品到达目的地 | 移动距离、时间、电量、失败风险 |
| 网格游戏 | 代理位置、燃料、已收集金币 | 上下左右移动、充电、收集金币 | 收集全部金币并到达目标位置 | 移动次数、剩余燃料、避开危险区域 |
如果可以把所有候选一直检查到最后,搜索看起来会很简单。但现实问题中的候选数量会快速膨胀。比如在游戏里向前看很多步、在多个城市之间选择路线、或者为大量约束条件制作日程,都会让组合数量爆炸式增长。
因此,搜索里启发式(heuristic)就变得很重要。启发式不是保证正确答案的公式,而是一种经验性标准,用来让系统先查看更有希望的候选。到目的地的直线距离、当前分数、剩余约束数量等,都可能用来决定搜索顺序。
初学者常见的混淆是:heuristic 与 probability 都可能看起来像数字。但它们回答的问题不同。
| 区分 | 先回答什么问题 | 这个值扮演的角色 | 简短示例 |
|---|---|---|---|
| heuristic | 先检查哪个候选? | 决定搜索顺序或优先级的经验标准 | 先检查直线距离更短的路线 |
| probability | 哪个结论更可信? | 表达不完整信息下候选结论的可信程度 | 这一组症状让疾病 A 的可能性更高 |
所以,启发式更接近 搜索顺序,概率更接近 相信程度。真实系统里两者可以同时存在,但它们并不是同义数字。
例如,在选择配送路线时,系统可以用 到目的地的直线距离 作为启发式,先缩小要看的候选范围;同时,它也可以计算 因为下雨而导致某段道路延迟的概率,从而判断哪条路线更不稳定。前者帮助搜索顺序,后者反映不确定性。两者都像数字,但在系统里承担的工作不同。
flowchart TD
Start[起始状态]
Candidates[候选选项]
Heuristic[启发式或评分规则]
搜索[搜索]
Goal[目标状态]
Start --> Candidates
Candidates --> Heuristic
Heuristic --> 搜索
搜索 --> Goal
这个图把搜索读成 初始状态 -> 候选 -> 评价标准 -> 目标 的流程。这里要读出的关键,是结构本身:系统要先生成候选,并需要一个“先看哪里”的标准。
这一节不会深入讲解具体搜索算法。广度优先搜索、深度优先搜索、A* 搜索、博弈搜索与启发式函数会在 Part 1 Chapter 7 再次出现。这里先把搜索记成:当可能候选太多时,用来寻找通向目标的路径的方法。
知识表示:什么应被当作“已知”¶
如果说搜索是在候选之间寻找路径,那么知识表示就是在整理:系统为了判断这些候选,必须先知道什么。
2.1 中介绍的规则式方法就是知识表示的一种形式。但知识表示并不只是一张规则表。事实、关系、概念、约束、时间变化、行动结果与例外条件都可以成为表示对象。
例如,一个配送计划系统可能要处理下面这些知识。
| 知识 | 表示示例 |
|---|---|
| 地点 | 仓库、客户地址、中转点 |
| 关系 | 道路相连、某段道路是单行线 |
| 约束 | 冷链商品必须在限定时间内送达 |
| 行动 | 车辆移动后,位置与剩余时间都会变化 |
| 目标 | 完成全部配送并降低成本 |
知识表示的核心,是 什么应以什么单位被表示出来。同一个事实,依据表示形式不同,也会被不同方式处理。
| 要表示的事实 | 表示形式示例 | 含义 |
|---|---|---|
物体 a 是红色的 | red(a) | 把 red 当成属性使用 |
物体 a 的颜色是红色 | color(a, red) | 把 red 当成取值,并把颜色表达成关系 |
a 是一个包裹 | type(a, parcel) 或 is_a(a, parcel) | 表示某个实体属于哪一类 |
| Alex 把一本书给了 Chris | agent(event, alex), recipient(event, chris), patient(event, book) | 把事件当成一个实体,并表达参与者关系 |
Poole 与 Mackworth 在解释知识图谱(knowledge graph)时,会讨论由 subject、verb 与 object 组成的 triple representation。这里只借用这种结构来读:像 物品 A 位于仓库 B 这样的事实,也可以表示成 subject-relation-object 的连接。重要的点在于:表示不仅是存储格式,它还是一种让系统更容易提出某些问题的结构。
Stanford Encyclopedia of Philosophy 的逻辑基础 AI 条目指出,早期专家系统依赖大规模过程性规则集合,但后来越来越需要单独的知识表示组件来表达背景知识。换句话说,AI 不仅关心如何执行规则,也关心如何组织规则、事实、关系与背景知识。
这种视角在现代 AI 中仍然保留。即便机器学习模型会从数据中学习模式,服务政策、领域知识、权限结构、数据模式、知识图谱与搜索索引等显式表示仍然是必要的。
概率推理:在不完整信息下计算可信度¶
规则与逻辑擅长处理的是“如果条件为真,那么结论随之成立”的结构。但现实信息常常是不完整的,观测会带噪声,而且同样的证据可能支持多个不同结论。
下面这些问题很难只靠简单的真/假规则来处理。
| 情境 | 不确定的地方 |
|---|---|
| 根据症状推测疾病 | 同一种症状可能出现在多种疾病中 |
| 判断邮件是否是垃圾邮件 | 只看几个词无法得到确定结论 |
| 根据传感器数据检测障碍物 | 传感器值可能带噪声或缺失 |
| 预测客户流失 | 过去行为无法完全决定未来行为 |
在概率推理中,这类不确定对象可以表示为随机变量(random variable)。例如,Has_cough 这样的变量可以取 true/false 值,Sensor_distance 这样的变量可以取连续值。这样的例子说明:AI 不是把不确定世界简单压成一个数字,而是先规定可观测变量与其可能取值范围。
| 不确定对象 | 随机变量示例 | 可能取值 |
|---|---|---|
| 病人是否咳嗽 | Has_cough | true, false |
| 传感器读到的障碍物距离 | Sensor_distance | 大于等于 0 的距离值 |
| 图形的形状 | Shape | circle, triangle, star |
| 图形是否被填充 | Filled | true, false |
概率推理用概率来处理这些结论的可信度。Stanford Encyclopedia of Philosophy 的 AI 条目把概率推理描述为:根据观测到的证据计算某个假设的概率,并说明 1990 年代之后,概率方法与贝叶斯网络(Bayesian network) 在 AI 中变得越来越重要。
这里的重要点是:概率推理并不意味着 随便随机回答。概率是一种整理不确定性的语言。随着观测到的证据变化,结论的可信度也会跟着变化。
Bayes 规则与贝叶斯网络会在后面再出现,概率、不确定性与 stochastic 之间的差异会在 Part 1 Chapter 6 再次处理。这里先把概率推理记成:在不完整信息下计算可能结论有多可信的方法。
三条脉络如何连接¶
搜索、知识表示与概率推理从不同问题出发,但它们可以一起使用。
flowchart TD
问题[问题]
Representation[知识表示]
搜索[搜索]
Probability[概率推理]
Decision[结论或动作]
问题 --> Representation
Representation --> 搜索
Representation --> Probability
搜索 --> Decision
Probability --> Decision
这个图说明,三条脉络并不是彼此竞争,而是在解决同一个问题时承担不同角色。这里要读出的关键,是它们的分工结构:knowledge representation 写下基础,search 找候选,probabilistic reasoning 则在信息模糊时帮助形成结论。
想象一台机器人在仓库里搬运物品。
- 知识表示负责表达仓库布局、通道、物品、机器人状态与约束条件。
- 搜索负责找出可能的移动路径与任务顺序。
- 概率推理负责在传感器不确定或通道状态变化时,计算哪种判断更可信。
这条流程显示出,AI 并没有停留在“只是执行规则的程序”上。AI 还发展出了用于处理大量候选的搜索、用于组织世界知识的表示,以及用于数学化处理不确定性的概率推理。
练习:用三个视角拆开同一个问题¶
面对一个问题时,这三个术语可能总是混在一起。这时,把 要找什么、要先写下什么、什么是不确定的 分开写出来,整理会更快。
例如,假设一个配送 App 要在 下雨的傍晚 给订单派单。
| 区分 | 在这个情境下首先要写的问题 | 示例回答 |
|---|---|---|
| search | 应该把哪个订单分给哪个骑手,并按什么顺序配送,才能让总配送时间最短? | 系统必须比较配送顺序与移动路径的多个候选。 |
| knowledge representation | 系统必须知道什么,才能做出这个判断? | 它必须表示骑手位置、订单地址、门店位置、配送区域与优先级规则。 |
| probabilistic reasoning | 哪些信息并不确定? | 因下雨而延长行驶时间、某些区域拥堵、骑手到达延迟等都存在可能性。 |
读这张表时,重要的是看到这三个问题并不竞争。即便在同一个配送系统里,从候选中做选择 更接近搜索,把世界结构写下来 更接近知识表示,而 处理预计时间会波动的情况 更接近概率推理。
一个简短的区分练习¶
看下面这些案例,先把中心问题归到搜索、知识表示或概率推理中更接近的那一项。
| 案例 | 首先要抓住的中心问题 | 最接近的脉络 |
|---|---|---|
| 需要在会议室、讲者和设备约束之下安排一天的培训日程 | 在所有可能组合中,应选择什么顺序与安排? | search |
| 内部权限系统要把部门、角色、审批阶段与例外规则结构化 | 应该把哪些事实与关系写成什么形式? | knowledge representation |
| 工厂传感器数值波动时,系统要判断设备是否异常 | 在当前观测值下,哪个结论更可信? | probabilistic reasoning |
| 仓库机器人知道通道布局,但移动中遇到不稳定传感器 | 应如何同时处理路线候选、仓库结构与传感器不确定性? | 三条脉络一起需要 |
这个练习的重点,不是把三个术语分开背下来,而是先把问题区分成 找候选的问题、写世界的问题、判断模糊信息的问题。真实系统里三者常常一起出现,但只要把中心问题拆开,角色就会清楚很多。
案例与示例¶
案例 1. 为什么仓库机器人不能只靠规则结束¶
设想一个仓库机器人,要把物品拿起后送到配送区域。人类描述这个过程时,可能会说:从 A 货架拿起、沿通道移动、在配送区放下。
但在真实场景里,可能存在多条候选路径;一条通道被堵住时就得改走别的路线;传感器也可能误读物体。在这种情况下,单纯规则无法完整解释 先看哪个候选、仓库结构该如何表示,以及 当传感器值模糊时哪种判断更可信。
搜索负责在多条路径候选中找出通往目标的顺序;知识表示负责结构化货架、通道、物品、载荷状态与禁入区域;概率推理负责处理传感器误差、通道占用等不确定信息。也就是说,同一个机器人问题往往会同时需要这三条脉络。
这个案例要读出的核心是:找候选、写世界 与 判断模糊信息 这三件事,会在真实系统中同时出现。
检查清单¶
- 我可以解释 search 是一种沿着可能状态与行动寻找目标的方法。
- 我可以解释 heuristic 是一种用来减少搜索候选或决定搜索顺序的经验标准。
- 我可以解释 knowledge representation 不只包括规则,也可以包括事实、关系、约束与行动结果。
- 我可以解释 probabilistic reasoning 是一种在不完整信息下计算结论可信度的方法。
- 我可以解释 search、knowledge representation 与 probabilistic reasoning 虽然从不同问题出发,但在真实系统中可以一起使用。
- 我可以解释 search 是在可能候选中寻找通向目标路径的方法,knowledge representation 是把解题所需事实与关系整理成计算机可处理形式的方法,probabilistic reasoning 是在不完整信息下计算可能结论可信度的方法。
- 我可以解释这三条脉络不仅是机器学习出现之前的 AI 背景,也仍以搜索、推荐、计划、政策校验、知识图谱与概率预测等形式留在现代 AI 服务中。
出处与参考资料¶
- Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, 4th US ed., Full Table of Contents, 确认日期:2026-06-22.
- David L. Poole, Alan K. Mackworth, Artificial Intelligence: Foundations of Computational Agents, 3rd ed., 确认日期:2026-06-22.
- Stanford Encyclopedia of Philosophy, Selmer Bringsjord and Naveen Sundar Govindarajulu, Artificial Intelligence, 2018-07-12, 确认日期:2026-06-22.
- Stanford Encyclopedia of Philosophy, Richmond H. Thomason, Logic-Based Artificial Intelligence, substantive revision 2024-02-27, 确认日期:2026-06-22.