专家系统综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专家系统综述
摘要
综述专家系统的基本概念、主要结构、开发方法以及在机械制造领域的应用情况。
关健词:专家系统综述
1、什么是专家系统
人工智能(Artifieial Inteligenee简称Al)被誉为本世纪的三大科学技术成就之一,受到了世界各国的普遍重视。而60年代中期作为人工智能的一个应用领域的专家系统(Expert System简称ES)的出现,使得人工智能的研究从实验室走向了现实世界。
所谓专家系统实际上是一个(或一组)能在某特定领域内.以人类专家水平去解决该领域中困难问题的计算机程序。或者说,专家系统是这样一个系统:
a.专家系统处理现实世界中提出的需要由专家来分析和判断的复杂问题。
b.专家系统利用专家推理方法的计算机模型来解决间题,并且可以得到和
专家相同的结论。
由于专家系统的功能主要依赖于大量的知识,这些知识均存在知识库中,通过推理机按一定的推理策略去解决问题,所以它也被称大知识基系统。专家系统是研究用解决某专门问题的专家知识来建立人机系统的方法和技术。由于知识在专家系统中起着决定性作用,所以一般将建立专家系统的工作过程称为知识工程。
2、专家系统的基本结构及分类
2.1专家系统的墓本结构
一个完整的专家系统结构由图1所示的六个部分组成。其中数据库、知识库、推理机和人机接口是必不可少的部分。解释部分、知识获取部分是期望部分。下面分别介绍这些部分。
a.知识库
知识库是领域知识的存储器。它存储专家经验、专门知识与常识性知识,是专家系统的核心部分。知识库可以由事实性知识和推理性知识组成。知识是决定一个专家系统性能的主要因素。一个知识库必须具备良好的可用性、确实性和完善性。要建立一个知识库,首先要从领域专家那里获取知识即称为知识获取。然后将获得的知识编排成数据结构井存入计算机中,这就形成了知识库,可供系统推理判断之用。
b.数据库
数据库用于存储领域内的初始数据和推理过程中得到的各种信息。数据库中存放的内容是该系统当前要处理的对象的一些事实。
c.推理机
推理机是用来控制、协调整个系统的。它根据当前输入的数据即数据库中的信息,利用知识库中的知识,按一定的推理策略,去解决当前的问题.并把结果送到用户接口。
在专家系统中,推理方式有:正向推理、反向推理、混合推理。在上述三种推理方式中,又有精确与不精确推理之分。因为专家系统是模拟人类专家进行工作,所以推理机的推理过程应与专家的推理过程尽可能一致。
d.人机接口
人机接口是专家系统与用户通信的部分。它既可接受来自用户的信息,将其翻译成系统可接受的内部形式,又能把推理机从知识库中推出的有用知识送给用户。
e.解释部分
解释部分能对推理给出必要的解释。这给用户了解推理过程,向系统学习和维护系统提供了方便。
f.知识获取部分
知识获取部分为修改、扩充知识库中的知识提供手段。这里指的是机器自动实现的知识获取。它对于一干专家系统的不断完善、提高起着重要的作用。通常,它应具备能删除知识库中不需要的知识及把需要的新知识加入知识库中的功能。最好还具有能根据实践结果,发现知识库中不合适的知识以及能总结出新知识的功能。知识获取部分实际上是一种学习功能。
专家系统的一个重要特征是知识库与推理机分离,系统允许在运行过程中不断修改知识,增加新知识,使系统性能不断提高。
综上所述可知,一个专家系统不仅能提供专家水平的建议与意见,而且当用户需要时,能对系统本身行为作出解释,同时还有知识获取功能。专家系统的工作特点是运用知识进行推量,因此知识获取(包括人工方式的知识获取和机器学习)、知识表示和知识运用是建造专家系统的三个核心部分。
另外专家系统强调符号处理,并希望有一个理想的人机接口,做到专家或用户能以一种接近自然语言的语言甚至口语形式同系统进行信息的交流。这些都是传统程序所不具备的特点。如下表所示:
表1专家系统和传统程序的比较
3、专家系统开发工具专家系统开发工
具很多,但从专家系统的实现途径看大致可划分为四类:即用
人工智能系统开发的通用程序设计语言、专用知识表示和处理语言、专家系统外壳和专家系统开发工具箱(环境)。
3.1通用人工智能语言
目前最流行的人工智能语言是LISP、PROLOG和Smalltalk。它们都是适
用于实现专家系统的程序设计语言,且各用其特点。
LISP是函数型程序设计语言,具有很强的符号和数据处理能力,其程序有可能随着执行而不断被改进和完善,因而具有一定的自学能力和智能性。
PROLOG是一种用逻辑来进行程序设计的计算机语言,具有很强的逻辑推理能力,很适合于表达人类的思维和推理规则.这是PROLOG语言在人工智能
领域与LISP一样被广泛应用的原因。
Smlltalk语言是最有代表性的一个面向对象的程序设计语言,它对知识的
描述方式的最大特点是具有很好的模块性,并且类间接口清楚,便于分工开发和调试。由于面向对象的方法具有众多的优点,近年来越来越受到软件界的重视。
3.2专用知识表示和处理语言
知识的处理虽然也包含着对数据的处理,但主要是符号处理和逻辑处理,使用通用的人工智能程序设计语言来表示知识和处理知识,编程工作量大,需要较高的编程技巧。为解决这些困难和减少工作量,人工智能学者又开发了更专用的知识表示和处理语言,如有代表性的FRL、OPSS和KEE等。它们为知识表示提供了固定模式,应用很方便。
3.3专家系统外壳
为了减少建造专家系统时的编程工作量,在知识表达、推理或执行方式、解释机构以及学习机构等方面预先形成基本固定的模式,类似于有了一个“空架子”,这个“空架子”就叫做专家系统外壳。专家系统外壳的出现使专家系统的开发经费大幅度降低,开发速度大为提高。
专家系统外壳按其用途可分为三类:基于规则的外壳系统、归纳型外壳系统和基于混合知识表示的外壳系统。
3.4专家系统开发工具箱
为了克服前三种开发工具的缺点,软件专家又设计了专家系统开发工具箱。