资讯动态

人工智能经典考试试题知识地图与高频考点复习指南

发布时间:2026/10/27 20:14:25 来源:尧图企业网站定制
简介这份百度人工智能经典考试试题文档面向准备人工智能课程考试、笔试及基础面试的学习者围绕语义网络、推理、知识表示、机器学习与自然语言处理等核心知识点组织内容。题目覆盖选择题、填空题、简答及计算题、应用题四种题型并附参考答案与知识点说明可用来快速自查概念掌握程度、熟悉常见命题方式也能借助三值逻辑、归结证明、MGU、α-β剪枝、语义网络表示等具体题目复盘解题思路。压缩包内共1个doc文件约279KB篇幅紧凑便于直接查阅和打印练习既可用于期末复习也可作为面试前的基础概念自测材料。目前已有1586人学习适合需要系统梳理人工智能基础知识、查漏补缺的读者。1. 从四道大题倒推人工智能经典考试试题的知识地图如果要在一周内把人工智能经典考试试题刷明白先别急着背答案先看骨架。一份 100 分的卷子通常这么切15 分选择题打底常识30 分填空专抠定义里的关键词25 分简答计算考手算流程30 分应用题落到语义网络、博弈树、谓词证明三个大块。这套结构在高校期末卷和大厂 AI 岗笔试题里重复率极高所以它值得当成一张地图来记而不是当题库来背。这张地图上只有五个省谓词逻辑与归结原理、产生式系统与知识表示、搜索与博弈、不确定性推理、AI 常识与学派。前两个省占分最重第三第四个是计算题的主要产地第五个省专门捡分。正在系统学这门课的人用这张地图对一遍教材目录就能发现漏了哪块已经在复习或准备面试题的人直接按章节权重分配时间最快哪块分高先啃哪块别在学派选择题上耗一晚上。2. 谓词逻辑与归结原理子句集八步法、MGU 与反证法的完整链条归结原理这块是全卷唯一必须动手算、还一算就错的地方。它由三块拼起来把自然语言翻译成谓词公式、把公式化成子句集、用归结反证法推空子句。三块里任何一块断链后面的证明就无从下手而卷面上往往只给几分扣起来却毫不留情。2.1 谓词、量词与三个必须分清的名词命题的定义先钉死能判断真假的陈述句。祈使句、疑问句、感叹句一律不算这是选择题的固定陷阱。往上走是谓词谓词里被量化的对象如果是「个体变元」那叫一阶谓词如果连谓词本身也能被量化才是二阶谓词。卷面常问「仅个体变元被量化的谓词称为」答一阶谓词。量词相关的三个名词必须分清填空题最爱抠这里名词含义卷面常见问法辖域紧接量词之后、被该量词作用的整个谓词公式给出公式问某量词的辖域范围约束变元出现在辖域内、且与指导变元同名的变元问哪个变元是约束的自由变元同名的但不在该量词辖域内的变元问公式是否为闭公式翻译环节有两个高频句型要练熟。一个是「不存在最大的整数」先设 G(x) 表示 x 是整数、D(x,y) 表示 x 大于 y写成 ¬∃x(G(x) ∧ ∀y(G(y) → ¬D(x,y)))意思是没有任何一个整数能大过所有整数。另一个是「凡是清洁的东西就有人喜欢」设 P(y) 表示 y 清洁、L(x,y) 表示 x 喜欢 y写成 ∀y(P(y) → ∃xL(x,y))化成子句时 ∃ 会被一个函数顶替这个函数把每个 y 映射到「喜欢它的那个人」。2.2 子句集八步法每一步对应一个典型翻车点从谓词公式 G 到子句集 S教材给的是固定八步顺序不能乱消去蕴含式和等价式把 → 和 ↔ 换掉把否定词 ¬ 的作用范围压到原子公式上靠德摩根律和量词否定律适当改名让不同量词不共用同一个指导变元消去存在量词形成 Skolem 标准型消去所有全称量词默认全称量词管辖全式化成合取范式靠分配律把 ∨ 分配到 ∧ 里适当改名让不同子句之间不出现同名变元消去合取符号 ∧用逗号隔开以每个子句为元素组成集合 S。第 3 步和第 7 步是两次改名很多人只做一次结果归结时把两个不同子句里的同名变元当成同一个合出错解。第 4 步最容易错只孤立出现一次的存在量词用一个常量Skolem 常量替换如果存在量词落在某个全称量词的辖域内说明这个存在的个体依赖前面的全称变元必须用一个函数替换参数就是那些全称变元。区分这两者的标准只有一条——看 ∃ 外层有没有 ∀。注意第 6 步化成合取范式时全称量词已经被消掉所以分配过程中不要再纠结量词顺序此时公式里已经没有量词了。2.3 MGU差异集手算法和它的边界条件MGU 是最一般合一求它靠差异集逐轮迭代。记初始替换 δ0 为空S0 为原始原子公式集每一轮看 S 是否只剩一个元素是则停δ 就是 MGU否则找出第一个差异位置比较该位置上的两个项。def mgu(atoms): 差异集法求最一般合一atoms 为若干原子公式返回替换字典或 None subst {} atoms list(atoms) while True: # 1) 所有原子公式完全一致当前替换即 MGU if all(a atoms[0] for a in atoms): return subst # 2) 定位第一个差异位置取出参与差异的两个项 v, t v, t first_difference(atoms) # 3) 差异双方必须有一方是变元否则合一失败谓词名不同直接无解 if is_variable(t): v, t t, v if not is_variable(v): return None # 4) occurs check变元不能出现在要与它合一的项里否则会无限展开 if occurs(v, t): return None # 5) 记录替换并整体应用到所有原子公式进入下一轮 subst[v] t atoms [apply_subst(subst, a) for a in atoms]参数说明上subst是累积替换字典键是变元、值是项first_difference负责从左到右比对两个原子公式的项结构返回第一处不一致的项对occurs就是那个防止把 x 合一成 f(x) 的检查。这段代码对应的手算过程是每一轮只解决一个差异替换要同步作用到所有剩余公式上而不是只改当前那一对。照着试卷里那道 S{P(f(x),y,g(y)), P(f(x),z,g(x))} 走一遍第一轮差异集是 {y,z}y 是变元且 z 中不含 y取 δ1{z/y}应用后集合变成 {P(f(x),z,g(z)), P(f(x),z,g(x))}第二轮差异集是 {z,x}取 δ2{z/y, z/x}此时集合只剩 P(f(z),z,g(z))停止。最终 MGU{z/y, z/x}注意顺序写反不算错写成 {z/x, z/y} 也对但漏掉其中一个就是零分。另一道 W{P(f(x,g(A,y)),z), P(f(x,z),z)} 的差异集是 {g(A,y), z}这次变元是 z取 {g(A,y)/z}一轮就收敛。概念作用和 MGU 的关系替换用项代换变元的一次操作MGU 是替换但不是任意替换合一让两个原子公式变得完全相同MGU 是最「省」的那种合一匹配单向合一一边不许有变元归结要求的是合一不是匹配2.4 归结反证法从否定结论到空子句归结式定义是死的设 C1 L ∨ C1C2 ¬L ∨ C2σ 是互补文字的最一般合一置换则归结式 C C1σ ∨ C2σ。是析取不是合取这一条能救回填空题的分。证明定理时走反证把结论取反加进子句集一路归结出现空子句 □ 就说明定理成立。祖孙那道题是标准模板。定义 F(x,y) 表示 x 是 y 的父亲G(x,z) 表示 x 是 z 的祖父已知三条F(x,y)∧F(y,z)→G(x,z)、F(L,D)、F(D,X)。把结论 ¬G(u,v) 加进来归结路径是① ¬F(x,y) ∨ ¬F(y,z) ∨ G(x,z) 与 ② F(L,D) 归结得到 ⑤ ¬F(D,z) ∨ G(L,z)⑤ 再与 ③ F(D,X) 归结得到 ⑥ G(L,X)⑥ 与 ④ 归结出 □。如果要的不是「得证」而是「谁是谁的祖父」就把结论的否定换成重言式 ¬G(u,v) ∨ G(u,v)最后一步归结出来的是 G(L,X) 而不是空子句答案直接落在置换里L 是 X 的祖父。这个技巧叫提取答案应用题里出现「问谁和谁是祖孙关系」时必须用它只写 □ 等于没答问题。子句集大了以后手动归结对不动删除策略是唯一的减负手段三条要背准删掉含纯文字的子句该文字在整个子句集中没有互补文字、删掉含永真式的子句形如 L ∨ ¬L、删掉被别的子句类含包孕的子句。注意「含有重复文字的子句」不属于这三条写上去就是错。3. 产生式系统与知识表示三件套、AKO/ISA 链与四种表示法的取舍知识表示这一章看着软考点却很硬产生式系统的组成部分、正向反向推理的判定、语义网络里弧的语义、专家系统缺哪一块。它和第二章的关系是——谓词逻辑解决「怎么算」知识表示解决「知识长什么样、怎么被用起来」。3.1 产生式系统的三件套与推理方向产生式的基本形式是 P → Q也可以写成 IF P THEN Q。P 是前件前提指出这条规则能不能用Q 是后件结论或操作指出前提满足后应该得出什么或执行什么。语义一句话如果前提 P 被满足则可推出结论 Q 或执行 Q 规定的操作。一个产生式系统由三部分组成缺一不可部件存放什么常见错答规则库描述领域知识的产生式规则集说成「存放事实」综合数据库初始事实、外部输入事实、中间结果、最终结果说成「规则集合」推理机控制系统决定推理方式与控制策略说成「用户界面」推理方向按起点分三种。从已知事实出发、在规则库里找可用的规则、推出结论是正向推理数据驱动从假设的结论出发、倒着找支撑它的事实是反向推理目标驱动两头同时推进的是双向推理。卷面那句话「从已知事实出发通过规则库求得结论」对应的就是正向推理看到「事实出发」四个字先圈正向。推理过程中可能出现多条规则同时可触发形成冲突集此时要从可触发规则里挑一条执行被选中的那条叫触发规则挑选的过程叫冲突消解。常见策略有优先级、专一性更具体的规则先用、就近原则。这个术语在填空题里出现频率不低很容易和「被触发规则」混着写。# 前向推理骨架规则库 综合数据库 推理机 def forward_chain(facts, rules): db set(facts) # 综合数据库初始事实 fired [] # 已执行规则避免死循环 while True: agenda [r for r in rules if r.cond(db) and r not in fired] # 冲突集当前可触发规则 if not agenda: return db, fired rule conflict_resolve(agenda) # 冲突消解优先级 / 专一性 db | rule.fire(db) # 执行触发规则结论写回数据库 fired.append(rule)cond是规则前提的判定函数fire返回结论集合conflict_resolve决定选哪条一般先用专一性再用优先级因为更具体的规则条件更强、结论更可靠。这段骨架的失败点通常不在推理本身而在没有fired集合导致规则反复触发。用 1~9 排序列那道题检验一下就清楚了要求序列前 n 位组成的整数能被 n 整除。能帮上忙的知识有两条——偶数只能放偶数位、奇数只能放奇数位第五位一定是 5。综合数据库用一个 1 到 9 的序列 N 表示规则写成 r1长度等于 4 时追加 5r2长度为偶数时追加 {1,3,7,9} 中的一个r3长度为奇数时追加 {2,4,6,8} 中的一个初始状态是空序列终止条件是前 i 位能被 i 整除。这类题的评分点不在答案数字而在你有没有把「数据库、规则集、初始状态、终止条件」四件写全。3.2 语义网络节点、有向弧与 AKO/ISA 链的继承性语义网络用节点表示概念或对象、用有向边表示节点之间的关系本质是一张带标签的图。卷面那句「有向弧 AKO 链、ISA 链是用来表达节点知识的」答案只有一个——继承性。ISA 表示「是一个is-a」AKO 表示「是一种a-kind-of」两者都是把下层节点挂到上层概念上让下层自动继承上层的属性这就是继承性的来源。把「A同学是某公司的经理他 35 岁住某胡同 68 号」画成网络节点有A同学、某公司、经理、35、某胡同、68。边是A同学 —is-a→ 经理经理 —part-of/工作于→ 某公司A同学 —age→ 35A同学 —住址→ 某胡同68号。画的时候要注意属性和关系都挂在节点上别把「35」再拆成节点套一层。比赛比分那句同理两所高校各作为节点中间挂一个「比赛」事件节点边上标 89 和 102事件节点比「校A—校B」直连更能表达时序和比分。语义网络和谓词逻辑可以互译这是应用题的隐藏得分点。「某个学生读过三国演义」用谓词公式写是 ∃x(Student(x) ∧ Read(x, 某书))画成网络就是一个 Student 节点、一个 Book 节点、一条 Read 弧连过去存在量词体现为那个没名字的节点。反过来网络里的每条弧都能还原成一个二元谓词。想拿满分的写法是两种表示都给出再补一句弧的语义说明。提示语义网络的短板要能说出来——没有统一的形式语义、推理要靠继承和匹配、不好处理否定和析取。简答题问「语义网络的优缺点」时这几条就是分。3.3 四种表示法的取舍与专家系统的六个部件知识表示的方法卷面主要考四种各自的适用场景别混表示法强在哪弱在哪典型场景谓词逻辑形式语义严格、可归结证明写起来啰嗦、难处理不确定性定理证明、祖孙关系推理产生式规则独立、易增删、贴近人判断规则多了会冲突、效率低诊断、配置类专家系统语义网络结构直观、继承推理快无语义标准、难表达否定概念层次、实体关系建模框架按槽组织、默认值好写槽间约束难以形式化结构化对象、模式化知识专家系统的组成是另一处高频填空。标准六件是知识库、综合数据库工作存储、推理机、解释器、知识获取模块、人机界面。「用户」不是组成部分它是使用者出现在选项里就是来送分的。再往下问知识的四要素是事实、规则、控制、元知识「关系」是干扰项。开发专家系统的步骤也有固定说法总体分析与设计、知识获取、知识表示与知识描述语言设计、知识库与知识库管理系统设计、推理机与解释模块设计、总控与界面设计、编程调试、测试评价、运行维护。和一般软件工程相比的共同点是同样要走需求分析和系统设计特点在于知识获取和知识表示是一切工作的起点而且这两项一旦定下来后面的设计可以并行推进——这个「并行」是简答题的采分点。4. 搜索与博弈状态图、启发函数与 α-β 剪枝的判定条件搜索这一章的计算量集中在两处搜索算法的完备性与最优性对比以及博弈树上的 α-β 剪枝。前者靠一张表记住后者必须动手画树光看答案学不会。4.1 状态空间图、或图与与或图把迷宫位置、棋盘布局、八数码的排列都抽象成节点把一步操作抽象成边得到的就是状态空间图。因为求解过程是「在若干条可选路径里选一条能到终点的」这类图的每个节点只要满足一个子节点即可逻辑上是「或」所以状态图也叫或图。与之相对的是与或图一个问题分解成若干子问题这些子问题必须全部解决节点之间是「与」的关系边上的连接符会画成小圆弧。这两个名词在填空题里反复出现判断依据只有一条看子问题之间是「任选其一」还是「缺一不可」。4.2 盲目搜索的最优性对比与启发式搜索的落点四种搜索的最优性经常被拿来出选择题问「如果问题存在最优解哪种算法必然能得到该最优解」标准答案是广度优先搜索在边代价相等的条件下。理由很直接它按层扩展第一次碰到目标节点时走过的步数一定最少。深度优先可能一头扎进无穷分支找不到最优解甚至找不到解有界深度优先的解不一定最优因为深度界限卡在那启发式搜索只有在启发函数满足可采纳性不高估真实代价时才保证最优。启发式搜索中用来携带启发性信息的函数叫启发函数常见写法是 f(n) g(n) h(n)g 是从初始节点到 n 的实际代价h 是 n 到目标的估计代价。h 取 0 时退化成一致代价搜索h 高估时会快但可能不最优这个权衡关系在简答题里值得写一句。4.3 α-β 剪枝两个判定条件和一棵必须画出来的树博弈问题的标准解法是极大极小分析法先生成一棵博弈树叶节点给估值然后自底向上算倒推值MAX 层取最大值、MIN 层取最小值。它的效率太低改进就是 α-β 剪枝。两个判定条件必须背准方向弄反是最常见的翻车现场剪枝类型判定条件剪在哪α 剪枝任一极小值层节点的 β 值 ≤ 它任一先辈极大值层节点的 α 值中止该 MIN 节点以下的搜索倒推值取这个 ββ 剪枝任一极大值层节点的 α 值 ≥ 它任一先辈极小值层节点的 β 值中止该 MAX 节点以下的搜索倒推值取这个 αINF float(inf) def alphabeta(node, depth, alpha, beta, maximizing): # 叶子节点或到达深度限制直接返回静态估值 if depth 0 or node.is_leaf(): return node.value if maximizing: # MAX 层往上抬 alpha value -INF for child in node.children: value max(value, alphabeta(child, depth - 1, alpha, beta, False)) alpha max(alpha, value) if alpha beta: # 对应试卷的 β 剪枝MAX 节点的 α 顶到先辈 MIN 的 β break return value else: # MIN 层往下压 beta value INF for child in node.children: value min(value, alphabeta(child, depth - 1, alpha, beta, True)) beta min(beta, value) if alpha beta: # 对应试卷的 α 剪枝MIN 节点的 β 掉到先辈 MAX 的 α 之下 break return value参数含义alpha是 MAX 层当前能保证的下界beta是 MIN 层当前能保证的上界maximizing标记当前轮到谁走。break的位置就是剪枝点被跳过的那些子节点就是卷面上要求你画叉的分枝。这里有个特别容易错的表述剪掉的是「该节点以下的分枝」不是节点本身节点自己的倒推值照样要算出来往上传。另外注意剪枝条件里的方向——判断发生在 MIN 层时叫 α 剪枝发生在 MAX 层时叫 β 剪枝很多人按「剪的是 α 还是 β」去记结果和层类型对不上。手算时先把树按层标好 MAX/MIN再从最左子树开始一路记着祖先传下来的 α 和 β遇到不满足就停比死记文字可靠。5. 易错点清单五个一到考场就翻车的地方这一章是我自己按错题整理出来的。有些错误不是不会是记混了一个字、漏写了一个符号扣分却和完全不会一样多。5.1 归结式写成合取还把合一置换 σ 丢了易漏点归结式 C C1σ ∨ C2σ写成 C1 ∧ C2或者把 σ 直接省掉写成 C1 ∨ C2。为什么漏潜意识里把「两个子句合到一起」理解成「同时成立」于是顺手写成 ∧而 σ 在推导过程中往往被默认掉了因为简单题里 σ 是空替换写不写看不出差别一旦遇到需要合一的题就露馅。怎么补每次写归结式前先默念一遍「析取 置换」写完检查两件事——符号是不是 ∨、σ 有没有落到两个剩余部分上。练习时强迫自己在归结式后面用括号标出置换比如 (C1σ ∨ C2σ){z/y, z/x}标两周就形成条件反射了。5.2 CF 的合取析取公式记成另一套易漏点CF(¬A) -CF(A)CF(A1∧A2) min{CF(A1), CF(A2)}CF(A1∨A2) max{CF(A1), CF(A2)}这一套是确定性理论的原版定义。另一套把可信度当概率处理用 1-CF(A)、乘法、加法减乘积的写法也广泛流传两套混着用就全错。为什么漏不同教材给的版本不一样复习时手边同时有两本书抄公式时抄了上半句忘了下半句结果 ¬A 用 -CF(A)、合取用乘积成了缝合怪。怎么补先确认自己考的那本教材用哪套然后在草稿纸首页写死一套全程只用手上这套。判断依据是问自己「这套公式满足 CF(A∨¬A)1 吗」满足的那套自洽。考试时遇到不确定就把两套都写在旁边按教材版本选不要临场推导。5.3 删除策略的三个术语写成大白话易漏点删除策略删的是含纯文字的子句、含永真式的子句、被别的子句类含包孕的子句。为什么漏这三条用大白话解释起来都通顺——「含重复文字的子句」「自相矛盾的子句」「被证明出来的子句」听着也像那么回事于是填空时顺手写了白话判卷按术语给分一分不得。怎么补把三个术语和它们的判定标准绑在一起记。纯文字看「该文字在全集中有没有互补文字」永真式看「子句内部有没有 L 和 ¬L 并存」类含看「子句 A 是否被另一个子句 B 包含」。三条判据都是结构性的能落到符号上就不会退化成模糊描述。5.4 α-β 剪枝的方向和层类型对不上易漏点α 剪枝发生在 MIN 层β 剪枝发生在 MAX 层剪掉的是分枝不是节点。为什么漏教材的两段定义都是「若……则中止该层以下搜索」主语藏在中间背的时候只记住了「α 大 β 小就剪」一到画树就分不清该剪哪边。另外「剪掉节点」这种说法在口语里太顺做题时容易把节点本身划掉。为什么补不了这一条纯靠手算看答案永远学不会。怎么补拿三道不同形状的博弈树从根开始一层层标 MAX/MIN每到一个节点就把当前的 α、β 写在节点旁边超过界限立刻打叉并注明「α 剪」还是「β 剪」。第三遍开始计时能在五分钟内画完一棵四层树就算过关。5.5 专家系统部件和知识四要素张冠李戴易漏点专家系统的六件是知识库、综合数据库、推理机、解释器、知识获取、人机界面知识四要素是事实、规则、控制、元知识。为什么漏两组都是「四个或六个名词」的题背的时候只记了数量串了组。加上「用户」「关系」这类干扰项长得太像正确答案选项一扫就中招。怎么补给两组词各配一句自解释——专家系统那组问「系统由什么构成」答案里必须有能和人打交道的界面知识四要素那组问「知识里装了什么」答案里必须有元知识这种「关于知识的知识」。用这句自解释反查选项比死背清单稳。6. 考前 72 小时的复习清单按分值和出错率排优先级时间不够的时候复习顺序比复习时长更重要。我的排法是先算「这章值多少分、我错几次」再决定投入多少小时而不是从第一章顺着看。第一优先级是谓词逻辑与归结因为它同时出现在填空、简答、应用三种题型里一张卷子能占到 30 分以上。做法是把子句集八步写三遍每遍都用不同的公式然后把 MGU 那两道题闭卷重算算完对照差异集一轮一轮核对最后把祖孙关系和「苍蝇不清洁」两道证明各推一遍重点检查置换写在没写。第二优先级是 α-β 剪枝应用题里它单独占一道通常是 10 到 15 分。做法是画三棵形状不同的树每棵都标 MAX/MIN、写 α/β、注明剪枝类型画完自己在旁边写一句「这里剪掉的是分枝不是节点」自我提醒。第三优先级是产生式系统与语义网络这两块分值不低但套路固定。产生式把三件套、三种推理方向、冲突消解三个词写在一张卡片上语义网络准备两个能直接套的例子一个是实体属性型一个是事件型考试时按题目类型选模板往里填。第四优先级是常识类填空学派三家、知识四要素、专家系统六件、远期与近期目标、不确定性四种类型。这些内容十分钟能过完一遍但覆盖率极高属于性价比最高的一块。模块卷面占比复习动作自检标准谓词逻辑与归结约 30 分八步法三遍 MGU 两题 证明两题能不看答案推出空子句搜索与博弈约 15 分画三棵博弈树 四种搜索对比表五分钟画完四层树产生式与知识表示约 25 分三件套卡片 两个语义网络模板能默写数据库与规则库的区别不确定性推理约 10 分三值逻辑表 CF 公式一套两套公式不混用AI 常识约 20 分四张清单过一遍术语能写准不只写对查漏补缺的具体做法是「反向刷题」不看题先看答案从答案里的术语倒推它考的是哪个知识点推不出来的就是盲区。比如答案写「类含」你反应不出它属于删除策略那这条就得回炉。这个方法比顺着做题快得多尤其适合只剩两天的时候。最后一条是血泪经验所有需要写置换的题落笔前先在草稿纸上把置换列成集合形式再往正文里抄中间不要跳步。我吃过一次亏思路全对就因为把 {z/y, z/x} 写成了 {z/x}整道证明判零。从那以后我每次做归结题都强制走一遍「列置换、写析取、对空子句」三步哪怕题再简单也不省。这份试卷和配套答案我整理成了完整文件按上面四张表过一遍比从头翻教材省事得多。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑