跳转至

P1-2.2 搜索、知识表示与概率推理

Section ID: P1-2.2 Version: v2026.07.20

2.1 已经看过符号主义 AI 与规则式方法。这一节继续回答下一个问题:当“只把规则写下来”还不够时,AI 还必须搜索可能的候选、表示所需知识,并在不完整信息下推理出更可信的结论。

这里需要做的,不是详细学习算法,而是先固定:为什么 searchknowledge representationprobabilistic reasoning 会在 AI 导论里反复出现,以及这条脉络如何构成后面解释机器学习与深度学习的背景。

在 Part 1 中,searchprobabilistic reasoning 的基本区分固定在这一节。Knowledge representation 已在 2.1 做过初步介绍,这里只在比较它与搜索和概率推理之间的角色时重新连接;如果这些边界之后又变模糊,就回到这一节与共享的 Concept Glossary (English)

这一节整理以下问题:

  • 为什么搜索会成为早期 AI 的核心解题方式?
  • 知识表示如何与规则式方法相连接?
  • 概率推理如何处理不完整信息与不确定性?

这里的重点,是把三条脉络的 角色差异 整理清楚。后来为什么解释中心会转向“从数据中学习模式”,会在下一节 2.3 再继续回收。

搜索、知识表示与概率推理的角色差异

  • 理解为什么搜索是早期 AI 的核心解题方式。
  • 看清知识表示如何与规则式方法相连接。
  • 理解概率推理是一种处理不完整信息与不确定性的方式。
  • 把搜索、知识表示与概率推理区分为机器学习出现之前 AI 的重要主轴。

先连起来的概念

这一节是 Chapter 2 中首次系统区分 searchknowledge representationprobabilistic reasoning 角色差异的代表位置。下面这些概念先只固定其角色;如果需要更完整的定义,再回到对应术语条目。

概念 这里先固定的意思 为什么现在需要
search 沿着可能状态与行动寻找目标的方法 为了看见候选很多时为什么“顺序”会成为问题
knowledge representation 用来书写事实、关系与约束的形式 为了把系统“应该知道什么”的问题单独分出来
probabilistic reasoning 在不完整信息下处理“多大程度上可信”的方式 为了避免把所有判断压成简单的真或假
goal 想要到达的条件 为了看搜索在什么地方停下

主要学习内容

在这里,术语看起来会朝三个方向分开,初读时容易觉得脉络散掉。下面三个基准是这一节的大地图。

基准 为什么重要 这一节需要达到的理解程度
search 是一个 候选太多时先看哪里 的问题 这样才能看出为什么光有规则还不够。 先区分:可能选择太多,所以必须决定顺序。
knowledge representation 是一个 把什么写成已知 的问题 这样才能理解为什么规则、事实与关系会被分别讨论。 整理清楚“把解题标准写成计算机能处理的形式”这件事。
probabilistic reasoning 处理的是 不完整信息下某个结论有多可信 这样才能把 AI 和那些不是非真即假的现实问题连起来。 把概率和在模糊条件下作判断这件事连起来。

stateactiongoalrepresentationprobability 一起出现时,初学者容易觉得陌生。在这一节里,它们先这样区分。

术语 极简含义 在这一节中的角色
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)就变得很重要。启发式不是保证正确答案的公式,而是一种经验性标准,用来让系统先查看更有希望的候选。到目的地的直线距离、当前分数、剩余约束数量等,都可能用来决定搜索顺序。

初学者常见的混淆是:heuristicprobability 都可能看起来像数字。但它们回答的问题不同。

区分 先回答什么问题 这个值扮演的角色 简短示例
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 服务中。

出处与参考资料