知识表示
知识与知识表示
- 知识是人类智能的基础(符号主义学派)。
- 智能活动过程主要是一个获取知识并运用知识的过程。
- 人工智能问题的求解也是以知识为基础的,知识的获取、知识的表示和运用知识进行推理是人工智能学科研究的3个主要问题。
知识的含义和结构
- 知识是经过裁剪、塑造、解释和转换的信息。
- 知识是由特定领域的描述、关系和过程组成的。
- 知识=事实+信念+启发式。
知识的金字塔结构
- 数据:是记录信息的符号,是信息的载体和表示。
- 信息:是对数据的解释,是数据在具体的场合下具体的含义。
- 知识:一般把有关信息关联在一起所形成的信息结构称为知识。
- 元知识:指使用知识的知识。
知识的种类
知识的特性
- 相对正确性:不同规则下有不同的正确性。
- 不确定性:不只有“真”和“假”两种状态。引起原因:随机性、模糊性、不完全性和经验性。
- 可表示性。
- 可利用性。
知识表示
-
知识表示的含义:
-
知识表示的要求:
- 表示能力:正确、有效地表示。
- 可利用性:有利于进行有效的推理。
- 可组织性:按某种方式组织成某种结构。
- 可维护性:便于增、删、改等操作。
- 可实现性:便于在计算机上实现。
- 自然性:符合人们的日常习惯。
- 可理解性:易读、易懂、易获取等。
-
知识表示的方法:
一阶谓词逻辑表示法
以数理逻辑为基础,是目前为止能够表达人类思维活动规律的一种最精确的形式语言。
基本概念
-
个体域:个体变元的变化范围称为个体域(论述域),包揽一切事物的集合称为全总个体域。 -
谓词、函数、量词: n元谓词:P(x1, x2, …, xn),大写字母。 n元函数:f(x1, x2, …, xn),小写字母。 全称量词:?x,所有。 存在量词:?x,存在。 -
常用的谓词联接符号:按优先级从高到低排列。
- 否定:﹁,非。
- 合取:∧,与。
- 析取:∨,或。
- 蕴含:→,如果…那么。
- 等价:?,当且仅当。
-
辖域:紧接于量词之后被量词作用的谓词公式称为该量词的辖域,可用括号明示。 -
指导变元、约束变元、自由变元: 指导变元:量词后面的变元称为量词的指导变元。 约束变元:在一个量词的辖域中的与该量词的指导变元相同的变元称为约束变元。 自由变元:其它的变元称为自由变元。
?
x
(
P
(
x
,
y
)
→
Q
(
x
)
)
?x(P(x, y) → Q(x))
?x(P(x,y)→Q(x)) 其中,第一个x为指导变元,第二个x和第三个x为约束变元,y为自由变元。 -
改名规则:使一个谓词公式中的每一个变元仅以一种形式出现。
- 换名规则:将某量词辖域中出现的某个约束变元以及对应的指导变元更改为本辖域中没有出现过的个体变元,等价性不变。
- 代替规则:将某量词辖域中出现的某个自由变元的所有出现用本辖域中未曾出现过的某个个体变元符号代替,等价性不变。
谓词公式表示知识的步骤
- 定义谓词及个体,确定每个谓词及个体的确切含义。
- 根据所要表达的事物或概念,为每个谓词中的变元赋以特定的值。
- 根据所要表达的知识的语义,用适当的联接符号将各个谓词联接起来,形成谓词公式。
经典例子一:机器人移盒子问题
- 问题描述:设在一房间里,c处有一个机器人,a和b处各有一张桌子,分别称为a桌和b桌,a桌上有一个盒子,如图所示。要求机器人从c处出发把盒子从a桌上拿到b桌上,再回到c处。
-
问题求解:过程如下。
-
描述状态的谓词: TABLE(x):x是桌子。 EMPTY(y):y手中是空的。 AT(y, z):y在z处。 HOLDS(y, w):y拿着w。 ON(w, x):w在x的桌面上。 -
变元的个体域: x的个体域是{a, b} y的个体域是{robot} z的个体域是{a, b, c} w的个体域是{box} -
问题的初始状态: AT(robot, c) EMPTY(robot) ON(box, a) TABLE(a) TABLE(b) -
问题的目标状态: AT(robot, c) EMPTY(robot) ON(box, b) TABLE(a) TABLE(b) -
描述操作的谓词: 条件部分:用来说明执行该动作必须具备的先决条件,用谓词公式来表示。 动作部分:给出了该操作对问题状态的改变情况,通过在执行该操作前的问题状态中删除和增加相应的谓词来实现。 Goto(x, y):从x处走到y处。 Pickup(x):在x处拿起盒子。 Setdown(x):在x处放下盒子。 -
各操作的条件和动作:
-
Goto(x, y) 条件:AT(robot, x) 动作:删除AT(robot, x),添加AT(robot, y) -
Pickup(x): 条件:AT(robot, x),TABLE(x),ON(box, x),EMPTY(robot) 动作:删除EMPTY(robot),ON(box, x),添加HOLDS(robot, box) -
Setdown(x): 条件:AT(robot, x),TABLE(x),HOLDS(robot, box) 动作:删除HOLDS(robot, box),添加EMPTY(robot),ON(box, x) -
各操作的执行方法: 机器人在执行一个操作前,都要检查该动作的先决条件是否可以满足,如果满足,就执行相应的操作,否则再检查下一个操作。 -
机器人的完整行动过程:
| | | | |
---|
状态1 | | 状态2 | | 状态3 | AT(robot, c) | | AT(robot, a) | | AT(robot, a) | EMPTY(robot) | Goto(c, a) | EMPTY(robot) | Pickup(a) | HOLDS(robot, box) | ON(box, a) | | ON(box, a) | | TABLE(a) | TABLE(a) | | TABLE(a) | | TABLE(b) | | | | | | TABLE(b) | | TABLE(b) | | | | | | | | | 状态4 | | 状态5 | | | AT(robot, b) | | AT(robot, b) | | Goto(a, b) | HOLDS(robot, box) | Setdown(b) | EMPTY(robot) | Goto(b, c) | | TABLE(a) | | ON(box, b) | | | TABLE(b) | | TABLE(a) | | | | | TABLE(b) | | | | | | | 状态6 | | | | | AT(robot, c) | | | | | EMPTY(robot) | | | | | ON(box, b) | | | | | TABLE(a) | | | | | TABLE(b) | | | | | | | | | |
经典例子二:猴子摘香蕉问题
谓词逻辑表达法的特点
- 优点:严密性、自然性、通用性、易于实现。
- 缺点:知识表示能力差、知识库管理困难、组合爆炸、效率低。
产生式表示法
知识的产生式表示方法
产生式系统的基本结构
- 综合数据库DB
- 存放推理过程的各种当前信息。
- 作为推理过程选择可用规则的依据。
- 规则库RB,也称为知识库KB
- 存放推理所需要的所有规则(知识集),是推理的根本。
- 要求知识的完整性、一致性、准确性、灵活性和可组织性。
- 控制系统,也称为推理机
- 控制整个产生式系统的运行,决定问题求解过程的推理线路。
- 主要任务:选择匹配、冲突消解、执行操作、终止推理、路径解释。
产生式系统的运行过程
经典例子一:猴子摘香蕉问题
-
综合数据库:(M, B, Box, On, H) M:猴子的位置 B:香蕉的位置 Box:箱子的位置 On=0:猴子在地板上 On=1:猴子在箱子上 H=0:猴子没有抓到香蕉 H=1:猴子抓到了香蕉 -
初始状态:(a, c, b, 0, 0) -
结束状态:(c, c, c, 1, 1) -
规则集 r1: IF(x, y, z, 0, 0)THEN(w, y, z, 0, 0)(猴子移动) r2: IF(x, y, x, 0, 0)THEN(z, y, z, 0, 0)(猴子推箱子) r3: IF(x, y, x, 0, 0)THEN(x, y, x, 1, 0)(猴子爬箱子) r4: IF(x, y, x, 1, 0)THEN(x, y, x, 0, 0)(猴子下箱子) r5: IF(x, x, x, 1, 0)THEN(x, x, x, 1, 1)(猴子抓香蕉) 其中,x, y, z, w为变量。 -
行动过程 r1: IF(a, c, b, 0, 0)THEN(b, c, b, 0, 0) r2: IF(b, c, b, 0, 0)THEN(c, c, c, 0, 0) r3: IF(b, c, b, 0, 0)THEN(b, c, b, 1, 0) r3: IF(c, c, c, 0, 0)THEN(c, c, c, 1, 0) r4: IF(b, c, b, 1, 0)THEN(b, c, b, 0, 0) r5: IF(c, c, c, 1, 0)THEN(c, c, c, 1, 1) 在已知事实下,r1→r2→r3→r5可得到香蕉。
经典问题二:传道士与野人问题
N个传教士,N个野人,一条船,可同时乘坐k个人;要求在任何时刻,在河的两岸,传教士和野人同时存在时,传教士的人数不能少于野人的人数。问:如何过河(以N=3,k=2为例)?
-
综合数据库:(m,c,b),其中0≤m≤3,0≤c≤3,b∈{0,1} -
初始状态:(3,3,1)
-
目标状态:(0,0,0)
-
规则集 r1: IF(m, c, 1)THEN(m-1, c, 0) r2: IF(m, c, 1)THEN(m, c-1, 0) r3: IF(m, c, 1)THEN(m-1, c-1, 0) r4: IF(m, c, 1)THEN(m-2, c, 0) r5: IF(m, c, 1)THEN(m, c-2, 0) r6: IF(m, c, 0)THEN(m+1, c, 1) r7: IF(m, c, 0)THEN(m, c+1, 1) r8: IF(m, c, 0)THEN(m+1, c+1, 1) r9: IF(m, c, 0)THEN(m+2, c, 1) r10: IF(m, c, 0)THEN(m, c+2, 1) -
行动过程 r5: IF(3, 3, 1)THEN(3, 1, 0)(船运2个c到右岸) r7: IF(3, 1, 0)THEN(3, 2, 1)(船运1个c到左岸) r5: IF(3, 2, 1)THEN(3, 0, 0)(船运2个c到右岸) r7: IF(3, 0, 0)THEN(3, 1, 1)(船运1个c到左岸) r4: IF(3, 1, 1)THEN(1, 1, 0)(船运2个m到右岸) r8: IF(1, 1, 0)THEN(2, 2, 1)(船运1个m和一个c到左岸) r4: IF(2, 2, 1)THEN(0, 2, 0)(船运2个m到右岸) r7: IF(0, 2, 0)THEN(0, 3, 1)(船运1个c到左岸) r5: IF(0, 3, 1)THEN(0, 1, 0)(船运2个c到右岸) r7: IF(0, 1, 0)THEN(0, 2, 1)(船运1个c到左岸) r5: IF(0, 2, 1)THEN(0, 0, 0)(船运2个c到右岸) 在已知事实下,r5→r7→r5→r7→r4→r8→r4→r7→r5→r7→r5可顺利过河。
产生式系统的特点
- 优点:自然性、模块性、有效性。
- 缺点:效率较低、不便于表示结构性知识。
语义网络表示法
语义网络的基本表示
- 节点:概念、事物、对象、行为、状态等。
- 有向弧:节点间的联系或关系。
- 语义基元:(节点1,弧,节点2)
- 基本网元:
基本语义关系
- 实例关系:ISA(is-a,具体与抽象,“是一个”)
- 分类关系:AKO(a-kind-of,子类与超类,“是一种”)
- 成员关系:A-Member-of(个体与集体,“是一员”)
以上三种关系都具有属性的继承性,处于具体层的节点可以继承所有抽象层节点的所有属性。 - 聚类关系:Part-of(部分与整体,“是一部分”)
聚类关系一般不具有属性的继承性。如手不一定具有人的各种属性。 - 属性关系:Have、Can
- 时间关系:After、Before
- 位置关系:Located-on、Located-under、Located-at、Located-inside、Located-outside
- 相近关系:Similar-to、Near-to
事物和概念的表示
一个语义基元/基本网元可以表示一个一元关系或一个二元关系,当要表示多元关系时,需要把它转化为一个或多个二元关系的组合。 例:用语义网络表示 ①李新的笔记本的牌子是“联想”、颜色黑灰。 ②王红的笔记本的牌子是“方正”、颜色粉红。
情况和动作的表示
例:用语义网络表示“小燕子这只燕子从春天到秋天占有一个巢” 如果不增加情况节点,会导致语义无法表示或不完整。 增加情况节点后的网络如下。
基于语义网络的推理
- 继承:把对事物的描述从抽象节点传递到实例节点。通过继承可以得到所需节点的一些属性值,它通常是沿着ISA、AKO等继承弧进行的。
- 匹配:指在知识库的语义网络中寻找与待求解问题相符的语义网络模式。
语义网络表示法的特点
- 优点:结构性、联想性、自索引性。
- 缺点:非严格性、复杂性。
框架表示法
基本概念
- 框架:一种通用数据结构,知识的基本单元。
- 实例框架:框架的一个具体实例。
- 框架系统:把一组有关的框架连结起来。
- 框架系统推理:由框架之间的协调来完成。
基本组成
- 框架名
- 槽名(对象的一种属性)
- 侧面名(属性的一个方面)
- 值
一个框架由若干个槽组成,一个槽由若干个侧面组成 - 说明信息
- 单位(Unit):槽值或侧面值的书写格式。
- 范围(Area):槽值或侧面值的指定范围。
- 默认值(Default):缺省时的默认值。
- 框架(<Frame>):以另一个框架作为槽值或侧面值。
框架系统
- 横向联系
以另一个框架作为槽值或侧面值时框架之间的联系。 - 纵向联系
以预定义槽名AKO和ISA来继承时框架之间的联系。 - 特性继承
- 通过ISA、AKO链来实现。
- 当需要查询某一事物的某个属性,且描述该事物的框架未提供其属性值时,系统就沿着ISA和AKO链追溯到具有相同槽的类或超类框架。
- 如果该槽提供有Default值,就继承该默认值作为查询结果返回。
- 如果该槽提供有If-Needed侧面供继承,则执行If-Needed操作,去产生一个值作为查询结果。
- 如果对某个事物的某一属性进行了赋值或修改操作,则系统会自动沿着ISA和AKO链追溯到具有相应的类或超类框架,去执行If-Added操作来进行后继处理。
- If-Needed和If-Added的区别:前者是在系统试图查询某个事物框架中未记载的属性值时激活,并根据查询需求,被动地即时产生所需要的属性值;后者是在系统对某个框架的属性作赋值或修改工作后激活,通过进行配套的后继处理来消除可能存在的不一致。
- 实例
一个直接描述硕士生有关情况的框架 通过继承关系描述硕士生有关情况的框架。
问题求解过程
匹配:对相应槽的槽名和槽值逐个进行比较。 填槽:利用继承关系来实现。
框架表示法的特点
- 优点:结构性、深层性、继承性、自然性
- 缺点:缺乏框架的形式理论、缺乏过程性知识表示、清晰性难以保证。
凉梦空间
欢迎你进入我的个人博客网站参观交流:https://www.liangmeng.xyz
|