2_知识的表示
表示方法的粗略比较
| 表示方法 | 优点 | 缺点 |
|---|---|---|
| 一阶谓词逻辑表示法 | 严谨 | 无法表示不确定性知识,结构化,层次化知识,可能产生组合爆炸 |
| 产生式表示法 | 严谨,可以表述不确定性知识 | 无法表示结构化,层次化知识,可能产生组合爆炸 |
| 语义网络表示法 | 可以表示结构化知识,避免组合优化问题 | 不严谨 |
| 框架表示法 | 可以表示结构化,层次化知识 | 不严谨,不易于表示过程化知识 |
一阶谓词逻辑表示法
谓词公式表示知识的步骤
- 定义描述状态的谓词,说明谓词的定义,并说明其中个体变元的个体域
- 定义描述动作的谓词,说明谓词的定义,先决条件,对于状态的改变
- 使用描述状态和动作的谓词,描述整个过程:定义初始状态以及结束状态,描述状态的转换以及导致状态转换的动作。
优缺点分析
优点
- 严密性。可以较精确的表示知识,而且正确的推理所得结果也是正确的。
- 易于实现。易于知识模块化,易于在计算机上实现。
缺点
- 效率低。把推理演算与知识含义截然分开,抛弃了表达内容中的所含有的语义 ,使得推理过程太过于冗杂。
- 表示能力差。不便于表达或加入非确定性知识。
- 组合爆炸。在其推理过程中,随着事实数目的增大及盲目的使用推例规则,有可能形成组合爆炸。
例子1:张三和李四打网球
例子1:张三和李四打网球
谓词
- PLAY(x,y,z): x和y进行z活动
- x的个体域是
- z的个体域是
个体词
- zhang: 张三
- li: 李四
- tennis: 打网球
表示
- PLAY(zhang,li,tennis)
例子2 全称量词和存在量词的表示
所有庞贝人都是罗马人
谓词
- POMPIAN(x): x是庞贝人
- ROMAN(x): x是罗马人
表示
- ∀x(POMPIAN(x)→ROMAN(x))
所有教师都有自己的学生
- 对于所有x,如果x是一个教师,那么一定存在一个个体y,y是x的学生
所有的整数不是奇数就是偶数
-
对于所有的x,如果x是整数,那么x是奇数或偶数
-
I(x): x是整数
-
E(x):x是奇数
-
O(x): x是偶数
-
那么:
\[∀x( I(x) → ((¬E(x)∧O(x))∨(E(x)∧¬O(x)))) \]
值得注意的是逻辑"或",其与“异或”是不同的。
例子3:机器人移动盒子
机器人由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 | y | z | w |
|---|---|---|---|---|
| 个体域 |
描述动作的谓词
- Goto(x,y): 从x处走到y处
- 先决条件: At(robot,x)
- 状态改变:
| DELET | ADD |
|---|---|
| At(robot,x) | At(robot,y) |
- Pickup(x): 在x处拿起盒子
- 先决条件: At(robot,x),On(box,x),Table(x),Empty(robot)
- 状态改变:
| DELET | ADD |
|---|---|
| Empty(robot),On(box,x) | Holds(robot,box) |
- Setdown(x): 在x处放下盒子
- 先决条件: Holds(robot,box),At(robot,x),Table(x)
- 状态改变:
| DELET | ADD |
|---|---|
| Holds(robot,box) | Empty(robot),On(box,x) |
动作描述


例子4:猴子摘香蕉






产生式表示法
基本表示
事实的表示
-
(对象,属性,值)eg,(snow, color, white)
-
(关系,对象1,对象2)eg,(love, Wang Feng,country)
-
(对象,属性,值,可信度因子) &&(关系,对象1,对象2,可信度因子)
规则的表示
if P then Q
优缺点
优点
-
自然性: 采用"如果......,则......"的形式,人类的判断性知识基本一致。
-
可以表示不确定性知识。
缺点
- 效率较低: 各规则之间的联系必须以综合数据库为媒介。并且,其求解过 程是一种反复进行的"匹配一冲突消解一执行"过程。这样的执行方式将导致 执行的低效率。
- 不便于表示结构性知识: 由于产生式表示中的知识具有一致格式,且规则 之间不能相互调用,因此那种具有结构关系或层次关系的知识则很难以自 然的方式来表示
例子1:猴子摘香蕉问题




例子2:传教士过河问题



从传教士过河的例题中,我们可以看到产生式表示法一个非常重要的结论:
- 对于同一个状态,依据规则集可以导出多个状态,这些状态可能有些是不合理的。例如上面的过河,可能出现岸边传教士为-1的情况。
语义网络表示法
基本表示
语义基元
(节点1,弧,节点二),
语义关系
| 名称 | 含义 | 概念 | 举例 |
|---|---|---|---|
实例关系ISA |
是一个 | 具体与抽象 | ![]() |
分类关系AKO |
是一种 | 子类与超类 | ![]() |
成员关系A-Member-of |
是一员 | 个体与集体 | ![]() |
- 以上语义关系都具有属性的继承性。
| 名称 | 含义 | 概念 | 举例 |
|---|---|---|---|
聚类关系Part-of |
是一部分 | 部分与整体 | ![]() |
属性关系Have&&Can |
有&&能 | 事物与属性 | ![]() |
时间关系Before&&After |
前&&后 | 时间先后 | ![]() |
位置关系Located-on... |
上 | ... | ![]() |
相近关系Similar-to&&Near-to |
相似,接近 | ... | ![]() |
优缺点
优点
-
结构化,采用把事物的属性以及事物间的各种语义联系显式地表示出来,是一种 结构化的知识表示方法
-
自索引性,把各接点之间的联系以明确、简洁的方式表示出来,通过与某一结点 连结的弧可以很容易的找出与该结点有关的信息,而不必查找整个知识库。这 种自索引能力有效的避免搜索时所遇到的组合爆炸问题。
缺点
- 非严格性:,没有象谓词那样严格的形式表示体系,一个给定语义网络的含义完全 依赖于处理程序对它所进行的解释,通过语义网络所实现的推理不能保证其正确性。
- 复杂性: 语义网络表示知识的手段是多种多样的,这虽然对其表示带来了灵活性, 但同时也由于表示形式的不一致,使得它的处理增加了复杂性。
例子:属性表示
1

2

3

例子:情况的表示
小燕子这只燕子从春天到秋天占有了一个巢

例子:事件和动作的表示
常河给江涛一个U盘

框架表示法
基本结构
-
就是使用类似于罗列的方式,表示一个事物的特征
-
框架之间可以继承
例子:学生框架,研究生框架,实例框架
Frame <Student>
Name: Unit (Last-name, First-name)
Sex: Area (male, female)
Default: male //缺省
Age: Unit (Years)
If-Needed: Ask-Age //询问赋值
Address: < S-Address>
Telephone: Home Unit (Number)
Mobile Unit (Number)
If-Needed: Ask-Telephone //询问赋值
Frame <Master>
AKO: <Student> //预定义槽名
Major: Unit (Major) //专业
If-Needed: Ask - Major //询问赋值
If-Added: Check-Major //后继处理
Field: Unit (Field) //方向
If-Needed : Ask - Field //询问赋值
Advisor: Unit (Last-name, First-name) //导师
If-Needed : Ask -Visor //询问赋值
Project: Area (National, Provincial, Other) //项目
Default: National //缺省
Paper: Area (SCI, EI, Core, General) //论文
Default: Core //缺省
杨叶,女,计算机专业,参加了导师林海的网络智能研究方向的省部级项目;
Frame <Master-1>
ISA: <Master> //是一个
Name: Yang, Ye
Sex: female
Major: Computer
Field: Web-Intelligence //方向Web智能
Advisor: Lin Hai //导师林海
Project: Provincial //项目省部级
柳青,22岁,计算机专业,导师是林海,论文被EI收录。
Frame <Master-2>
ISA: <Master>
Name: Liu, Qing
Age: 22
Major: Computer
Advisor: Lin Hai
Paper: EI
额外提一下
If-Needed和If-Added
- If-Needed 操作是在系统试图查询某个事物框架中未记载的属性值时激活,并根据查询需求,被动地即时产生所需要的属性值;
- If-Added 操作是在系统对某个框架的属性作赋值或修改工作后激活(如If-Needed),目的在于通过这些后继处理,主动做好配套操作,以消除可能存在的不一致。
简单例子
范伟,男,30岁, 1996年10月到2012年8月 间在计算机学院任讲师
Frame:〈Teacher-1〉
Name: Fan,Wei
Sex: Male
Age: 30
Job: Lecturer
Work-time:
Start: 1996-10
End: 2012-08
Department: Computer Science










浙公网安备 33010602011771号