人工智能 · 从零学起 第 3 / 5 节

第 VI 篇 · 逻辑与推理(第 7–10 章)

知识可以被写成句子、推理可以被机械化——这一篇把"知道什么"与"从已知推出什么"形式化:命题逻辑打底,一阶逻辑上强度,推理的算法(归结、前向链)与知识工程实践收尾。

命题逻辑与推理的等价物

语法(合式公式)与语义(真值表、模型)的分离;蕴含 $\models$:$\alpha \models \beta$ 当 $\beta$ 在 $\alpha$ 的所有模型中为真。推理的三个性质:可靠性(只推出真话)、完备性(该推的都能推)、以及 NP 完全的计算现实(SAT 是第一个 NP 完全问题——现代 SAT 求解器用 DPLL + 子句学习把工程规模推到百万变量)。

一阶逻辑:量词与关系的世界

对象、关系、量词($\forall, \exists$)——"所有人都会死"这类知识终于可表达。合式公式的语义、变量约束、等词;知识的工程化陷阱:全称量词下的蕴含陷阱($\forall x\, AT(x) \Rightarrow \dots$ 对不存在对象空真)与唯一名称假设。

推理算法

  • 归结(resolution):化为子句形(CNF)+ 归结规则 $A \lor B,\ \neg B \lor C \Rightarrow A \lor C$——反证法(否定目标推出矛盾)实现完备推理;一阶归结 + 合一算法(unification,变量匹配的通用机制)构成定理证明的完整机器;
  • 前向链:数据驱动,从已知事实反复触发规则直到目标——生产系统(专家系统)的引擎;反向链目标驱动(PROLOG 的机制);
  • 逻辑的边界与拓展:默认推理、闭合世界假设、模态与时态逻辑的一瞥——知识表示的"不完美信息"处理。

知识工程与本体

构建知识库的流程(确定任务 → 汇集知识 → 编码词汇 → 编码知识库);大规模共享本体(如医用术语库)与知识图谱的关系——符号方法在"可解释 + 可验证"场景的现代回归。

原文要点:第 7 章强调"推理即模型检查 vs 推理即证明"两条技术路线(小域用真值表枚举,大域用归结链推导);第 9 章明确合一算法的换名规则与最一般合一(MGU)的唯一性——归结完备性的根基;第 10 章把前向链的匹配优化(Rete 类索引)作为知识库规模的工程关键。

老师的提醒

  • 学逻辑的性价比最高的技能:把自然语言条件句翻译成逻辑式再翻译回去——双向翻译练熟,知识工程就入门了。
  • 归结反证法的模板:加入 $\neg$目标 → 化 CNF → 归结到空子句 ⟹ 目标成立。考试与实现同款。

自检

  • 蕴含与推理可靠/完备性的定义?
  • 合一算法求 MGU 的例子?
  • 前向链与反向链的驱动方向与各自适用?

更深一层:逻辑的"可靠性 vs 完备性"是计算的定价表

命题逻辑的 SAT 是第一个 NP 完全问题——这个理论事实有一个工程读法:完备推理(该推的都能推)在最坏情况下是指数级的。但现代 SAT 求解器(DPLL + 子句学习)把工程规模推到百万变量——"NP 完全"不等于"不可用",它只意味着"没有通用多项式算法",具体问题实例往往可解。一阶逻辑的归结(反证法 + 合一算法)是定理证明的完整机器——可靠性(只推出真话)与完备性(该推的都能推)是推理系统的两个 ISO 认证。

知识工程的陷阱也值得记:全称量词下的蕴含($\forall x\,AT(x) \Rightarrow \dots$ 对不存在对象空真)、唯一名称假设——把自然语言翻译成逻辑式再翻译回去的双向练习是知识工程的入门仪式。

推导细读:合一算法——"变量匹配的通用机制"

归结的完备性依赖合一算法(unification):找到最一般合一(MGU)让两个含变量的原子公式相等。合一的算法细节(变量替换、换名规则、occurs check)是逻辑编程(Prolog)与类型推断(Haskell 的 Hindley-Milner)的共同引擎。合一 = 模式匹配 + 方程求解的合体——这个思想比逻辑本身更广:编译器的类型系统、形式验证的模型检查、知识图谱的查询匹配,全是合一的后代。

在真实世界里:符号方法的"现代回归"

符号 AI 在深度学习时代的回归:可解释 AI(规则系统给黑盒模型加解释层)、形式验证(自动驾驶的安全证明、芯片的模型检查)、知识图谱(符号推理 + 向量嵌入的混合系统)、神经符号(神经网络做感知、符号系统做推理)。符号方法的强项(可解释、可验证、组合性)恰好是深度学习的弱项——两者的互补是下一代 AI 的结构性机会。

专题深入:逻辑的"三级火箭"完整版

AIMA 第七-九章逻辑部分的三级火箭:命题逻辑(语法 + 语义(真值表)+ 蕴含——推论性 ⊨ 的模型论定义:所有让知识库为真的模型也让结论为真);推理引擎(模型枚举(完备但指数)、DPLL(单位传播 + 纯文字消除 + 分支——现代 SAT 的直系祖先)、前向链(规则库 + 数据驱动:Modus Ponens 的产码执行)、反向链(目标驱动:Prolog 的执行模型——"产码系统 vs 逻辑编程"是同一逻辑的两种运行时));一阶逻辑(量词 + 谓词 + 函数——知识表示的表达力跃迁("所有人都爱某人"可说)、代价是不可判定性);归结推理(CNF 化 + 归结规则 + 反证法——"归结是单一完备推理规则"的优雅:哥德尔完备性定理的计算化身)。知识工程的实际工作(本体设计、规则库维护成本——"知识获取瓶颈"是专家系统时代的核心教训)。

推导细读:不确定性的"贝叶斯网络"完整版

第十三-十四章的概率推理是 AIMA 的现代核心:贝叶斯网络的语义(DAG + 条件概率表——联合分布的链式分解 $P(X_1..X_n) = \prod_i P(X_i|Parents(X_i))$ 的稀疏化:n 个节点全连接需 $2^n - 1$ 参数、网络化后每个节点只存父集条件表——"局部结构对抗维数灾难");条件独立的三连接模式(链式 A→B→C 阻断于 B、分叉 A←B→C 阻断于 B、汇聚 A→B←C 激活于 B(解释走通)——d-分离算法是"图上读独立性"的完整判据);精确推断(枚举 → 变量消元(动态规划复用中间因子——"消元顺序影响复杂度"(NP-hard 但启发式好则实用))、团树传播);近似推断(直接采样、似然加权(证据变量不采样而是加权)、Gibbs 采样(马尔可夫链的平稳分布 = 目标后验——MCMC 的网络版);变分推断的 mean-field——"采样派 vs 变分派"的双轨)。

工程案例细节:概率推理的工程出口工程版

七-十四章的工程出口:专家系统的考古与遗产(MYCIN 的置信因子、DENDRAL 的规则搜索——知识工程方法论成为决策支持系统的标准词汇);贝叶斯网络的产业用法(微软 Windows 的诊断向导、医疗诊断辅助(QMR-DT 的早期商用)、故障诊断与根因分析(电信网络告警关联——告警传播建模为贝叶斯网络);垃圾邮件过滤的朴素贝叶斯(格雷厄姆的论文是产业引爆点——"最简单的贝叶斯网络 + 词袋"击败规则引擎);风险评估(航空安全、核电站 PRA 概率风险分析——故障树 + 贝叶斯更新的监管标准工具);推断引擎的现代形态(概率编程(Stan/PyMC/Pyro——"写模型、自动推断"的 DSL 化);因果推断的 do-演算(Pearl 的阶梯:关联-干预-反事实——"因果革命"的工程出口在营销归因与政策评估))。逻辑与概率的双塔合流成"概率编程 + 因果推断"——AIMA 的后半部正是这座桥的图纸。

例题

贝叶斯网络:警报 $A$ 由盗窃 $B$ 与地震 $E$ 引起:$P(B) = 0.001$、$P(E) = 0.002$、$P(A|B,E) = 0.95$、$P(A|B,\neg E) = 0.94$、$P(A|\neg B,E) = 0.29$、$P(A|\neg B,\neg E) = 0.001$。求 $P(A)$。

解答

全概率展开(枚举 $B, E$ 四种组合):

$$P(A) = 0.95(0.001)(0.002) + 0.94(0.001)(0.998) + 0.29(0.999)(0.002) + 0.001(0.999)(0.998)$$
$$= 0.0000019 + 0.000938 + 0.000580 + 0.000997 \approx 0.00252$$

反向使用(贝叶斯诊断):$P(B|A) = \frac{0.000938}{0.00252} \approx 0.37$——听到警报,37% 是真遭贼。

  • 网络的价值:联合分布 $2^3 = 8$ 项被压缩成 1+1+4 个参数;诊断查询就是"因子化 + 贝叶斯反转"。

本页是《人工智能:现代方法(第四版)》第 3 节的学习笔记:为便于初学,讲解、例题与要点概括均为本站原创整理,公式与章节定位供对照原书使用。

📑 本书目录 经典研读