ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AI基础经典试题全解析:归结反演与α-β剪枝手推题攻略

AI基础经典试题全解析:归结反演与α-β剪枝手推题攻略

简介:百度人工智能岗位的经典考试试题文档,覆盖语义网络、知识表示、推理方式、机器学习及自然语言处理等核心模块,并配有完整答案解析。题目按选择题、填空题、简答计算题、应用题四种形式编排,适合正在准备百度或同类互联网公司AI岗位面试的求职者,以及高校人工智能相关课程的学习者用于自测与查漏补缺。资源为279KB的单份doc文档,内容从基础概念到谓词逻辑归结、α-β剪枝、语义网络表达等均有涉及,重点难点处还附有推导过程与求解步骤。当前已有1584人学习,文档末尾另附知识点汇总,方便快速回顾高频考点与答题思路。

1. 人工智能经典考试试题:为什么说它是AI基础的手工题题库

刷过几套 AI 基础题的人应该都有这种体验:选择题能对一半,一遇到“求 MGU”“α-β 剪枝”“归结反演证明”这类需要手推的题就卡壳,最后只能背答案。这套流传多年的人工智能经典考试试题,恰好把最容易卡壳的部分全考了一遍——三套卷子覆盖知识表示、归纳推理、启发式搜索、专家系统这几个 AI 基础课必考模块,题型从选择、填空一路延伸到需要完整手推的应用题。它最大的价值不是让你背答案,而是逼你在纸上把子句集转换、合一置换、剪枝条件这些核心操作走一遍。适合准备 AI 基础岗位面试、期末复习,以及想补知识表示与推理底子的开发者。

2. 考点地图:三套卷子覆盖了AI基础课的哪些硬核模块

2.1 三套卷子的整体结构:谁有答案、谁缺图、谁在重复出题

先看整体构成。第一套卷子结构很典型:选择题 15 题(每题 1 分),填空题 10 个空(每空 1.5 分),简答及计算题 5 题(每题 5 分),应用题 3 题(共 30 分)。第二套卷子的题型分布与第一套基本一致,但填空题数量更多,题目顺序有调整。第三份以 B 卷命名的试卷选择题仍是 15 题,简答与应用题改成 7 道大题,整体难度更偏综合。

用一张表可以直接看出三套卷的差异:

卷次选择题填空题简答/计算应用题答案完整度
第一套15 题 × 1 分约 10 空 × 1.5 分5 题 × 5 分3 题完整,但有个别答案与第二套不一致
第二套15 题 × 1 分20 空 × 1.5 分5 题 × 5 分3 题完整,填空答案与第一套部分重复
B 卷15 题 × 1 分12 大空 × 1~3 分5 题2 题部分大题只有题干,推导过程被省略

第一套和第二套之间有很多重复题目,尤其是选择题的前 15 题,几乎只是顺序和选项位置不同。这其实是复习时的优势:同一个考点换着题干出现,能帮你确认是真的理解了这个知识点,还是只记住了上一套的答案顺序。B 卷则更像期末综合卷,应用题第 3 题直接用“某问题由下列公式描述”引出归结法证明,题干信息量更大。

2.2 四类题型的出题意图:选择考辨识,填空考记忆,简答考机制,应用考手推

这套资源最值得琢磨的地方是题型设计。选择题刻意设置了大量干扰项,比如 AI 英文缩写那道题,把一个拼错的 Artifical Intelligence 放在选项 B,把 Automatic Intelligence 放在选项 A,如果对术语拼写不敏感,很容易踩坑。选项里还有一些名字长得很像的学派、算法名,考的是“能不能一眼认出正确术语”。

填空题几乎全是准确记忆类:不确定性按性质分四类、删除策略归结中删除哪三类子句、CF 的三个关系式、合一算法求的是什么,这些空填错一个字整个空就没分。简答计算题开始进入机制解释,比如产生式规则的语义、谓词公式转化子句集的八个步骤,写的是“为什么和怎么做”。应用题则是真正的手工推演:语义网络怎么画、博弈树怎么剪、祖孙关系怎么用归结法证明。

这四类题不是割裂的,它们按同样的知识主线往下走:先是术语辨识,再是术语精确定义,然后是规则机制,最后是完整推演。复习的时候如果能按这条主线把三套卷子串起来,比零散刷题有效得多。

2.3 按考点拆出的优先级表:知识表示、归结推理、博弈搜索、机器学习

把三套卷子的题目全部过一遍,可以拆出六个高频考点模块。我按“考频 + 面试价值”排了一个优先级,方便你决定先复习哪块:

考点模块代表题目复习优先级考试中出现的形态
谓词逻辑与归结反演选择题 2/11/13,简答 3/4/5,应用 3高子句集转换、MGU、归结证明、祖孙关系求解
知识表示(语义网络/产生式)选择 4/10,填空 4/7/10/12,应用 1高AKO/ISA 弧、节点构图、产生式三件套
搜索与博弈选择 12,填空 4/6,B 卷应用 2中高或图/状态图、极大极小分析法、α-β 剪枝
不确定性推理填空 2/3中低CF 可信度模型、合取与析取规则
机器学习与专家系统选择 15,填空 12,B 卷简答 4中机器学习定义、专家系统组成与开发步骤
推理方式与图搜索选择 3,填空 6中正向/反向/双向推理、被触发规则

从表里能看出,谓词逻辑与归结反演占了最高比重,这也是这份题集最有价值的地方。很多现代 AI 面试已经不直接考归结法了,但“把自然语言命题形式化、化成子句集、用置换合一求 MGU”这一套思维方式,做知识图谱和规则引擎时仍然每天都用得到。知识表示模块同样重要,语义网络里的 AKO、ISA 弧直接对应现在本体建模里的 is-a 和 instance-of 关系。

3. 手工推演是主战场:归结反演、MGU合一与α-β剪枝的完整套路

3.1 从谓词公式到子句集:8 个步骤别跳步

谓词公式 G 转化为子句集合 S,是归结法里最基础也最容易扣分的一步。卷子里的简答题要求写出这八个步骤,标准答案是:

  1. 消去蕴含式和等价式,把 → 和 ↔ 替换成 ¬、∨、∧ 的组合。
  2. 缩小否定词的作用范围,直到否定词只作用于原子公式。
  3. 适当改名,使量词间不含同名指导变元和约束变元。
  4. 消去存在量词,形成 Skolem 标准型,引入 Skolem 函数或常量。
  5. 消去所有全称量词。
  6. 化成合取范式。
  7. 适当改名,使子句间无同名变元。
  8. 消去合取词 ∧,用逗号代替,以子句为元素组成集合 S。

拿原题里祖孙关系的第一条规则举例:F(x,y) ∧ F(y,z) → G(x,z)。第一步消去蕴含,得到 ¬F(x,y) ∨ ¬F(y,z) ∨ G(x,z)。公式里没有量词也没有等价式,后面几步基本不需要额外动作,它本身已经是合取范式,直接作为子句写进集合。这个例子很适合用来验证自己对 8 个步骤的理解:步骤 1 做完,后续步骤在简单公式上是“空操作”,但考试时必须把步骤名称写全,不能因为“没有处理”就跳过。

一个常见问题是步骤 2 里否定词作用范围的处理。比如 ¬∃x P(x) 要变成 ∀x ¬P(x),初学者容易把量词弄丢。考试时如果原公式带量词,这一步是扣分重灾区。建议每做一步,都在草稿纸上写出当前公式的完整形态,不要只在脑子里过。

3.2 归结反演证明:把“结论否定”放进子句集,推空子句

归结反演的核心思想很简单:要证明结论 G 是前提 F 的逻辑结论,就先把 ¬G 加入子句集,然后不断做归结,直到推出空子句 □。空子句代表矛盾,说明“前提成立但结论不成立”是不可能的,于是 G 得证。

原题祖孙关系的完整证明过程值得一行一行抄下来练:

① ¬F(x,y) ∨ ¬F(y,z) ∨ G(x,z),从规则 (1) 变换而来
② F(L,D),老李是大李的父亲
③ F(D,X),大李是小李的父亲
④ ¬G(u,v),结论“存在祖孙关系”的否定
⑤ ¬F(D,z) ∨ G(L,z),由 ①② 归结,置换 {L/x, D/y}
⑥ G(L,X),由 ③⑤ 归结,置换 {X/z}
⑦ □,由 ④⑥ 归结,置换 {L/u, X/v}

注意它的推理路径:第一步归结把规则和第一条事实结合,得到一个只差“大李是小李父亲”就能直接推出结论的中间子句;第二步用事实补上缺失环节;最后与结论否定空子句。整个过程里置换的作用非常关键,{L/x, D/y} 的含义是用常量 L 替换变元 x,用 D 替换 y,把子句里的变元全部实例化。

原题后面还给出了一种“为了求解而用重言式代替结论否定”的变体:把 ④ 换成 ¬G(u,v) ∨ G(u,v),因为重言式恒为真,不会破坏子句集的一致性。这样等价出来的第 ⑦ 步不是空子句,而是保留 G(L,X),直接把答案“谁是谁的祖父”留在子句里。这个技巧在面试中讲出来会加分,它体现了“证明结论”和“求解结论实例”两种问法的差别。

3.3 求 MGU 的差异集算法:先找差异,再做置换

MGU(最一般合一)是谓词逻辑里的一个核心算法,卷子里的简答计算题连着出了两道。它的标准流程是:

  1. 令 k=0,S0=S,δ0=ε(空置换)。
  2. 如果 Sk 已是单元素集,则 MGU=δk,算法结束。
  3. 找出 Sk 中两个表达式第一个不相同的符号位置,记差异集 Dk。
  4. 如果 Dk 中存在变元 x 和项 t,且 x 不出现在 t 中,则令 δk+1 = δk ◦ {t/x}。
  5. 令 k=k+1,回到步骤 2。

把第二套卷子里的计算题完整走一遍:S = {P(f(x,g(A,y)),z), P(f(x,z),z)}。先比较两个谓词项的位置,第一项第二参数是 g(A,y),第二项第二参数是 z,差异集 D0 = {g(A,y), z},其中 z 是变元,g(A,y) 是项,且 z 不在 g(A,y) 中出现,所以 δ1 = {g(A,y)/z}。替换后 S1 = {P(f(x,g(A,y)),g(A,y))},已经是单元素集,因此 MGU = {g(A,y)/z}。

这道题的坑点在于:第二项里的第二参数不是常量而是变元 z,必须先判断“变元是否出现在项中”,也就是做发生检查。如果变元出现在项里面,比如想求 {x/f(x)} 这样的置换,是不能直接替换的,否则会产生无限递归。做题时凡是遇到差异集里有一个元素包含另一个变元的情况,都要停下来确认这一点。

3.4 α-β 剪枝的触发条件:什么时候可以放心剪掉分枝

博弈树剪枝是应用题里的常客,原题给了末行估值,要求在节点和边上直接加注释。剪枝有两个触发条件,用表格说明最清楚:

剪枝名称触发条件搜索行为
α 剪枝某个 MIN 节点的 β 值小于等于它任一先辈 MAX 节点的 α 值中止这个 MIN 节点以下的搜索,该节点倒推值确定为 β
β 剪枝某个 MAX 节点的 α 值大于等于它任一先辈 MIN 节点的 β 值中止这个 MAX 节点以下的搜索,该节点倒推值确定为 α

实际做题时,建议从博弈树最左侧开始深度优先搜索,先让根节点拿到一组初步的 α、β 值,再向右做。右边某个节点一旦满足上面的不等式,直接在它下方画一条斜线标“剪去”即可。阅卷时看的就是你有没有把每个该剪的枝都剪掉、剪枝位置是否符合条件,而不是看最终估值。先把极大极小球概念对应的层分清楚,再背条件,否则很容易把 α 剪枝和 β 剪枝写反。

4. 知识表示的三种必会考法:语义网络、产生式系统与谓词公式化

4.1 语义网络:节点画什么、有向弧标什么、AKO 和 ISA 继承怎么答

语义网络题在考试里通常分两步:第一步画节点和有向弧,第二步回答弧的语义。原题给了两条信息:某经理赵某 35 岁、住在某胡同 68 号;甲大学与乙大学比赛,89:102 结束。画法是:中心节点“赵某”,用“经理”弧连到“某公司”节点,用“年龄”弧连到“35”节点,用“住址”弧连到“地址”节点,地址节点再分出“街道名=某胡同”“门牌号=68”。比赛题则要建一个“比赛”节点,分别用“参赛方一”“参赛方二”“比分一”“比分二”“结果”弧连到对应节点。

选择题里考过“AKO 链、ISA 链表达节点知识的什么性质”,答案是继承性。AKO 在实际应用里通常表示“是一种”,比如“麻雀 AKO 鸟”;ISA 表示“是一个实例”,比如“这只麻雀 ISA 某只具体麻雀”。这两种弧的共同点是让下层节点自动继承上层节点的属性,这就是语义网络解决知识复用问题的关键机制。如果面试官追问语义网络的缺点,可以补一句:它表达不了“全称/存在”这类量词逻辑,也无法表示否定和析取,所以现代知识图谱通常用本体语言替代纯语义网络。

4.2 产生式系统:前件后件的语义和三件套组成

产生式规则的基本形式是 P→Q,或者写成 IF P THEN Q。P 是前提,也叫前件,它指出这条规则可用的条件;Q 是结论或操作,后件,它在 P 满足时被推出或执行。原题简答里要求写“产生式规则的语义”,标准答法是:如果前提 P 被满足,则可推出结论 Q 或执行 Q 所规定的操作。

与之紧密配合的另一道简答是“产生式系统的组成”,三个得分点一个都不能少:规则库存放领域知识;综合数据库也叫事实集合,存放初始事实、中间结果和最终结果;推理机是一个控制程序,负责选择可用规则、确定推理方向。尤其是第三点,很多答案只写“推理机”三个字,丢掉“包含推理方式和控制策略”这个说明,阅卷就会扣分。

推理方式在选择题里也考过:从已知事实出发,通过规则库求得结论,叫正向推理;从目标出发反向找证据,叫反向推理;两者结合叫双向推理。记忆方法很简单——看数据流向。事实往结论方向走是正向,目标往证据方向倒推是反向。考试如果给出“已知 A,规则 A→B,求 B”这种结构,直接对应正向推理,没有任何悬念。

4.3 谓词公式化:量词辖域、约束变元与“不存在最大整数”这类翻译题

谓词逻辑题是整份卷子里面试价值最高的部分,它考的不是记忆,而是“把自然语言精确翻译成形式语言”的能力。填空第一题就问:紧接于量词之后被量词作用的谓词公式称为该量词的辖域;在辖域中与该量词指导变元相同的变元称为约束变元,其他称为自由变元。

应用题里有一道经典翻译题:“某个学生读过某本古典小说”。谓词公式写法是 ∃x(Student(x) ∧ Read(x,某小说))。这里的量词存在量词,约束变元是 x,辖域是括号里整个合取式。另一种等价描述是先用谓词 S(x) 表示 x 是学生,R(x,y) 表示 x 读过 y,再写成 ∃x∃y(S(x) ∧ R(x,y) ∧ Book(y))。后一种写法多了一个 y,但含义更完整,面试时建议采用这种。

“不存在最大的整数”的翻译是另一类难点。定义 G(x) 表示 x 是整数,D(x,y) 表示 x 大于 y,公式可以写成 ¬∃x(G(x) ∧ ∀y(G(y) → D(x,y)))。也可以等价写成 ∀x(G(x) → ∃y(G(y) ∧ D(y,x)))。两个版本一个是“不存在一个整数,比所有整数都大”,一个是“任意整数,都存在一个比它更大的整数”,本质上是一个意思。翻译这类句子时最容易翻车的点是全称量词和蕴含连用,很多人会把 ∀y(G(y) → D(x,y)) 错写成 ∀y(G(y) ∧ D(x,y)),这样意思就变成了“所有整数都比 x 大”,完全跑偏。

5. 避坑盘点:这套题里最容易被答案带偏的五个地方

5.1 摘要与卷子对 CF 公式的写法不一致:到底取负还是取补

现象:同一份资源里,卷面填空题答案写 CF(~A)=-CF(A),而摘要里却写成 CF(~A)=1-CF(A)。两个结果在数字上完全不同,比如 CF(A)=0.7 时,一个是 -0.7,一个是 0.3。

原因:这是可信度方法里最容易混淆的两种约定。卷面用的负号表示法来自确定性理论,它的含义是“对证据 A 的信任取反”;摘要里的 1-CF(A) 则是概率论里的补集写法,跟 CF 模型不是一套体系。整理资源的人显然把两套约定混在了一起。

解决:考试和面试一律以卷面答案为准。CF(~A)=-CF(A),合取取 min,析取取 max,也就是 CF(A1∧A2)=min{CF(A1),CF(A2)},CF(A1∨A2)=max{CF(A1),CF(A2)}。这三个式子要放在一起记,不要单独背其中一个。

5.2 同一道选择题在两套卷子里的答案不一样:以空子句为准

现象:反演归结证明定理时,当前归结式是什么时定理得证?第一套卷子答案是空子句,第二套卷子同样是空子句,但摘要文字整理成了“永真式”。

原因:归结反演的目标是推导出矛盾,逻辑上等价于推出永假式,反映到子句集里就是空子句。永真式子句在归结过程中属于需要被删除的对象,和“得证”完全相反。这个错误大概率是整理答案时把选择题和填空题的解析串了位置。

解决:直接在脑子里定格结论——空子句是归结证明成功的唯一标志。顺带记住删除策略里要删除的三类子句:纯文字子句、永真式子句、被类含的子句。这样选择题和填空题就一起拿下了。

5.3 “AI 英文缩写”这道题在考什么:拼写陷阱

现象:题目给四个选项,A 是 Automatic Intelligence,B 是 Artifical Intelligence,C 是 Automatice Information,D 是 Artifical Information。标准答案 B 的单词拼写其实是错的,少了一个 i,正确写法应该是 Artificial。

原因:这道题当年就是故意用拼写来考辨识能力。Artifical 这个错误拼写在很多教材和网络资料里出现次数太多,以至于不少复习者已经把它当成正确写法。

解决:复习时把 Artificial Intelligence 完整拼写记住,并且知道 Automatic 是“自动的”,与“人工的”是反义。面试中如果再遇到类似缩写题,先不急着选,把每个单词的拼写逐个过一遍再下笔。

5.4 博弈树应用题缺配图:怎么在没有图的情况下练剪枝

现象:卷子里博弈树题目写了“末一行的数字为假设的估值,请利用 α-β 剪枝技术剪去不必要的分枝”,但电子版里没有配图。

原因:原始试卷的图在排版或扫描时丢失了,这不是知识本身的问题,而是资源在转储过程中的损耗。

解决:自己画一棵三层博弈树练手——根节点是 MAX 层,第二层是 MIN 层,第三层叶子给一组估值。从最左侧开始深度优先计算,回到根节点得到初始 α、β 值后再向右走,看哪些分支满足剪枝条件。练够三棵不同形态的树,考试时就算遇到配图完整的原题,也能很快标出剪枝位置。特别注意:剪枝条件里的“小于等于”“大于等于”包含等号,估值恰好相等时同样可以剪。

5.5 “删除策略”条目各版本表述不同:按三个关键词记

现象:第一套卷子填空写删除“含有重复的子句”“含有相互矛盾的子句”“被别的子句证明的子句”,第二套卷子写删除“含有纯文字的子句”“含有的子句”“被别的子句类含的子句”。两种说法对不上。

原因:不同教材对删除策略的三条规则措辞有差异。第一套的说法更像是对内容的口语化描述,第二套的说法才是标准术语——纯文字、永真式、类含。

解决:以第二套的术语为准,三个关键词分别是“纯文字”“永真式”“类含”。纯文字指子句中没有可归结的互补文字对;永真式可以单独成立所以没有归结价值;类含表示某个子句已经被另一个更一般的子句覆盖。背这三个词,比背一长串解释可靠得多。这套卷子的价值就在这里,但没人和盘托出的话,你可能花一整晚也整理不清这些矛盾。

6. 把这套题用成面试题库:按考点建一张“高频题自检表”

刷完三套卷子不等于消化了它。我自己的习惯是,把一套题做完后立刻做一次反推——从每道题里抽出它真正在考的知识点,然后重新组织成一张自己的自检表。这张表不按卷面顺序排,按面试考点排,每一行就是一个可能被追问的话题。

面试考点卷子里对应题需要能说出的要点
知识表示与语义网络选择 4,应用 1AKO/ISA 继承、节点与有向弧的语义、语义网络的局限性
产生式系统选择 3,简答 2前件后件语义、规则库/数据库/推理机三件套、正反向推理
归结反演简答 3,应用 3子句集 8 步、空子句是得证标志、求解时用重言式保留结论
合一算法简答 4(两套卷子都考)差异集算法流程、发生检查、MGU 是不是唯一的
博弈搜索选择 12,B 卷应用 2或图/与或图、极大极小分析法、α-β 剪枝的触发条件
不确定性推理填空 2/3CF 三条公式、否定取负而非取补
机器学习与专家系统选择 15,B 卷简答 4机器学习定义、专家系统开发步骤、知识与工程的区别

每张表可以印成一面 A4 纸,复习时只看考点和要点列,想不起来再翻卷子。手工推演题单独拿出来,每天在纸上完整推一道:今天推 MGU,明天推归结证明,后天画一棵博弈树做剪枝。坚持七天,基本能把这份资源里最硬核的手推题全部过一遍。

最后说一个我踩过的坑:有一段时间我自认为概念已经很熟,考试前只刷选择填空,应用题放在脑子里“过一遍就想当然”。结果一到现场写归结证明,置换写错一个字母,后面全盘崩掉。从那以后我每次复习 AI 基础,都强制自己在纸上完整默写一遍子句集转换 8 步、差异集算法和 α-β 剪枝条件,默完才允许碰选择题。这套老题的价值恰恰在于它不让你偷懒——手推题必须真动手。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进