
简介《山东大学人工智能导论概念汇总》是一份面向高校人工智能导论课程学习者的期末复习资料围绕智能与知识、知识表示、确定性推理等核心内容梳理概念脉络并对机器学习、搜索策略、推理方法与遗传算法等常见考点作重点归纳。资料为单个 PDF 文件压缩包约 2.28MB篇幅紧凑便于按章节翻阅或打印后配合课堂笔记使用。内容按章节组织涵盖绪论、知识表示与知识图谱、确定性推理方法等模块对智能特征、知识特性、一阶谓词逻辑、产生式、框架与语义网络等基础概念作了条目化整理并用标注提示重点与非重点方便快速定位记忆。已有 434 人学习下载适合需要建立知识框架、考前查漏补缺的学生使用。1. 一份被删到只剩考点的概念汇总它省掉的是哪 60% 的篇幅期末前两周翻开教材四百多页考纲上要背的概念一百多个真正在卷子上拉开分差的却只有两类题把自然语言翻成谓词公式再归结出空子句以及套 CF、Bel/Pl、模糊运算那几个公式。这份《人工智能导论概念汇总》V2 走的就是这条路——在原版基础上做了一遍删减代码框里的内容被标成非重点第一章绪论压成条目第二章知识表示、第三章确定性推理、第四章不确定性推理按考点顺序排下来。它适合三类人赶考试需要速查表的、概念能背但一算就断链的、想把「智能—知识表示—推理」这条主线一次性串起来的。下面按我拆这份笔记的顺序讲重点放在公式怎么用、参数怎么代、哪一步最容易翻车。2. 知识表示四条路线怎么选谓词逻辑、产生式、框架与知识图谱的落地边界知识表示这一章是整份笔记里信息密度最高的地方因为它同时铺了四条路线而考试最喜欢考「为什么这里用产生式不用谓词逻辑」。先记住一句总纲知识表示的本质是把人类知识形式化或者模型化而形式化的代价是丢失一部分表达能力。四条路线不是替代关系是不同妥协方向的产物。选型时先问三个问题——要表达的知识是确定的还是带置信度的、结构是扁平的还是分层的、推理时需不需要保留变量和量词。答案不同落点就不同。2.1 一阶谓词逻辑把自然语言句子翻译成可运算的公式命题逻辑的死穴在笔记里写得很直白它无法把所描述事物的结构及逻辑特征反映出来也不能把不同事物间的共同特征表述出来。「A 是教师」和「B 是教师」在命题逻辑里是两个毫不相干的原子命题没法共享「教师」这层语义。谓词逻辑把句子拆成谓词名加个体Teacher(Zhang)这种一元谓词就出来了再加上量词就能表达全称和存在。翻译有四步我一般按这个顺序走不容易漏步骤动作常见失误1划定个体域列出所有个体常量把谓词名当成个体2为每个属性/关系定义谓词写清元数一元谓词和二元谓词混用3判断量词全称配蕴含存在配合取全称后面直接接合取4检查量词辖域和变元约束自由变元没被约束就收尾第三步那条规则是最容易失分的地方笔记里给的范式是(∀x)[ROBOT(x) → COLOR(x, GRAY)]全称量词后面接蕴含如果写成合取语义就变成「所有个体都是机器人且都是灰色」直接把论域锁死了。存在量词反过来配合取才对。连接词的优先级从高到低是 ﹁、∧、∨、→、↔这条必须背死。笔记里有个例子RUNS(Liuhua, faster) → WINS(Liuhua, champion)如果优先级记错读法就完全变了。量词的辖域指位于量词后面的单个谓词或者用括弧括起来的谓词公式辖域内被量词约束的叫约束变元否则是自由变元。谓词公式的性质分永真性、永假性、可满足性、不可满足性、等价性、永真蕴含后面归结原理能用上不可满足这一条。这套表示法的优点是自然性、精确性、严密性、容易实现局限也很明确——不能表示不确定的知识、组合爆炸、效率低。所以只要题目里出现「大约」「很可能」「置信度」这类词就该换赛道了别硬套谓词逻辑。2.2 产生式与框架规则库、综合数据库、控制系统三件套产生式表示法解决的是「知识以规则形式存在」的场景。笔记给了四种形式这四种是必背的对照知识类型表示形式说明确定性规则P→Q前提成立则结论成立确定性事实对象属性值三元组不确定性规则P→Q置信度带可信度因子不确定性事实对象属性值置信度四元组产生式和谓词逻辑里的蕴含式看着像实际有两点区别一是除逻辑蕴含外产生式还包括各种操作、规则、变换、算子、函数二是蕴含式只能表示精确知识产生式既能表示精确知识也能表示不精确知识。这两条几乎每年都以简答形式出现答题时按「范围更宽 容忍不确定」两句话写就够。产生式系统的结构是三件套规则库描述相应领域内知识的产生式集合、综合数据库存放问题求解过程中各种当前信息的数据结构、控制系统一组程序负责整个系统运行、实现对问题的求解。控制系统里有个绕不开的动作叫冲突消解——匹配成功的规则可能不止一条得按策略挑一条执行。笔记在第三章列了排序依据按针对性、按已知事实的新鲜性、按匹配度、按条件个数。这四条既是产生式的冲突消解策略也是后面推理章节的通用排序思路。产生式的优点是自然性、模块性、有效性、清晰性缺点直指效率不高、不能表达结构性知识。后半句就是框架表示法的入场理由。框架是描述所论对象属性的数据结构一个框架由若干槽组成槽再由若干侧面描述。缺省值是框架的杀手锏——不填就继承默认。把具体信息填入槽或侧面后得到事例框架框架名槽值〈教师〉姓名单位姓、名年龄单位岁性别范围男女缺省男职称范围教授副教授讲师助教缺省讲师部门单位系教研室住址〈住址框架〉工资〈工资框架〉槽值可以指向另一个框架名这就是嵌套也是继承性生效的地方〈教师-1〉的住址填〈adr-1〉工资填〈sal-1〉改一个底层框架所有引用它的实例都跟着变。框架的三个特点是结构性、继承性、自然性。答题时如果题目问「哪种表示法适合描述事物内部的层次结构」答案就是框架别写成知识图谱。2.3 知识图谱的模式层与数据层自顶向下还是自底向上知识图谱被放在第二章末尾位置很微妙——它既是一种表示法也是前三种表示法在工程上的融合产物。定义是用各种不同的图形等可视化技术描述知识资源及其载体挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。也可以直接理解成一张图节点表示实体或概念边由属性或关系构成。逻辑结构分两层这层区分是考点数据层由一系列事实组成知识以事实为单位存储模式层构建在数据层之上是知识图谱的核心。用工程语言说数据层是三元组仓库模式层是本体和约束。体系架构按数据形态收三种输入结构化数据知识定义和表示都比较完备、半结构化数据部分结构化但存在大量结构化程度较低的数据、非结构化数据没有定义和规范约束的自由数据。构建方式有两种自顶向下是先定模式层再灌数据自底向上是先抽实体关系再归纳模式。考场上问「哪种适合领域边界清晰的场景」答自顶向下问「开放域大规模数据」答自底向上。四种表示法我整理成一张选型对照做题和做工程都用得上表示法擅长表达主要短板典型触发词一阶谓词逻辑精确的、带量词的结构化命题不确定知识、组合爆炸「所有」「存在」「如果…则…」产生式经验规则、启发式知识效率不高、结构性差「规则」「若…则…置信度」框架层次化对象、默认属性推理机制弱「槽」「缺省」「继承」知识图谱实体关系网络、多源融合构建成本高「实体」「关系」「模式层」顺手提一句如果考纲里还有搜索策略和遗传算法这份汇总只给了概念层面的条目启发式函数怎么设计、遗传算法的编码与适应度怎么算得自己补公式推导别指望两页纸把状态空间搜索讲透。3. 确定性推理手算流水线子句集九步化简与归结反演的逐行核对第三章是整份笔记最「硬」的部分也是最能靠练习提分的部分。它先铺推理的分类再落到自然演绎推理、子句集化简、鲁宾逊归结原理、归结反演、归结求解。学习路径很清楚分类用来答简答后三块用来答计算。别把这两类混着背简答背关键词计算必须动手写。3.1 从谓词公式到子句集九步里最容易错的三个动作分类先过一遍考选择题够用。推理是从已知事实出发运用已掌握的知识找出其中蕴涵的事实或归纳出新的事实。按方向分演绎一般到个别和归纳个别到一般归纳再分完全归纳和不完全归纳知识不完全时假设某些条件已具备叫默认推理或缺省推理。按确定性分确定性推理和不确定性推理前者知识与证据都确定结论真值非真即假后者不都确定结论也不确定这一条和第四章的区分要留意笔记自己也注了「建议回答后者」。按单调性分单调推理和非单调推理新知识加入后否定已有结论、退回前面某一步重来的就是非单调。按出发点分正向事实驱动、逆向目标驱动、混合先正后逆或先逆后正、双向两头同时推、中途碰头。带启发性知识的是启发式推理启发式知识指与问题有关且能加快推理过程、提高搜索效率的知识。然后进正题谓词公式化为子句集。前置概念得先立住——原子谓词公式是不能再分解的命题文字是原子谓词公式及其否定子句是任何文字的析取式空子句永假子句集由子句构成。核心定理是Q 为 P₁,P₂,…,Pₙ 的逻辑结论当且仅当 (P₁∧P₂∧…∧Pₙ)∧¬Q 是不可满足的。九步动作按顺序是消去→和↔P→Q ⇔ ﹁P∨QP↔Q ⇔ (P∧Q)∨(﹁P∧﹁Q)把否定符号 ﹁ 移到紧靠谓词的位置双重否定律、德·摩根定律、量词转换律变量标准化去重名消去存在量词不在全称量词辖域内就换个变量在全称量词辖域内就 Skolem 化用 Skolem 函数代替被存在量词量化的变量化为前束形前缀是全称量词串母式是不含量词的谓词公式化为 Skolem 标准形(∀x₁)(∀x₂)…(∀xₙ)MM 为子句的合取式略去全称量词消去合取词子句变量标准化翻车集中在前三步和第四步。第一否定内移时量词转换最容易漏¬∀x P(x)要变成∃x ¬P(x)量词符号跟着翻很多人只翻谓词不翻量词。第二Skolem 函数必须把外层所有全称量词的变量都作为自变量带上写成f(x₁,x₂,…)而不是常量a一旦写成常量后面合一就配不上。第三变量标准化要在消去量词之后再做一次否则不同子句里出现同名变量归结时会误判为同一个变元。这三条我在批改别人手写过程时见得最多几乎每次都有人栽在第二条。3.2 归结反演的完整链路招聘录取例题逐行推演子句集准备好了才能上鲁宾逊归结原理。基本思想一句话检查子句集 S 中是否包含空子句包含则 S 不可满足不包含就在 S 中选合适子句归结一旦归结出空子句就说明 S 不可满足。命题逻辑层面设 C₁ 与 C₂ 是子句集中的任意两个子句如果 C₁ 中的文字 L₁ 与 C₂ 中的文字 L₂ 互补那么从 C₁ 和 C₂ 中分别消去 L₁ 和 L₂并将两个子句中余下的部分析取构成新子句 C₁₂。归结式是其亲本子句的逻辑结论。谓词逻辑层面多一步先求最一般合一再做二元归结因为两个子句里的变量名不同得先找到让文字互补的替换。归结反演的标准步骤是把已知前提表示为谓词公式 F把待证结论表示为 Q 并否定得 ﹁Q把 {F, ﹁Q} 化为子句集 S对 S 反复归结并把归结式并入 S出现空子句即停止此时 Q 为真。笔记给了一条实用建议归结时按由长到短的子句顺序进行。这条不是玄学短子句文字少、互补概率高能更快收敛。拿招聘例题走一遍。前提三条三人中至少录取一人如果录取 A 而不录取 B则一定录取 C如果录取 B则一定录取 C。求证公司一定录取 C。定义P(x)表示录取 x。前提 (1)P(A)∨P(B)∨P(C)前提 (2)P(A)∧¬P(B)→P(C)消去蕴含后是¬P(A)∨P(B)∨P(C)注意这里三项都要保留括号别丢前提 (3)P(B)→P(C)即¬P(B)∨P(C)结论否定¬P(C)子句集 S {P(A)∨P(B)∨P(C), ¬P(A)∨P(B)∨P(C), ¬P(B)∨P(C), ¬P(C)}归结链条是P(A)∨P(B)∨P(C) 与 ¬P(A)∨P(B)∨P(C) ⇒ P(B)∨P(C) P(B)∨P(C) 与 ¬P(B)∨P(C) ⇒ P(C) P(C) 与 ¬P(C) ⇒ NIL三步出空子句证明成立。这条链每步只消一个互补文字别贪心一次消两个。求解型题目比证明型多一个 ANSWER 谓词。步骤是前提 F 化为子句集 S待求解问题 Q 用谓词公式表示并否定再与 ANSWER 构成析取式﹁Q∨ANSWER把该式化为子句集并入 S 得 S′对 S′ 归结若得到归结式 ANSWER答案就在 ANSWER 里。笔记里「小张的老师是谁」那道题就是范例Teacher(Wang,Li)、Classmate(Li,Zhang)、¬Classmate(x,y)∨¬Teacher(z,x)∨Teacher(z,y)再加¬Teacher(A,Zhang)∨ANSWER(A)归结两步得ANSWER(Wang)答案是小王。这里最容易翻车的点是忘了把 ANSWER 一起并进去只做纯否定最后只能得到一个空子句答案丢了。3.3 用 30 行 Python 验证归结结果免得手算翻车手算归结最怕的不是不会是算到一半分支选错越推越长还以为自己没错。命题逻辑这一层完全可以写个小脚本兜底把子句集喂进去看能不能推出空子句。下面这段我平时用来对答案# 命题逻辑归结反演判断子句集是否不可满足 from itertools import combinations def resolve(ci, cj): 对两个子句做一次归结返回所有可能的归结式 out [] for lit in ci: if -lit in cj: # 找到一对互补文字 new (ci - {lit}) | (cj - {-lit}) out.append(frozenset(new)) # 余下部分析取 return out def refute(clauses, max_round20): 反复归结出现空子句返回 True S {frozenset(c) for c in clauses} for _ in range(max_round): new set() for ci, cj in combinations(S, 2): for r in resolve(ci, cj): if len(r) 0: # 空子句等价于 NIL return True new.add(r) if new S: # 不再产生新子句提前终止 return False S | new return False # 招聘例题整数编码命题变元负数代表否定 # P(A)1, P(B)2, P(C)3 S [ [1, 2, 3], # P(A) ∨ P(B) ∨ P(C) [-1, 2, 3], # ¬P(A) ∨ P(B) ∨ P(C) [-2, 3], # ¬P(B) ∨ P(C) [-3], # ¬P(C)结论的否定 ] print(refute(S)) # True推出空子句P(C) 得证逻辑说明resolve只处理「两个子句恰好存在一对互补文字」的情形每次消掉一对余下文字求并集对应手算里的「消去 L₁ 和 L₂余下部分析取」。refute用集合去重保存已产生的子句每轮对所有子句两两组合归结如果本轮没产生任何新子句就判定收敛、返回 False这对应「没归结出空子句时既不能说 S 不可满足也不能说 S 可满足」——脚本只能回答「在给定轮数内没找到证明」。参数max_round是安全阀防止子句爆炸把内存吃满实际手算对答案时给 10 就够因为招聘例题三步就出空子句。用的时候有两个前提一是命题变元必须统一编号同一个命题在不同子句里用同一个整数符号靠正负区分二是这段代码只覆盖命题层谓词逻辑要先把变量合一、把最一般合一后的子句再映射成编号否则P(x)和P(A)会被当成两个不相干的命题。谓词层的合一规则不复杂但手动替换容易错我一般手算完成合一步骤后只用脚本验证命题骨架那一层。4. 不确定性推理三套公式可信度 CF、证据理论 Bel/Pl、模糊集合运算第四章是整份笔记里公式最密的一章三套方法各管一类场景可信度方法处理「专家拍脑袋给的置信度」证据理论处理「多个证据源对同一命题的支持如何合并」模糊推理处理「边界不清的集合隶属」。这三套的数学工具完全不一样千万别交叉套用——用 CF 的合成公式去算 Bel或者拿隶属度去当概率是典型的概念性错误。4.1 可信度 CF 的传递与合成min/max 与那条分段公式不确定性推理的定义是从不确定性的初始证据出发通过运用不确定性的知识最终推出具有一定程度的不确定性但却是合理或者近乎合理的结论的思维过程。可信度是根据经验对一个事物或现象为真的相信程度知识不确定性表示为if P then Q (CF(Q,P))CF(Q,P) 是可信度因子反映前提条件与结论的联系强度取值范围 [-1, 1]。取 0 表示证据出现与否与结论 H 无关。证据本身的不确定性用 CF(E) 表示三个锚点必背CF(E)1 能肯定它为真CF(E)0 未获得任何相关观察CF(E)-1 能肯定它为假。组合证据的算法是取极值多个单一证据的合取E E₁ AND E₂ AND … AND Eₙ时CF(E) min{CF(Eᵢ)}析取E E₁ OR E₂ OR … OR Eₙ时CF(E) max{CF(Eᵢ)}。传递算法只有一条公式CF(H) CF(H,E) × max{0, CF(E)}。那个 max 是关键——当 CF(E) 0 时CF(H) 直接归 0不乘负数因为证据为假不能反过来支持结论。合成算法处理「多条知识推出同一结论」(1) 分别求每条知识对 H 的影响 CF₁(H) CF(H,E₁) × max{0, CF(E₁)} CF₂(H) CF(H,E₂) × max{0, CF(E₂)} (2) 按符号分三种情况合成笔记里的例题数值我逐行核对过CF(E₁) 0.7 × max{0, min{0.5, max{0.6, 0.7}}} 0.7 × 0.5 0.35CF(E₂) 0.9 × max{0, min{0.6, 0.9}} 0.9 × 0.6 0.54。这一步的嵌套顺序要看清先算内层 max 再算 min最后乘外层系数。接着 CF₁(H) 0.8 × 0.35 0.28CF₂(H) 0.6 × 0.8 0.48CF₃(H) -0.5 × 0.54 -0.27。合成两步同号先合CF₁,₂(H) 0.28 0.48 − 0.28×0.48 ≈ 0.63再与异号的 -0.27 合(0.63 − 0.27) / (1 − min{0.63, 0.27}) 0.36 / 0.73 ≈ 0.49。笔记里写 0.631 是四舍五入后的中间值用 0.6256 算会得到 0.487两者在答案允许误差内考试写公式比写小数更重要。4.2 证据理论的 Bel 与 Pl概率分配函数不是概率证据理论的第一道坎是把概率分配函数和概率区分开。概率分配函数作用在子集上不是作用在元素上这是它和普通概率最大的差别。设 D 为样本空间函数 M 满足 M(∅)0 且所有子集的 M 值求和为 1不同教材对 M(∅) 的处理略有差异笔记按 M(∅)0 讲答题时跟教材走。信任函数 Bel(A) 表示对 A 为真的总的信任程度Bel(A) Σ M(B)B 取遍 A 的所有子集。必背性质Bel(∅) M(∅) 0。似然函数 Pl(A) 又叫不可驳斥函数、上限函数表示对 A 为非假的信任程度Pl(A) 1 − Bel(¬A)。拿笔记的例题走一遍D {红黄蓝}M({红}) 0.3M({黄}) 0M({红黄}) 0.2。则Bel({红,黄}) 0.3 0 0.2 0.5Pl({蓝}) 1 − Bel(¬{蓝}) 1 − Bel({红,黄}) 1 − 0.5 0.5。这一步的坑在于 ¬{蓝} 等于 {红,黄}得先把补集写对再查 Bel。正交和用来合并两个证据源。若 K ≠ 0正交和 M 也是一个概率分配函数若 K 0则不存在正交和说明 M₁ 与 M₂ 矛盾。基于证据理论的推理流程是三步建立样本空间 D由经验给出或由随机性规则和事实的信度度量求得计算所关心子集的信任函数值和似然函数值由这两个值得出结论。答题时把 Bel 和 Pl 成对写出来比只写一个更稳。4.3 模糊集合运算与模糊决策Zadeh 记法到加权平均模糊逻辑给集合中每一个元素赋予一个介于 0 和 1 之间的实数描述其属于一个集合的强度所有元素的隶属度全体构成隶属函数。表示方法有三种Zadeh 表示法、序偶表示法、向量表示法。Zadeh 记法写成A 0.2/x₁ 0.4/x₂ …这里的加号是罗列不是算术加斜杠也不是除法属于纯记号初学时最容易误算。运算规则按笔记的例题反推最清楚。设 A 0.2/x₁ 0.4/x₂ 0.9/x₃ 0.0/x₄ 0.5/x₅B 0.1/x₁ 0.0/x₂ 0.7/x₃ 1.0/x₄ 0.3/x₅五种运算的结果分别是运算规则第 1 个元素结果第 3 个元素结果代数积 A·BμA × μB0.2×0.10.020.9×0.70.63代数和 ABμA μB − μA×μB0.20.1−0.020.280.90.7−0.630.97有界和 A⊕Bmin(1, μAμB)0.20.10.30.90.7→1有界积 AⓧBmax(0, μAμB−1)0.20.1−1→00.90.7−10.6交 / 并min / max0.1 / 0.20.7 / 0.9代数和与有界和最容易混前者减掉乘积项后者直接截断到 1。模糊关系是两个模糊集合中元素之间关联程度的多少合成对应到矩阵运算时乘号用 min、加号用 max这套 min-max 合成不要和代数运算混着用。模糊决策是把模糊推理得到的结论或操作一个模糊向量转化为确定值的过程三种方法最大隶属度法取隶属度最大的元素、加权平均判决法以隶属度为权重求加权平均、中位数法取累积隶属度等于 0.5 的位置。选哪个看题目要求没要求时优先加权平均它能保留全部信息。下面这段脚本用来核对上面两类数值考试前跑一遍比看十遍例题有用# 可信度合成 模糊集合运算用来核对笔记例题的中间值 def cf_transfer(cf_he, cf_e): 不确定性传递CF(H) CF(H,E) × max{0, CF(E)} return cf_he * max(0.0, cf_e) def cf_combine(c1, c2): 两条知识对同一结论 H 的合成c1、c2 为已求出的 CF(H) if c1 0 and c2 0: # 同为正 return c1 c2 - c1 * c2 if c1 0 and c2 0: # 同为负 return c1 c2 c1 * c2 return (c1 c2) / (1 - min(abs(c1), abs(c2))) # 一正一负 cf1 cf_transfer(0.8, 0.35) # 0.28 cf2 cf_transfer(0.6, 0.80) # 0.48 cf3 cf_transfer(-0.5, 0.54) # -0.27 c12 cf_combine(cf1, cf2) # 同号合成约 0.6256 c123 cf_combine(c12, cf3) # 异号合成约 0.4871 print(round(cf1, 2), round(cf2, 2), round(cf3, 2), round(c12, 4), round(c123, 4)) # 模糊集合的四种代数/有界运算对应上表 A [0.2, 0.4, 0.9, 0.0, 0.5] B [0.1, 0.0, 0.7, 1.0, 0.3] prod [a * b for a, b in zip(A, B)] # 代数积 asum [a b - a * b for a, b in zip(A, B)] # 代数和 bsum [min(1.0, a b) for a, b in zip(A, B)] # 有界和 bprod [max(0.0, a b - 1) for a, b in zip(A, B)] # 有界积 print([round(x, 2) for x in prod]) print([round(x, 2) for x in asum]) print([round(x, 2) for x in bsum]) print([round(x, 2) for x in bprod])逻辑说明cf_transfer把传递公式里的 max 保护写进去了传入负的 CF(E) 时自动归零这是手算最容易漏的一步。cf_combine按同正、同负、异号三分支处理异号分支的分母是1 − min(|c1|,|c2|)取绝对值不能忘笔记里 min{0.63, 0.27} 取的就是两个数的绝对值。参数上cf_he 是规则自带的 CF(H,E)cf_e 是证据的可信度两个数都必须在 [-1,1] 内超出就说明组合证据那一步算错了。后半段四个列表推导式一一对应代数积、代数和、有界和、有界积跑出来的结果应该和上表逐项对齐。5. 避坑清单这五处算错卷面分直接掉一档这一章是我把这套笔记借给别人复习时收集到的问题几乎每一届都在同样的地方摔跤。五条按「现象 → 原因 → 解决」写看完再去刷题能省一半返工。5.1 表示与化简环节三个坑现象一谓词公式化子句集时Skolem 化之后归结怎么都配不上对。原因是 Skolem 函数漏写了自变量。存在量词落在全称量词辖域内时用来替换的 Skolem 函数必须把外层所有全称变量都作为参数带上写成f(x)而不是常量a。一旦写成常量本应随 x 变化的个体被钉死后面求最一般合一时找不到替换。 解决化简时在草稿上把量词前缀单独抄一行每遇到存在量词就往回看外层有几个全称量词函数参数个数跟着走。这条检查做一次只要十秒能挡住绝大多数错。现象二否定内移之后子句数对不上或者凭空多出量词。原因是只翻了谓词没翻量词。¬∀x P(x)必须变成∃x ¬P(x)¬∃x P(x)变成∀x ¬P(x)量词符号要跟着否定一起翻转。笔记里第 (2) 步专门写了要用双重否定律、德·摩根定律、量词转换律三条缺一不可。 解决这一步单独作为一遍来做不要和消蕴含混在一起。我习惯先全部消→、↔再从头到尾只做否定内移两遍分开做出错率明显下降。现象三归结反演做到一半子句越推越长最后没出空子句。原因多半是选错了归结对或者一条链上想一次消两个互补文字。笔记里的建议是按由长到短的子句顺序归结短子句互补概率高同时每次归结只消一对文字贪心会破坏可追溯性。 解决先把含结论否定的那个短子句当锚点找与它互补的子句做第一轮再顺着新生成的归结式往下走。求解型题目还要检查有没有把﹁Q ∨ ANSWER并进子句集只并了 ﹁Q 的话最后只能得到 NIL答案丢了。5.2 数值计算环节两个坑现象四CF 合成结果的符号反了或者绝对值大于 1。两个原因一是异号合成时套了同号公式c1 c2 − c1×c2用在正负混合的场合会算出完全错误的数二是 CF(E) 为负时仍然直接相乘忘了传递公式里的 max{0, CF(E)}。笔记例题里 CF₃(H) -0.5 × 0.54 -0.27 之所以是负的是因为 CF(H,E) 本身为负、而 CF(E) 为正不是因为证据为假。 解决合成前先把每个 CF(H) 的符号单独标出来同号走加减乘积异号走除法那条分母取1 − min{|c1|,|c2|}。所有结果落在 [-1,1] 内才继续往下算越界就是前一步错了。现象五证据理论里把概率分配函数当成概率Bel 和 Pl 一起算错。现象是直接对元素求和、发现加起来不等于 1或者 Bel 算出来比 Pl 还大。原因是概率分配函数定义在子集上M({红,黄}) 这一项不能拆给红和黄它整体属于 {红,黄} 这个子集而且 Bel(A) 要把 A 的所有子集含 A 本身的 M 值都加上不是只加单元素。 解决画一张子集表横轴列全部子集、纵轴写 M 值先把 M(∅)0 和总和为 1 校验一遍再按 Bel(A)ΣM(B)B⊆A逐格累加最后用 Pl(A)1−Bel(¬A) 求似然注意 ¬A 是补集不是差集。模糊集合那边同理代数积和代数和、有界和与有界积四组规则先列表再代值别心算。6. 把概念表跑成自测闭环三遍扫读与脚本对答案的具体做法概念汇总最容易变成「看的时候都懂合上书全忘」。我的做法是把这份笔记当数据源而不是当阅读材料具体走三遍。第一遍只做骨架时间控制在一小时以内。按章扫条目把每节的标题和加粗术语抄成一页纸的树状图绪论的智能四特征、知识表示的四条路线、确定性推理的九步化简、不确定性推理的三套公式。这一遍不碰公式细节目标只有一个——知道考纲上每个名词挂在哪根枝上。扫完合上笔记能默画出这棵树就算过。第二遍只做计算题手算一遍、脚本一遍。归结反演挑两道一道证明型一道求解型CF 合成挑带异号的那道Bel/Pl 挑需要先求补集的模糊运算挑四种运算都出现的。每道题手写完整过程包括子句集化简的九步和中间值然后用前一章那两段脚本对答案。手算和脚本不一致时九成是手算漏了某条子句或某个 max回去定位比重新算一遍更有效率。这一遍我一般安排三个晚上每晚两块内容间隔开比连轴转记得牢。第三遍做混淆对自测这是提分最快的一遍。把最容易张冠李戴的几组概念列成对照表只看左列默写右列易混对区分要点确定性推理 / 不确定性推理证据与知识是否都确定结论真值是否非真即假正向推理 / 逆向推理事实驱动还是目标驱动起点是已知事实还是假设目标单调推理 / 非单调推理新知识加入后是加强结论还是否定结论回退概率 / 概率分配函数作用在元素上还是子集上是否有 M(∅)0Bel / Pl对 A 为真的信任 vs 对 A 为非假的信任两者互补关系代数积 / 有界积是否减 1 再截断结果是否可能为 0默写不出来的当场翻回对应小节标记后第二天只看标记项。这套流程跑完通常两到三小时能覆盖全部易混点。最后一个技巧针对笔记里代码框被标非重点这件事。代码块确实不考但它旁边的公式是考点那些代码框往往是教材作者用来演示算法的伪代码删掉不影响你背公式但会切断「公式怎么来的」这条线索。我的习惯是遇到被标非重点的代码块不看代码只看它前后两段文字里的公式和结论把公式抄到自己的公式卡上代码跳过。这样既不浪费时间也不至于把结论和来源脱节。血泪教训是有一年帮人改模拟卷对方把 CF 合成的异号公式记成了同号公式前面所有中间值都对最后一步符号翻车一道 15 分的题只拿到 5 分。从那以后我每次碰到带符号的合成公式都强制先用脚本跑一遍例题、确认符号方向再手算新题。这份汇总的公式密度不低但每一组都有配套例题把例题当校验集用比反复读定义靠谱得多。希望帮到你。本文还有配套的精品资源点击获取