常用知识表示方法
注:本文为《刘培奇:新一代专家系统开发技术及应用》读书笔记,相关版权属于原创作者。
知识表示方法是研究系统中知识的组织形式,强调表示和控制之间的关系,表示与推理及其他研究领域的知识。知识表示与问题的性质和推理控制策略有密切的关系。任何一个给定的问题都有许多等价的表示方法,但他们可产生完全不同的效果。目前只是表示方法有状态空间、与或图、谓词逻辑、产生式规则、语义网络、框架、剧本等。
1 状态空间表示法
在人工智能理论中,许多问题的求解过程都采用了试探搜索的方法,他们通过在某个可能的解空间内找到一个可接受的解进行问题求解。这种基于解空间的问题表示和求解方法就是状态空间法,是以状态和操作为基础进行问题求解和问题表示的,是讨论其他形式化方法和问题求解技术的出发点。
1.1 状态
所谓状态,就是为描述某一类事物中各个不同事物之间的差异而引入的最少的一组变量
q0,q1,q2,...,qn
的有序组合,常表示为向量的形式:
1.2 操作
引起状态发生改变,是问题由一种状态变化到另一种状态的过程成为操作。操作可以是一个过程、规则或算子,它描述了状态空间的关系。
1.3 状态空间
状态空间可以描述为四元组
(S,B,F,G)
,其中,
S=(Q1,Q2,...,Qn)
为问题所有可能的状态集合;
B:B⊆S
为问题所有可能的开始状态集合;
F=f1,f2,...,fm
为操作集合,其中
fi(i=1,2,...,m)
为操作
fi:Qi→Qj, (Qi,Qj∈S)
;
G:G⊆S
为目标状态集合。
1.4 求解过程
对于状态空间表示法,问题的求解过程是从初始状态集合出发,经过一系列的操作,将初始状态变换到目标状态的过程。在问题求解中,每增加一次操作,就要建立起操作符的试验序列,直到达到目标状态为止。由于状态空间需要扩展过多的节点,容易出现“组合爆炸”,因而只适用于表示比较简单的问题。
2 产生式规则
产生式规则源于 E. Post 提出的产生式系统,用规则序列形式描述知识,随后经过不断发展,特别在规则的推理和控制结构上进行了改进,目前已经成为一种重要的表示方法。在目前的产生式规则中,规则的前提和结论都有许多复杂的表示形式。产生式规则的表示形式为
IF 前提 THEN 结论
产生式规则的基本思想是模式匹配,它从初始事实出发,用模式匹配的方式查找匹配的产生式规则。如果已知事实能够使规则前提为真,则该规则被激活,推出新的事实;否则,查找下一条规则,以此类推,直到得到结论为止。
产生式规则是人工智能常用到的知识表示方法,在医疗诊断、地质勘探等领域有广泛的应用。产生式规则的最大的优点是知识模块化、一致性和自然性较好,知识易于理解,便于知识库维护,方便操作;最大缺点是推理效率低和难于跟踪控制。
3 语义网络
语义网络是 Quilian 在 1966 年提出一种人类认识自然界的心理模型,因其具有很强的逻辑推理能力,受到人工智能界的广泛关注。目前,语义网已经成为人工智能中的一种重要的知识表示方法。
语义网络是一种基于广义图的知识表示方法,图中的各个节点代表某些概念、实体、时间、状态,节点之间的弧或者超弧表示节点间的作用关系。弧上的说明可根据表示的知识进行定义,它表达了谓词逻辑中的谓词。语义网络的解答是一个经过推理和匹配而得到的具有明确意义的的新语义网络。语义网络可表示多元关系,扩展后可表示更复杂的问题。
语义网的主要优点:实体的结构、属性和关系可显式表示,便于以联想的方式对系统解释;问题表达得更加直观和生动,适合知识工程师和领域专家进行沟通,符合人类的思维习惯;与概念相关的属性和联系组织在一个相应的结构中,易于实现概念的学习和访问。同时,语义网络也存在一定的缺点,如推理效率低、知识存取复杂等。
4 框架
1974年,M.Minsky提出了框架(Frame)的概念。在有关事物知识表示时,框架可以表示事物各方面的属性、事物之间的类属关系、事物的特征和变异等。目前,框架已发展成一种有效的知识表示方法,它不仅在识别、分析预测事物及其行为方面有很大用途,而且框架理论已经在许多系统中得到了应用。
框架是一种存储以往经验和信息的通用数据结构,是一种结构化表示方法。在这样的结构中,新的信息可以用过去经验中的概念来分析和解释。框架通常采用“节点-槽-值”表示结构,也就是说,框架有描述事物的各个方面的若干槽组成,每个槽由若干侧面,每个侧面有若干值。框架中的附加过程用系统中已有的信息解释或计算新的信息。框架的形式表示为
<框架名>
<槽1>:<侧面11>(值111,值112,...)(缺省值)
<侧面12>(值121,值122,...)(缺省值)
<槽2>:<侧面21>(值211,值212,...)(缺省值)
<侧面22>(值221,值222,...)(缺省值)
... ...
<附加过程>
在知识的框架表示中,框架的槽值可以是另一个框架,并且在一个框架中还可以有几个不同的槽值,知识的这种表示成为框架嵌套。通过框架嵌套结构,形成以框架为节点的树形结构。在框架的树形结构中,树形结构的每一个节点都是一个框架结构,父节点和子节点用 ISA 和 AKO 槽连接。框架的一个特性就是其继承性。所谓框架的继承性,就是当子节点的某些槽值没有直接赋值时,可从其父节点继承。
框架的属性结构和框架的继承性使框架知识的存储量比其他知识表示方法小,框架实际上是一种复杂的语义网络。它对描述比较复杂的对象特别有效,并且知识表示结构清晰,直观明了。此外,框架知识表示不仅能表示静态的陈述性知识,也可以通过框架之间的连接表示一种过程性知识。
5 剧本
剧本是框架的一种特殊形式,它用一组槽描述某些事件发生的序列,就像一出剧中每个场次出现的顺序一样,故将这种表示方法称为剧本。不同的是,剧本所表达的不是一种完全通用的结构,它的各个槽和侧面已有固定的意义。
在一个剧本中应包含以下内容
(1) 进入条件:描述时间倩影发生的条件。
(2) 结局:在剧本中描述事件出现后所产生的结果。
(3) 道具:表达了与剧本描述有关的对象。
(4) 版本:表示一些和这个剧本所表示的事物同属一类事物的变种。同一剧本的不同版本往往有许多相同的部分,但不是全部。
(5) 场次:发生时间的实际序列。
剧本只提供了一个框架式结构。在具体应用前,根据环境对剧本中槽值赋值,这个过程成为剧本预先准备。在一个剧本中,场次描述了在一个特定的环境下将要发生的一系列、因果关系的事件,因此它能帮助预见未被直接观察到的事实,也可以对一组观测事实进行解释。
由于剧本结构的特殊性,与框架理论相比剧本要呆板得多,知识表示范围也很窄。但是对于一些特定领域,尤其是表达预先构思好的特定知识,剧本表示非常有效。
参考文献
[1] 刘培奇,新一代专家系统开发技术及应用,西安电子科技大学出版社,2014年1月第一版
相关文章
- 实例探究Python以并发方式编写高性能端口扫描器的方法
- 安卓逆向_11 --- methodprofiling(方法分析)【在 smali 代码中打印信息 --- 协议分析常用】
- 3种PHP连接MYSQL数据库的常用方法
- C#【通用方法】字节数组添加、移除、获取的方法类(妙用List<byte>,开发中常用)
- excel折线图坐标轴刻度不均匀设置的方法教程
- WebDriver的工作原理及常用方法大全
- 《C++程序设计教程(第3版)》——第1章,第3节程序设计方法
- 37 Java基础 总结 完结篇 知识串讲 Java语言初识 基础语法 流程控制 方法 数组 面向对象 内部类 异常 常用类 集合框架 IO流 多线程 网络编程 GUI 注解
- 微信小程序--后台交互/wx.request({})方法/渲染页面方法 解析
- Entity Framework常用方法及案例
- 计算机科学采用训练数据集,验证数据集,测试数据集 的方法 为什么不采用统计学中常用的假设检验呢? (参数检验 和 非参数检验)
- Windows常用维护方法-随时更新
- 戴口罩人脸数据集和戴口罩人脸生成方法
- 常用的兼容IE和火狐FF等浏览器的js方法(js中ie和火狐的一些差别)
- 浅析前端如何做单元测试:jest与mocha对比、如何使用jest进行单元测试及持续监听、如何生成测试覆盖率报告、常用断言方法、如何测试异步函数
- stylus使用文档总结:选择器+变量+插值+运算符+混合书写+方法
- jqGrid常用属性和方法介绍
- Java之可变参数方法使用说明
- 由方法体内修改实参能否在方法外面保留修改效果说开去(修正)
- 借助浏览器下载网页上的图片或一些内容的常用方法
- os模块常用方法
- Underscore.js 入门-常用方法介绍
- python 多种定时任务实现方法和举例,包括sleep、Timer、schedule、APScheduler等
- Java String常用的两个方法
- RookeyFrame 代码层面 常用方法
- 常用方法 Entitys转换为DataTable
- Java多线程-线程的状态和线程常用方法