简介:这份资料面向备战人工智能课程期末考试的本科生与考研复习者,以经典习题解答配合各章小结的形式,帮助读者系统梳理人工智能理论体系并检验掌握程度。压缩包共1个doc文档,约2.19MB,内容按章节组织,涵盖绪论、知识表示、推理等模块,每部分先给出本章小结再附习题解答,便于对照复习。文档中收录了人工智能的定义与发展五阶段、三大研究学派(符号主义、连接主义、行为主义)、主要研究领域等基础问答,也包含产生式规则表示旅行商问题、语义网络表示比赛比分、归结演绎推理求解盗窃犯等典型题目的完整推导过程,可帮助读者理解解题思路与规范书写步骤。已有101人学习,适合需要集中刷题、查漏补缺的读者使用。
1. 人工智能期末复习:一张从绪论到搜索策略的知识地图
人工智能这门课最反直觉的一点是:它考的不是你会不会调库,而是你能不能把「问题」翻译成机器能处理的形式。整本教材其实在反复做同一件事——把现实问题抽象成状态、规则、谓词或图,再交给某套机制去推、去搜、去剪枝。所以复习时如果只背名词,考场上遇到「用产生式规则表示旅行过程」这类题就会直接翻车。这份习题集的价值在于,它把绪论、知识表示、推理、搜索四大块用典型题串了起来,每道题背后都对应一个可迁移的解题套路。适合正在系统学这门课、或者考前需要快速把散落知识点收拢成体系的人。下面按知识地图的顺序,把各模块的要点、重点和最容易漏的地方逐块梳理。
2. 绪论与学派:五个阶段、三大流派与十八个研究领域的记忆骨架
绪论部分看起来全是背诵题,但它其实是整门课的坐标系。后面每一章的内容,都能挂到这张坐标系上——搜索技术对应问题求解,知识表示对应专家系统,推理对应定理证明,搜索策略对应博弈。把这层对应关系想清楚,绪论就不再是孤立的名词堆。
2.1 发展五阶段:用「技术标志」而不是年份来记
教材把人工智能的发展划成五个阶段,很多人背年份背到崩溃,其实抓住每个阶段的标志性技术就够了:
| 阶段 | 时间范围 | 标志性技术特征 |
|---|---|---|
| 第一阶段 | 40年代中~50年代末 | 神经元网络时代 |
| 第二阶段 | 50年代中~60年代中 | 通用方法时代 |
| 第三阶段 | 60年代中~80年代初 | 知识工程时代 |
| 第四阶段 | 80年代中~90年代初 | 新的神经元网络时代 |
| 第五阶段 | 90年代初~现在 | 海量信息处理与网络时代 |
记忆锚点:神经网络→通用方法→知识工程→神经网络回归→海量信息。注意第三阶段到第四阶段是一次「回摆」,神经网络先热、被知识工程盖过、再重新崛起,这条曲线本身就是一道常考的简答题。复习时不要只记「第几阶段是什么时代」,要能说出为什么会出现这种回摆——通用方法在复杂问题上撞墙,知识工程靠专家经验顶上,但知识获取瓶颈又把人推回神经网络。
2.2 三大学派:符号、连接、行为的根本分歧
三大流派是绪论里最容易出对比题的地方,核心分歧在于「智能的基本元素是什么」:
- 符号主义:心理学途径,智能的基本元素是符号,智能行为是符号运算的结果,理论基础是数理逻辑。
- 连接主义:生理学途径,又称仿生学派,基本元素是神经元,智能产生于大量神经元的并行分布式联结,智能行为是联结计算的结果。
- 行为主义:生物演化途径,起源于控制论,智能取决于感知和行为,取决于对外界复杂环境的适应,而不是表示和推理。
梳理下来会发现,这三个学派的分歧本质上是「智能从哪里来」的三条路线:从逻辑来、从大脑结构来、从与环境互动来。考试里常让你判断某个技术属于哪个学派,比如专家系统偏符号主义,深度学习偏连接主义,行为主义则和机器人感知-动作循环关系密切。把技术往学派上归类的练习,比死背定义有用得多。
2.3 研究内容与十八个领域:分层记忆法
基本研究内容可以归成几组:搜索技术、知识表示、规划方法属于「怎么让机器想」;机器学习、认知科学属于「怎么让机器学习」;自然语言理解与机器翻译、专家系统与知识工程、定理证明、博弈、机器人属于「用在哪儿」;数据挖掘与知识发现、多 Agent 系统、复杂系统、足球机器人、人机交互属于「前沿交叉」。
十八个研究领域(问题求解、逻辑推理与定理证明、自然语言理解、自动程序设计、专家系统、机器学习、神经网络、机器人学、模式识别、机器视觉、智能控制、智能检索、智能调度与指挥、分布式人工智能与 Agent、计算智能与进化计算、数据挖掘与知识发现、人工生命、系统与语言工具)不需要逐字背,但要能按「基础技术—感知—应用—系统」四层归类。考场上遇到「列举研究领域」的题,按层往外写,比乱序回忆稳得多。
3. 知识表示:产生式、谓词、框架与语义网络的选型逻辑
知识表示这一章的复习重点不是背四种表示法的定义,而是搞清楚「什么场景该用哪种」。习题集里那道五城市旅行路线题,要求用产生式规则表示旅行过程,就是典型的「状态+规则」建模题。
3.1 产生式系统:三部件与旅行路线题的完整建模
产生式系统由三个基本部分组成:规则库、综合数据库、控制系统。规则库存 IF-THEN 规则,综合数据库存当前状态,控制系统负责匹配和冲突消解。
以五城市旅行题为例,建模步骤是固定的:
综合数据库:(x),x 可以是单个字母,也可以是字符串 初始状态:(A) 目标状态:(Ax1x2x3x4A),即访问完四个城市后回到 A 规则集: r1: IF L(S)=5 THEN GOTO(A) r2: IF L(S)<5 THEN GOTO(B) r3: IF L(S)<5 THEN GOTO(C) r4: IF L(S)<5 THEN GOTO(D) r5: IF L(S)<5 THEN GOTO(E) 其中 L(S) 为已走过的城市数,GOTO(x) 为走向城市 x这套规则的含义是:只要还没走满五个城市,就可以走向任意一个未限制的城市;走满五个就回到起点。最短路线 A→C→D→E→B→A,总距离 5+6+8+10+7=36。这里最容易错的是把 L(S) 的含义写成「剩余城市数」或者把目标状态写成不含起点的形式——目标状态必须是回到 A 的完整闭环,否则规则 r1 永远触发不了。
提示:产生式建模题评分看三样——综合数据库定义、初始/目标状态、规则集是否覆盖所有合法动作。三者缺一,过程分就没了。
3.2 谓词、框架、语义网络:三种表示法的分工
谓词表示法的套路是:先定义谓词并说明确切含义,再用连接词把谓词连成公式表达完整意义。它的优势是精确、可做归结推理,缺点是面对结构化知识时公式会变得冗长。
框架表示法适合表示「一个事物的各个方面」:框架由若干槽组成,每个槽有若干侧面,每个侧面又可拥有若干个值。比如描述一场比赛,槽可以是「参赛方」「比分」「地点」,侧面是槽的进一步细分。框架的考点通常落在「槽—侧面—值」的三层结构上,画图时层级不能乱。
语义网络由节点和弧线组成,节点表示物体、概念或状态,弧线表示节点间的关系。习题里「某大学篮球队 85:89 负于另一大学」这类题,标准画法是:两个球队节点、一个比分关系、一条「负于」的有向弧。语义网络直观但缺乏形式化语义,这是它和谓词逻辑最本质的差别。
四种表示法的选型可以记成一句话:要推理用谓词,要建模动作序列用产生式,要描述对象结构用框架,要展示概念关联用语义网络。
4. 推理:归结演绎的两道经典题与子句集套路
推理这一章的主线是「把自然语言条件翻译成谓词公式,化成子句集,用归结原理推出答案」。习题集里两道题——盗窃犯问题和兄弟父亲问题——几乎是同一套流程的两次演练,把这两道题吃透,归结推理的分数基本就稳了。
4.1 归结演绎五步法:从自然语言到 ANSWER 谓词
归结推理的固定流程可以拆成五步:
- 定义谓词,把已知条件表示成谓词公式;
- 把待求解问题表示成谓词公式,否定后与 ANSWER 谓词做析取;
- 把所有公式化成子句集;
- 应用归结原理反复归结;
- 归结出 ANSWER(...) 即得答案。
以盗窃犯题为例,定义 P(x) 表示 x 是作案者,五位侦察员的话化成子句:
(1) P(zhao) ∨ P(qian) (2) P(qian) ∨ P(sun) (3) P(sun) ∨ P(li) (4) ¬P(zhao) ∨ ¬P(sun) (5) ¬P(qian) ∨ ¬P(li) (6) ¬P(y) ∨ ANSWER(y) ← 问题否定 + ANSWER归结过程的关键几步是:(1) 与 (4) 归结得 P(qian) ∨ ¬P(sun);(2) 与 (7) 归结得 P(qian);(6) 与 (13) 归结得 ANSWER(qian)。同理可推出 ANSWER(sun)。最终结论是钱和孙两人作案。
这道题的易错点在于:待求解问题的否定一定要和 ANSWER 做析取,而不是单独否定。很多人写成 ¬P(y) 就去做归结,结果归结出空子句却拿不到具体答案。ANSWER 谓词的作用就是把「是谁」这个信息带出来,它是整个流程的出口。
4.2 兄弟父亲题:变量改名与合一
第二道题的结构更简单,但合一(unification)的细节更容易出错。已知条件化成子句集:
(1) ¬Brother(x,y) ∨ ¬Father(z,x) ∨ Father(z,y) (2) Brother(John, Peter) (3) Father(David, John) (4) ¬Father(u, Peter) ∨ ANSWER(u)归结时 (1) 与 (3) 在 σ={David/z, John/x} 下归结得 ¬Brother(John,y) ∨ Father(David,y),再与 (4) 在 σ={David/u, Peter/y} 下归结,最后与 (2) 归结得 ANSWER(David)。
这里最容易翻车的是变量改名:不同子句里的同名变量必须换成不同名字,否则合一时会错误绑定。血泪经验是,每写一条子句就顺手把变量标成带下标的版本,归结时逐条核对替换是否一致。另外,归结顺序不唯一,但只要能推出 ANSWER 就算对,不必死磕某一条路径。
4.3 推理方式的全景:从经典逻辑到非单调
推理这一章的知识地图还包括:经典逻辑推理(自然演绎推理、归结演绎推理、与/或形演绎推理)和不确定与非单调推理。复习时要把「确定性推理」和「不确定性推理」分开看:前者保证结论必然成立,后者处理证据不完全、规则带置信度的情况。考试里归结推理是计算大题,非单调推理多以概念题出现,比如默认推理、 Circumscription 这类名词知道含义即可,不必深挖。
5. 搜索策略:状态空间、与/或树与博弈剪枝的复习重点
搜索是整份习题集里题量最大、也最容易拉开差距的一章。它分成三条线:状态空间搜索(含盲目搜索和启发式搜索)、与/或树搜索、博弈树搜索。三条线共用一套「OPEN 表 + CLOSED 表」的框架,但扩展顺序和终止条件各不相同。
5.1 状态空间搜索:OPEN 表与 CLOSED 表的统一框架
一般搜索过程的描述是:把初始状态作为当前扩展节点扩展,生成一组子节点,检查目标状态是否出现;没出现就按某种策略从已生成节点中选一个继续扩展,直到找到目标或无可操作节点。OPEN 表存放刚生成的节点,不同策略下排序方式不同;CLOSED 表存放将要扩展或已扩展的节点。
盲目搜索的对比是必考内容:
| 策略 | 扩展顺序 | 完备性 | 最优性 |
|---|---|---|---|
| 广度优先 | 逐层扩展,同层全部考查完才下一层 | 完备 | 单位代价下最优 |
| 深度优先 | 每层只扩展一个子节点,纵深前进 | 不完备(可能入无穷分枝) | 不保证最优 |
| 有界深度优先 | 深度优先加深度限制 | 限制内完备 | 不保证最优 |
| 代价树广度优先 | 按代价对 OPEN 表全部节点排序 | 完备 | 最优 |
| 代价树深度优先 | 子节点按代价放 OPEN 表首部(栈) | 不完备 | 不保证最优 |
代价树那两道交通费用题,核心公式是 g(x2)=g(x1)+c(x1,x2)。广度优先每次把 OPEN 表全部节点按代价从小到大排序再扩展,深度优先则把子节点按代价压到栈首。习题里特别提醒:某道题两种策略结果相同只是巧合,一般情况下深度优先可能得到非最优解,因为它本质是局部优先。这个「巧合」的提醒本身就是考点,说明出题人想看你是否理解两种策略的差异而不是背答案。
启发式搜索部分,局部择优搜索、全局择优搜索、A* 算法的区别在于评价函数怎么用:局部择优只看当前节点的子节点,全局择优在 OPEN 表全体里选最优,A* 则要求启发函数满足可采纳性(不高估真实代价)才能保证最优解。A* 的可采纳性条件是重点,常以判断题形式出现。
5.2 与/或树:可解节点判定与解树代价
与/或树的可解节点判定规则只有三条:终止节点可解;与节点可解当且仅当子节点全可解;或节点可解只要子节点至少一个可解。解树是由可解节点构成的子树,根为初始节点,叶为终止节点,且这棵子树一定是与树。
代价计算有两种方法:和代价法把子节点代价相加,最大代价法取子节点代价的最大值。习题里 h(B)=7、h(C)=3 时,和代价法 h(A)=7+3+5+6=21,最大代价法 h(A)=5+5=10。这里最容易漏的是「与节点取和、或节点取最大」的混合情形——一道题里同时出现与节点和或节点时,要逐层判断节点类型再套公式,不能一刀切。
5.3 博弈树:极大极小分析与 α-β 剪枝的判定口诀
极大极小分析的核心是倒推:端节点估值后往上推,或节点取子节点最大值(自己选最有利),与节点取子节点最小值(立足最坏情况)。
α-β 剪枝的定义要精确记:或节点的 α 值是当前子节点中最大倒推值,作为倒推值下界;与节点的 β 值是当前子节点中最小倒推值,作为倒推值上界。剪枝规律是:
- 或节点 x 的 α 值如果不能降低父节点的 β 值,则 x 以下分枝停止搜索,x 的倒推值取 α,称为 β 剪枝;
- 与节点 x 的 β 值如果不能升高父节点的 α 值,则 x 以下分枝停止搜索,x 的倒推值取 β,称为 α 剪枝。
记忆口诀:α 是下界、β 是上界;剪的是「不能改善父节点」的那一枝。很多人把 α 剪枝和 β 剪枝的对象记反,建议用「或节点产生 α、剪 β 枝;与节点产生 β、剪 α 枝」这句话反复默写。
6. 易错点清单:归结、搜索与表示法里最容易翻车的五处
复习到这一步,知识点已经铺开,但考场上丢分往往不是因为不会,而是因为几个固定动作做错。下面五条是梳理这份习题集时反复出现的坑,每条按「易漏点→为什么漏→怎么补」写。
易漏点一:归结时忘记 ANSWER 谓词。为什么漏:待求解问题的否定直接写成 ¬P(y),看起来和普通子句没区别,做着做着就忘了要带答案。怎么补:凡是「求是谁/求是什么」的题,第一步就把 ANSWER 谓词写上,把它当成流程的强制出口,归结出 ANSWER 才算完。
易漏点二:变量同名导致错误合一。为什么漏:不同子句用了同一个变量名 x,合一时代入冲突却不自知。怎么补:每写一条子句立刻给变量加区分标记,归结时逐条核对替换表 σ,宁可慢一点。
易漏点三:代价树深度优先误以为最优。为什么漏:某道题两种策略结果相同,让人产生「深度优先也行」的错觉。怎么补:记住深度优先是局部优先、不完备、不保证最优,题目里出现「是否最优」要单独判断,不能拿结果反推策略性质。
易漏点四:与/或树代价法混用。为什么漏:与节点和或节点的代价规则不同,题目里两种节点交替出现时容易一刀切。怎么补:先标出每个节点的类型,与节点用和或最大、或节点同理,逐层往上算,算完回头验一遍层级。
易漏点五:α-β 剪枝对象记反。为什么漏:α、β 的定义和剪枝名称交叉,死记容易混。怎么补:用「或节点产生 α 下界、剪 β 枝;与节点产生 β 上界、剪 α 枝」的口诀,配合一道完整剪枝题手推一遍,推完对照定义检查每一步剪的是哪一枝。
注意:这五条不是并列关系,前两条属于推理章,后三条属于搜索章。复习时按章归类,考前一天只看这份清单,比重新翻书效率高。
7. 考前查漏补缺:一份可执行的复习顺序与自测表
最后落到怎么用这份习题集做查漏补缺。我的建议是倒着复习:先做搜索章的计算题,因为搜索题步骤固定、分值大、最容易通过练习提分;再回头做推理章的归结题,这两类题占了大头计算分;然后过知识表示的建模题,最后用绪论的名词题收尾。这个顺序的道理是,计算题需要手感,越早练越好;名词题靠短期记忆,放最后性价比最高。
自测可以按下面这张表逐项打勾,哪一项打不了勾就回到对应章节:
| 模块 | 自测项 | 达标标准 |
|---|---|---|
| 绪论 | 五阶段与三学派 | 能说出每阶段标志技术、三学派基本元素与理论来源 |
| 知识表示 | 产生式建模 | 能独立写出旅行题的综合数据库、初始/目标状态、规则集 |
| 知识表示 | 四种表示法选型 | 能针对给定场景说出该用哪种并说明理由 |
| 推理 | 归结五步法 | 能独立完成盗窃犯题并推出 ANSWER |
| 推理 | 合一与改名 | 能指出子句集中变量冲突并正确替换 |
| 搜索 | 盲目搜索对比 | 能填出完备性、最优性对比表 |
| 搜索 | 代价树两策略 | 能分别用广度和深度优先算出路径并判断是否最优 |
| 搜索 | 与/或树代价 | 能区分和代价法与最大代价法并逐层计算 |
| 搜索 | α-β 剪枝 | 能手推一棵博弈树并标出每步剪枝类型 |
还有一类题容易被忽略:状态空间图的画法。三开关题和农夫过河题都是画图题,前者用 (K1,K2,K3) 表示开关状态、每次只改一位,后者用四元组 (农夫,狼,羊,菜) 表示位置、0 在左岸 1 在右岸,约束是狼羊不能单独相处、羊菜不能单独相处。画图时先把所有合法状态列出来,再按操作符连边,最后标出初始和目标。这类题不难,但状态漏一个就整题扣分,建议画完用约束条件逐个验一遍。
PROLOG 那道亲属关系题属于「看得懂就行」的题型:domains 定义类型,predicates 声明谓词,clauses 写事实和规则,goal 里调用。brother 规则用「同母、同性、年龄大」三个条件约束,grandfather 用两级 father 串联。考场上如果要求补全规则,照着这个结构填即可,不必纠结语法细节。
从那以后我每次复习这类课,都强制自己先画知识地图再刷题,地图上哪个节点空着就补哪个,而不是从头到尾平均用力。这份习题集的好处是每道题都能挂到地图的某个节点上,刷题的过程就是给地图填色的过程。希望帮到你。
本文还有配套的精品资源,点击获取