【期末指北】人工智能导论(feat.ChatGPT)
写在最前 ✍️
本文记录了一些 《人工智能导论》课程的 主要知识点,供有需求的同学们学习使用。
部分内容由 ChatGPT 生成,摊主进行审核及整理。
教材版本:《人工智能导论(第五版)》王万良
❗️ 本博客仅涵盖一些主要知识点,适合 有一定基础 的同学 搭配教材 使用,非常不建议只看博客学习❗️
第二章:知识表示与知识图谱 🧑🏻💻
一、知识
知识的概念
知识 是人们在长期的生活及社会实践中、在科学研究及实验中积累起来的 对客观世界的认识与经验,人们把实践中获得的信息关联在一起,就形成了知识。
一般来说,把有关信息关联在一起所形成的信息结构称为知识。
信息之间有多种关联形式,其中用得最多的一种是用「如果⋯,则⋯」表示的关联形式,它反映了信息间的某种因果关系。
知识 反映了客观世界中事物之间的关系,不同事物或者相同事物间的不同关系形成了不同的知识。
- 「雪是白色的」是一条知识,它反映了「雪」与「白色」之间的一种关系。
- 在人工智能中,这种知识称为「事实」
- 「如果头痛且流涕,则有可能患了感冒」是一条知识,它反映了「头痛且流涕」与「可能患了感冒」之间的一种因果关系。
- 在人工智能中,这种知识称为「规则」
知识的特性
- 相对正确性
- 知识是人类对客观世界认识的结晶,并且受到长期实践的检验。因此,在一定的条件及环境下,知识一般是正确的(例如,牛顿力学在一定的条件下才是正确的)
- 不确定性
- 由于现实世界的复杂性,信息可能是精确的,也可能是不精确的、模糊的;关联可能是确定的,也可能是不确定的。这就使得知识并不总是只有「真」与「假」这两种状态,而是在「真」与「假」之间还存在许多中间状态,即存在「真」的程度问题。知识的这一特性称为不确定性
- 可表示性与可利用性
- 知识的可表示性是指知识可以用适当形式表示出来,如用语言、文字、图形、神经网络等,这样才能被存储、传播
- 知识的可利用性是指知识可以被利用。这是不言而喻的,人们每天都在利用自己掌握的知识解决所面临的各种问题
知识的表示
知识表示(knowledge representation) 就是将 人类知识形式化 或者 模型化。实际上是对知识的一种描述,或者说是一组约定,一种 计算机可以接受的用于描述知识的数据结构。
知识的表示方法有:一阶谓词逻辑、产生式、框架、状态空间、人工神经网络、遗传编码等。
二、一阶谓词逻辑表示法
谓词的一般形式
$$
P(x_1,x_2,\dots,x_n)
$$
其中,$P$ 是谓词名,$x_1,x_2,\dots,x_n$ 是个体。
谓词 中 包含的个体数目 称为 谓词的元数,如 $P(x)$是一元谓词,$P(x,y)$是二元谓词。
在谓词中,个体可以是 常量,变元,还可以是 一个函数,统称为「项」。
- 常量:个体是常量,表示一个或者一组指定的个体。例如,「老张是一个教师」这个命题,可表示为一元谓词
Teacher(Zhang)。其中,Teacher是谓词名,Zhang是个体,Teacher刻画了Zhang的职业是教师这一特征。 - 变元:个体是变元,表示没有指定的一个或者一组个体。例如,$x \lt 5$ 这个命题,可表示为
Less(x, 5)。其中,$x$ 是变元。 - 函数:个体是函数,表示一个个体到另一个个体的映射。例如,「小李的父亲是教师」,可表示为一
元谓词Teacher(father(Li))
在谓词 $P(x_1,x_2,\dots,x_n)$ 中,若 $x_1,x_2,\dots,x_n$ 都是个体常量、变元或函数,称它为一阶谓词。
谓词 VS 函数
函数与谓词 表面上很相似,容易混淆,其实这是 两个完全不同的概念。谓词的真值是「真」或「假」,而函数的值是个体域中的某个个体,函数无真值可言,它只是在个体域中从一个个体到另一个个体的映射。
谓词公式中的连接词
| 连接词 | 符号 | 描述 |
|---|---|---|
| 否定 | ¬ | 表示否定,即”不是”或”非” |
| 合取 | ∧ | 表示逻辑与,即”且” |
| 析取 | ∨ | 表示逻辑或,即”或者” |
| 蕴含 | → | 表示条件,即”如果…那么…” |
| 等价 | ↔ | 表示双向条件,即”当且仅当” |
🍉 优先级关系:¬,∧,∨,→,↔
谓词公式中的量词
在谓词逻辑中有两个量词:全称量词 和 存在量词。
- 全称量词:$(\forall)$ 表示「对个体域中的 所有(或任一个)个体 $x$」
- 所有机器人都是灰色的:$(\forall x)[ROBOT(x) → COLOR(x,GRAY)]$
- 存在量词:$(\exists)$ 表示「在个体域中的 存在个体 $x$」
- 1号房间有个物体:$(\exists x)[x,r_1]$
❗️ 注意:当全称量词和存在量词 出现在同一个命题中时,这时 量词的次序 将影响命题的意思。❗️
- $(\forall x)(\exists y)(Employee(x) → Manager(y,x))$ 表示「每个雇员都有一个经理」
- $(\exists y)(\forall x)(Employee(x) → Manager(y,x))$ 表示「有一个人是所有雇员的经理」
重要谓词公式
分配律
$$
P \vee(Q \wedge R) \Leftrightarrow(P \vee Q) \wedge(P \vee R) \
$$
$$
P \wedge(Q \vee R) \Leftrightarrow(P \wedge Q) \vee(P \wedge R)
$$
得摩根律
$$
\neg(P \vee Q) \Leftrightarrow \neg P \wedge \neg Q \
$$
$$
\neg(P \wedge Q) \Leftrightarrow \neg P \vee \neg Q
$$
连接词化归律
$$
P \rightarrow Q \Leftrightarrow \neg P \vee Q
$$
量词转换律
$$
\neg(\exists x) P \Leftrightarrow(\forall x)(\neg P) \
$$
$$
\neg(\forall x) P \Leftrightarrow(\exists x)(\neg P)
$$
三、产生式表示法
产生式的概念
产生式 通常用于表示 事实、规则以及它们的不确定性度量,适合于表示事实性知识和规则性知识。
产生式表示法 是目前应用最多的一种知识表示模型,许多成功的 专家系统 都用它来表示知识。
产生式 与谓词逻辑中的蕴含式的基本形式相同,但 蕴含式只是产生式的一种特殊情况,理由如下:
- 产生式 不仅可以表示确定性规则,还可以表示各种操作、规则、变换、算子、函数等。例如,「如果炉温超过上限,则立即关闭风门」是一个产生式,但不是一个蕴含式。
- 产生式 不仅可以表示确定性知识,而且还可以表示不确定性知识(蕴含式只能表示确定性知识,要么为真,要么为假)。
产生式表示法
- 确定性 规则知识 的产生式表示
- 基本形式:
IF P THEN Q - 其中,P 是产生式的 前提,用于指出该产生式是否可用的条件;Q 是一组 结论 或 操作,用于指出当前前提 P 所指示的条件满足时,应该得出的结论或应该执行的操作。
- 基本形式:
- 不确定性 规则知识 的产生式表示
- 基本形式:
IF P THEN Q (置信度)
- 基本形式:
- 确定性 事实性知识 的产生式表示
- 基本形式:
(对象,属性,值)或者(关系,对象1,对象2) - 实例:
(Friend,Ricky,Sam)表示为 Ricky 和 Sam 是朋友
- 基本形式:
- 不确定性 事实性知识 的产生式表示
- 基本形式:
(对象,属性,值,置信度)或者(关系,对象1,对象2,置信度) - 实例:
(Friend,Ricky,Sam,0.9)表示为 Ricky 和 Sam 大概率是朋友
- 基本形式:
产生式系统
把 一组产生式 放在一起,让它们 相互配合,协同作用,一个产生式生成的结论可以供另一个产生式作为已知事实使用,以求得问题的解,这样的系统称为 产生式系统。
一般来说,一个产生式系统由 规则库、控制系统(推理机)、综合数据库 三部分组成,关系如下图。

- 规则库:用于描述相应领域内知识的产生式集合称为规则库。
- 综合数据库:又称为事实库、上下文、黑板等。它是一个用于存放问题求解过程中各种当前信息的数据结构,如问题的初始状态、原始证据、推理中得到的中间结论及最终结论。
- 控制系统:又称为推理机。它由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。
- 按一定的策略 从规则库中选择与综合数据库的己知事实进行匹配。所谓匹配是指把规则的前提条件与综合数据库中的已知事实进行比较,如果两者一致,或者近似一致且满足预先规定的条件,则称匹配成功,相应的规则可被使用,否则称为匹配不成功。
- 冲突消解。匹配成功的规则可能不止一条,这称为发生了冲突。此时,推理机构必须调用相应的解决冲突策略进行消解,以便从匹配成功的规则中选出一条执行。
- 执行规则。如果某一规则的右部是一个或多个结论,则把这些结论加人到综合数据库中;如果规则的右部是一个或多个操作,则执行这些操作。对于不确定性知识,在执行每一条规则时还要按一定的算法计算结论的不确定性。
- 检查推理终止条件。检查综合数据库中是否包含了最终结论,决定是否停止系统的运行。
产生式表示法的特点
产生式表示法的主要优点
- 自然性
- 产生式表示法用「如果⋯⋯,则⋯」的形式表示知识,这是人们常用的一种表达因果关系的知识表示形式,既直观、自然,又便于进行推理。正是由于这一原因,才使得产生式表示法成为人工智能中最重要且应用最多的一种知识表示方法。
- 模块性
- 产生式是规则库中最基本的知识单元,它们同推理机构相对独立,而且每条规则都具有相同的形式。这就便于对其进行模块化处理,为知识的增、删、改带来了方便,为规则库的建立和扩展提供了可管理性。
- 有效性
- 产生式表示法既可表示确定性知识,又可表示不确定性知识;既有利于表示启发式知识,又可方便地表示过程性知识。目前已建造成功的专家系统大部分是用产生式来表达其过程性知识的。
- 清晰性
- 产生式有固定的格式。每一条产生式规则都由前提与结论(操作)这两部分组成,而且每一部分所含的知识量都比较少。这既便于对规则进行设计,又易于对规则库中知识的一致性及完整性进行检测。
产生式表示法的主要缺点
- 效率不高
- 在产生式系统求解问题的过程中,首先要用 产生式的前提部分与综合数据库中的已知事实进行匹配,从规则库中选出可用的规则,此时 选出的规则可能不止一个,这就需要按一定的策略进行「冲突消解」,然后把选中的规则启动执行。因此,产生式系统求解问题的过程是一个反复进行「匹配一冲突消解一执行」的过程。鉴于 规则库一般都比较庞大,而 匹配又是一件十分费时 的工作,因此其工作效率不高,而且大量的产生式规则容易引起组合爆炸。
- 不能表达具有结构性的知识
- 产生式 适合于表达具有因果关系的过程性知识,是一种非结构化的知识表示方法,所以对具有结构关系的知识却无能为力,它不能把具有结构关系的事物间的区别与联系表示出来。
四、框架表示法
框架表示法的概念
框架 是一种描述所讨论对象(一个事物、事件或概念)属性的 数据结构。
一个 框架 由若干个被称为「槽(Slot)」的结构组成,每一个槽又可根据实际情况划分为若干个「侧面(facet)」。
一个槽用于描述所讨论对象某一方面的属性。
一个侧面用于描述相应属性的一个方面。
槽和侧面所具有的属性值分别被称为槽值和侧面值。
框架表示法的特点
- 结构性
- 框架表示法最突出的特点是便于表达结构性知识,能够将知识的内部结构关系及知识间的联系表示出来,因此它是一种结构化的知识表达方法。
- 产生式规则只能表示因果关系,而 框架表示法 不仅可以通过 Infer 槽或者 Possible-reason 槽表示因果关系,还可以通过其他槽 表示更复杂的关系。
- 继承性
- 框架表示法通过使槽值为另一个框架的名字实现框架间的联系,建立表示复杂知识的框架网络。在框架网络中,下层框架可以继承上层框架的槽值,也可以进行补充和修改,这样不仅减少了知识的冗余,而且较好地保证了知识的一致性。
- 自然性
- 框架表示法与人在观察事物时的思维活动是一致的,比较自然。
五、知识图谱表示法
知识图谱的概念
知识图谱 是一种互联网环境下的 知识表示方法。
知识图谱 是由 节点 和 边 组成的语义网络,其中 节点代表物理世界中的实体或概念,边表示实体与实体的属性或他们之间的关系。

知识图谱的应用领域
- 搜索引擎增强:知识图谱可以用于搜索引擎的增强,通过将搜索结果与知识图谱中的实体和关系相关联,提供更准确、丰富的搜索结果。用户可以通过搜索关键词获取与之相关的实体信息、关联的知识、实体间的关系等。
- 问答系统:知识图谱可以用于构建智能问答系统,提供更精确、全面的答案。系统可以根据知识图谱中的实体和关系,对用户提出的问题进行语义理解和推理,从而给出准确的答案。
- 信息推荐:知识图谱可以为个性化信息推荐提供基础支持。通过分析用户的兴趣和偏好,结合知识图谱中的实体和关系,推荐用户感兴趣的内容,如新闻、文章、电影、音乐等。
- 专家系统:知识图谱可以用于构建专家系统,提供针对特定领域的专业知识和推理能力。通过将领域知识表示为知识图谱中的实体和关系,系统可以根据用户的需求进行问题求解、决策支持等。
- 自然语言处理:知识图谱可以用于自然语言处理任务,如命名实体识别、关系抽取、语义角色标注等。通过将文本中的实体和关系与知识图谱中的实体和关系进行对应,可以更准确地理解和处理自然语言。
- 医疗和生命科学:知识图谱在医疗和生命科学领域有广泛应用。它可以帮助医生和研究人员整合和分析大量的医疗数据和生物数据,发现疾病和基因之间的关联,辅助医学诊断和药物研发。
参考资料 📚
- 《人工智能导论(第五版)》王万良
- https://openai.com/blog/chatgpt