人工智能ArtificialIntelligence专家系统专家系统(ExpertSystem)是人工智能应用研究最活跃和最广泛的领域之一.
I965年斯坦福大学的费根鲍姆和化学家勒德贝格合作研制DENDRAL系统,使得人工智能的研究从面向基本技术和基本方法的理论研究走向解决实际问题的具体研究,从探索广泛的普遍规律转向知识的工程应用,体现知识的巨大力量.
本章主要内容概述专家系统基本结构专家系统工具CLIPS面向对象专家系统工具OKPS概述(1)专家系统是一类具有专门知识和经验的计算机智能程序系统,通过对人类专家的问题求解能力的建模,采用人工智能中的知识表示和知识推理技术来模拟通常由专家才能解决的复杂问题,达到具有与专家同等解决问题能力的水平.
这种基于知识的系统设计方法是以知识库和推理机为中心而展开的,即专家系统=知识库+推理机专家系统把知识从系统中与其他部分分离开来.
专家系统强调的是知识而不是方法.
很多问题没有基于算法的解决方案,或算法方案太复杂,采用专家系统,可以利用人类专家拥有丰富的知识,因此专家系统也称为基于知识的系统(Knowledge-BasedSystems).
概述(2)一个专家系统应该具备以下三个要素:(1)具备某个应用领域的专家级知识;(2)能模拟专家的思维;(3)能达到专家级的解题水平.
建造一个专家系统的过程可以称为"知识工程",它是把软件工程的思想应用于设计基于知识的系统.
知识工程包括下面几个方面:(1)从专家那里获取系统所用的知识(即知识获取)(2)选择合适的知识表示形式(即知识表示)(3)进行软件设计(4)以合适的计算机编程语言实现.
概述(3)专家系统的特点(1)启发性(2)透明性(3)灵活性(4)交互性(5)实用性(6)易推广概述(4)专家系统的发展史1977年美国斯坦福大学计算机科学家费根鲍姆(E.
A.
Feigenballm)在第五届国际人工智能联合会议上提出知识工程的新概念.
20世纪80年代以来,在知识工程的推动下,涌现出了不少专家系统开发工具,例如EMYCIN、CLIPS(OPS5,OPS83)、G2、KEE、OKPS等.
1977年,基于关幼波先生的经验,研制成功了我国第一个"中医肝病诊治专家系统".
1985年10月中科院合肥智能所熊范纶建成"砂姜黑土小麦施肥专家咨询系统",这是我国第一个农业专家系统.
中科院计算所史忠植与东海水产研究所等合作,研制了东海渔场预报专家系统.
在专家系统开发工具方面,中科院数学研究所研制了专家系统开发环境"天马",中科院计算所研制了面向对象专家系统开发工具"OKPS".
概述(5)专家系统开发工具人工智能语言:LISP,Prolog,C/C++,Java专家系统外壳:又称为骨架系统,从成功应用的专家系统演变而来的.
如:MYCIN-E-MYCINPROSPECTOR的知识获取系统----->KAS通用型专家系统工具:OPS系列,CLIPS(JESS):规则型ART:规则+框架专家系统开发环境:ES开发的工具包,提供多种方便的构件概述(6)新一代专家系统的研究分布协同式的体系结构任务分布合作策略知识的自动获取KB尚未建立时知识的获取ES运行过程中,知识的获取深层知识的利用知识的表示和推理本章主要内容概述专家系统基本结构专家系统工具CLIPS面向对象专家系统工具OKPS专家系统的基本结构(1)专家系统的基本结构(2)知识库是问题求解所需要的领域知识的集合,包括基本事实、规则和其他有关信息.
知识的表示形式可以是多种多样的,包括框架、规则、语义网络等等.
推理机是实施问题求解的核心执行机构,它实际上是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中.
推理机的程序与知识库的具体内容无关,即推理机和知识库是分离的,这是专家系统的重要特征.
它的优点是对知识库的修改无须改动推理机,但是纯粹的形式推理会降低问题求解的效率.
将推理机和知识库相结合也不失为一种可选方法.
专家系统的基本结构(3)知识获取负责建立、修改和扩充知识库,是专家系统中把问题求解的各种专门知识从人类专家的头脑中或其他知识源那里转换到知识库中的一个重要机构.
人机界面是系统与用户进行交流时的界面.
综合数据库也称为动态库或工作存储器,是反映当前问题求解状态的集合,用于存放系统运行过程中所产生的所有信息,以及所需要的原始数据,包括用户输入的信息、推理的中间结果、推理过程的记录等.
解释器用于对求解过程做出说明,并回答用户的提问.
两个最基本的问题是"why"和"how".
本章主要内容概述专家系统基本结构专家系统工具CLIPS面向对象专家系统工具OKPS专家系统工具CLIPS(1)早期的专家系统工具大都用LISP、Prolog等编程语言开发,它们的共同问题是运行速度慢,可移植性差,解决复杂问题的能力差.
为此,1984年美国航空航天局约翰逊空间中心(NASA'sJohnsonSpaceCenter)推出CLIPS(CLanguageIntegratedProductionSystem).
CLIPS是一个基于Rete算法的前向推理语言,用标准C语言编写.
它具有高移植性、高扩展性、强大的知识表达能力和编程方式以及低成本等特点.
专家系统工具CLIPS(2)CLIPS中的知识表示1.
字段在CLIPS中,把从键盘或文件读入的一组有特定意义的字符叫做一个"令牌(token)",它是CLIPS的基本语言符号单位.
字段(field)是由一组令牌组成的,是CLIPS中知识表示的基本单位.
字段可以是常量也可以是变量,CLIPS有七种字段,它们是CLIPS的原始数据类型:整型(Integer)、浮点型(Float)、符号型(Symbol)、字符串型(String)、外部地址(Externaladdress)、示例名(Instancename)和示例地址(Instanceaddress).
专家系统工具CLIPS(3)CLIPS中的知识表示2.
事实在CLIPS中,事实由关系名,后面跟着零个或多个槽(也称为符号字段)以及它们的相关值组成.
事实分为两类:自定义模板事实(deftemplatefact)和有序事实(orderedfact).
自定义模板结构的一般格式为:(deftemplate[slot-definition>slot-definition>的定义可以为:slot)|(multislot)专家系统工具CLIPS(4)CLIPS中的知识表示3.
规则在CLIPS语言中,规则表示为如下形式:defrule[patterns>*;Left-HandSide(LHS)oftherule*);Right-HandSide(RHS)oftherule其中,rule-name为规则名,patterns为一组模式,actions为一组动作CLIPS结构图WORKINGMEMORYRULEBASEEXECUTIONENGINEINFERENCEENGINEPATTERNMATCHERAGENDACLIPS的匹配算法(1)模式一般是指组成规则前提的基本的单位,每个模式由一个或多个字段组成.
可满足规则:一个规则称为可满足的,若规则的每一模式均能在当前工作存储器中找到可匹配的事实,且模式之间的同一变量能取得统一的约束值.
即r:P1P2…PnQ1Q2…Qm若存在一个置换,使得对每一个模式Pi,在工作存储器中有一个元素Wi满足Pi=Wi,i=1,2,…,n作用在某个模式的结果称为模式实例,作用在整个规则的结果称为规则实例.
CLIPS匹配算法(2)Rete算法是一个快速的模式匹配器,它通过在网络上存储规则信息来提高速度由于在每一个识别动作循环中,那些没有变化的数据可以不用考虑,因此可以大大提高事实与前件的匹配速度.
类似Rete算法的一些快速模式匹配算法的出现,奠定了专家系统走向实用的基础.
CLIPS匹配算法(3)Rete算法的基本思想该算法快速匹配的重要依据为:时间冗余性:工作存储器中的内容在推理过程中的变化是缓慢的,即在每个执行周期中,增删的事实只占很小的比例结构相似性:许多规则常常包括类似的模式和模式组Rete算法的基本思想是保存过去匹配过程中留下的全部信息,以空间代价来换取产生式系统的执行效率CLIPS匹配算法(4)Rete匹配网络结构Rete算法的核心是建立Rete匹配网络结构.
这一网络结构由模式网络和连接网络两部分构成.
其中,模式网络记录每一模式各域的测试条件,每一测试条件对应于网络的一个域结点,每一模式的所有域结点依次连起来,构成模式网络的一条匹配链.
在每一模式匹配链的终结点上都有一个寄存器来记录所有能与该模式匹配的事实集合,即模式实例集,这种寄存器称为寄存器.
CLIPS匹配算法(5)模式网络若两个模式的前k个域相同,则它们可以共享k个域结点.
连接网络用于检查同一规则不同模式之间因同名变量而带来的相应模式实例之间的相互约束关系,以保证同名变量取值的一致性.
CLIPS匹配算法(6)定义称满足相互约束条件的k个模式实例为可满足的k—模式实例.
显然,寄存器中所有非空模式实例均为1—模式实例,且是可满足的可满足的k—模式实例存在寄存器k中,寄存器可以看成寄存器1.
在连接网络中,每一连接点有两个输入,一个来自含有1—模式实例的寄存器,另一个来自含有可满足的k—模式实例集的寄存器(k=1)或寄存器k(k>1),连接点指出两组输入模式实例的约束条件,输出可满足的(k+1)—模式实例集,存入寄存器k+!
.
CLIPS匹配算法(7)Rete网络匹配过程Rete网络匹配过程由模式网络上的模式匹配和连接网络上的部分匹配两部分构成.
在模式网络的机器内部表示中,我们把共享一个父结点的所有结点表示成一条共享链,同时,把每一模式匹配链中的结点表示成一条下拉链,于是,每一结点由共享链和下拉链指向其后继结点,模式网络就是一棵可以使用典型遍历算法进行测试的二叉树.
模式网络上的模式匹配过程就是上述二叉树的条件遍历过程CLIPS匹配算法(8)模式网络上的模式匹配过程一旦结束,便开始连接网络上的部分匹配过程,其作用是:根据每一模式寄存器的变化,激活相应的连接网络,并修改寄存器的内容.
CLIPS匹配算法(9)Rete算法也存在很大的局限性这对于大型专家系统,特别是专家数据库系统的实现,弄不好易导致组合爆炸采用固定的模式连接次序,从而影响了执行效率的提高本章主要内容概述专家系统基本结构专家系统工具CLIPS面向对象专家系统工具OKPS面向对象专家系统工具OKPSOKPS是中国科学院计算技术研究所智能科学开放实验室研制的面向对象知识处理系统(Object-orientedKnowledgeProcessingSystem,简称OKPS).
它采用面向对象的知识表示方法来描述和存贮知识,可以通过所见即所得的可视化工具,对具体的应用建立专家知识库.
OKPS中的知识表示(1)OKPS采用面向对象的概念和技术实现了一种知识表示方法,并且还吸收了框架理论和语义网络中的一些特点.
OKPS的知识库是由对象组成的.
一个对象可以拥有自己的属性(Property)和方法(Method).
对象的属性可以存贮整型、浮点型或字符串型的值.
方法用来存贮这个对象在推理过程中所要执行的操作.
这些操作可以是访问对象的属性,向系统发送消息,也可以是使用系统提供的资源和服务等.
知识库中的对象有序地组成一种树型结构OKPS中的知识表示(2)现在假设我们要将羊这种动物在分类树中进行定位.
在专家系统推理过程中,根据知识库中存贮的各种分类知识,系统将由最顶层开始,根据羊这一对象所具有的各种属性,与分类树中各个类的属性进行匹配,层层深入,直到不需要再进一步区分为止动物脊椎动物无脊椎动物哺乳动物鸟类鱼类鹰企鹅羊鲤鱼鲨鱼老虎OKPS中的知识表示(3)正向推理时,要先解决其下层的子问题,才能解决该问题本身的目标.
推理过程是一个自下而上的过程.
求解过程最后终结于根结点的对象为了能够适应灵活的推理方式,OKPS在每个对象中加入不同的方法,来针对不同的推理阶段作相应的处理.
每个节点的对象都有三种方法:先序、中序和后序.
这三种方法在推理过程中是按照不同的次序执行的.
在默认的控制下,这个过程是一个从问题根节点对象开始的深度优先遍历.
OKPS中采用的面向对象的知识表示方法也结合了语义网络和框架系统的一些特点.
最近上洛杉矶机房联通CUVIP线路主机的商家越来越多了,HostKvm也发来了新节点上线的邮件,适用全场8折优惠码,基于KVM架构,优惠后最低月付5.2美元起。HostKvm是一家成立于2013年的国人主机商,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,君选择国内直连或优化线路,延迟较低,适合建站或者远程办公等。以洛杉矶CUVIP线路主机为例,...
4324云是成立于2012年的老牌商家,主要经营国内服务器资源,是目前国内实力很强的商家,从价格上就可以看出来商家实力,这次商家给大家带来了全网最便宜的物理服务器。只能说用叹为观止形容。官网地址 点击进入由于是活动套餐 本款产品需要联系QQ客服 购买 QQ 800083597 QQ 2772347271CPU内存硬盘带宽IP防御价格e5 2630 12核16GBSSD 500GB30M1个IP...
今天父亲节我们有没有陪伴家人一起吃个饭,还是打个电话问候一下。前一段时间同学将网站账户给我说可以有空更新点信息确保他在没有时间的时候还能保持网站有一定的更新内容。不过,他这个网站之前采用的主题也不知道来源哪里,总之各种不合适,文件中很多都是他多年来手工修改的主题拼接的,并非完全适应WordPress已有的函数,有些函数还不兼容最新的PHP版本,于是每次出现问题都要去排查。于是和他商量后,就抽时间把...