专家系统实验指导书讲解.docx

上传人:b****7 文档编号:16289372 上传时间:2023-07-12 格式:DOCX 页数:34 大小:45.65KB
下载 相关 举报
专家系统实验指导书讲解.docx_第1页
第1页 / 共34页
专家系统实验指导书讲解.docx_第2页
第2页 / 共34页
专家系统实验指导书讲解.docx_第3页
第3页 / 共34页
专家系统实验指导书讲解.docx_第4页
第4页 / 共34页
专家系统实验指导书讲解.docx_第5页
第5页 / 共34页
专家系统实验指导书讲解.docx_第6页
第6页 / 共34页
专家系统实验指导书讲解.docx_第7页
第7页 / 共34页
专家系统实验指导书讲解.docx_第8页
第8页 / 共34页
专家系统实验指导书讲解.docx_第9页
第9页 / 共34页
专家系统实验指导书讲解.docx_第10页
第10页 / 共34页
专家系统实验指导书讲解.docx_第11页
第11页 / 共34页
专家系统实验指导书讲解.docx_第12页
第12页 / 共34页
专家系统实验指导书讲解.docx_第13页
第13页 / 共34页
专家系统实验指导书讲解.docx_第14页
第14页 / 共34页
专家系统实验指导书讲解.docx_第15页
第15页 / 共34页
专家系统实验指导书讲解.docx_第16页
第16页 / 共34页
专家系统实验指导书讲解.docx_第17页
第17页 / 共34页
专家系统实验指导书讲解.docx_第18页
第18页 / 共34页
专家系统实验指导书讲解.docx_第19页
第19页 / 共34页
专家系统实验指导书讲解.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

专家系统实验指导书讲解.docx

《专家系统实验指导书讲解.docx》由会员分享,可在线阅读,更多相关《专家系统实验指导书讲解.docx(34页珍藏版)》请在冰点文库上搜索。

专家系统实验指导书讲解.docx

专家系统实验指导书讲解

专家系统实验

课程编号英文名称ExpertSystem

适应对象智能科学与技术指导教师:

肖晓明

一、学时与学分

总学时:

32;实验学时:

6。

教学内容

教学

时数

地点

实验一专家系统与CLIPS

2

民主楼126

实验二麦粒肿诊断专家系统开发

2

民主楼126

实验三CLIPS代码分析

2

升华后楼205

二、实验课的任务、性质与目的

本实验课程是控制专业学生的一门专业课程,通过CLIPS软件环境提供的大量开发性、验证性和设计性实验,帮助学生更好地熟悉和掌握专家系统的基本原理和方法;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对专家系统的相关理论有更深刻的认识。

三、实验方式与基本要求

本实验目的是使学生进一步加深对专家系统的基本原理和方法的认识,通过实践了解专家系统的实现手段。

实验方式:

1.由指导教师讲解实验的基本要求,提示算法的基本思想;

2.实验一人一组,独立完成实验的演示、验证和开发设计;

3.学生在完成预习报告后才能进入实验室进行实验。

四、考核方式与评分办法

1.学生每次做完实验要进行登记;

2.实验结束后学生应在规定时间内提交实验报告及实验结果分析等;

3.指导教师对每份实验报告进行批改、评分并将成绩登录在册。

不符合实验要求的重做;

4.该课程所有实验结束后,指导教师根据学生的实验及报告给出考核成绩,作为平时成绩的重要组成部分(占平时成绩的60%)。

实验1专家系统与CLIPS

实验内容提要:

专家系统不仅是具有特定的结构,同时,它还有多种知识表示形式,及其相应的知识推理方法。

因此,直接采用程序设计语言实现专家系统是比较困难的,而采用适当的专家系统开发工具则可以大大降低系统开发的难度。

因此,本章结合麦粒肿系统专断专家系统开发的需要,首先安排了对专家系统及其开发工具CLIPS基本理论知识,以及CLIPS基本理论知识,以及CLIPS基本使用方法的概要介绍,目的是为第6章“麦粒肿诊断专家系统开发”做好准备。

实验重点:

Ø专家系统的一般结构

Ø产生式规则的表示及其正向推理

Ø专家系统开发工具的结构和特点

Ø专家系统开发工具CLIPS的基本语法

Ø专家系统开发工具CLIPS的基本使用

实验目的

Ø掌握专家系统的一般结构

Ø掌握产生式规则的表示及其正向推理

Ø掌握专家系统开发工具的结构和特点

Ø了解专家系统开发工具CLIPS的设计目标与特点

Ø掌握专家系统开发工具CLIPS的基本语法

Ø掌握专家系统开发工具CLIPS的基本使用

实验内容及要求

Ø学习专家系统的一般结构

Ø学习产生式规则的表示及其正向推理

Ø学习专家系统开发工具的结构和特点

Ø学习专家系统开发工具CLIPS的设计目标与特点

Ø学习专家系统开发工具CLIPS的基本语法

Ø学习专家系统开发工具CLIPS的基本使用

实验步骤

本实验包括以下六个具体步骤,分别是:

学习专家系统的一般结构、学习产生式规则的表示及其正向推理、学习专家系统开发工具的结构和特点、学习专家系统开发工具CLIPS的设计目标与特点、学习专家系统开发工具CLIPS的基本语法,以及学习专家系统开发工具CLIPS的基本使用。

1学习专家系统的一般结构:

专家系统(ES,ExpertSystem)是利用大量专家知识,运用只是推理方法解决特定领域中实际问题的计算机程序系统。

专家系统由产生式规则专家系统发展而来,主要包括知识库、推理机、综合数据库、知识获取程序、人机接口,以及解释程序六大部分。

其中,知识库、推理机、综合数据库,以及人际接口是目前大多数专家系统的主要内容,而知识获取程序和解释则是所有专家系统都期望具有的两个模块。

在专家系统的一般结构中,知识库用于存放各领域专家提供的经验性知识:

综合数据库用于存放关于问题求解的初始数据、中间结果、假设、目标,以及最终求解结果(事实);推理机在一定的控制策略下针对综合数据库中的当前信息,识别和选取知识库中对当前问题求解有用的知识进行推理;知识获取程序完成把专家只是按一定表示形式输入到知识库中,部分代替知识工程师进行知识的自动获取,实现专家系统的字学习,不断完善知识库;解释程序可以根据用户提问,对系统给出的结论、求解过程,以及系统当前求解状态提供说明,便于用户理解系统的问题求解,增加用户对系统求解结果的信任程度,在知识库的完善过程中,便于专家或知识工程师发现和定位知识库中的错误,便于各领域的专业人员或初学者能够从问题的求解过程中得到直观学习;人机接口将专家爱或用户的输入信息翻译为系统可接受的内部形式,同时,也把系统向专家或用户输出的信息转化成人类易于理解的外部形式。

2学习产生式规则的表示及其正向推理

目前,用于专家系统的知识表示形式主要有谓词逻辑、产生式规则、语义网络、框架,以及剧本。

其中,采用产生式规则知识表示形式建立的专家系统最为流行和广泛,这主要因为:

首先,产生式规则知识表示容易被人理解;其次,它基于演译推理,保证了推理结果,的准确性;最后,大量产生式规则可以连接成多棵推理树,树的宽度反映了实际问题的范围,树的深度反映了问题的难度。

产生式规则一般表示为:

如果A成立,则B成立,简记为A->B,其中A是前提,B是结论。

一般来说,不同的产生式规则之间都是有联系的,即谋条产生式规则的前提实力外一条产生式规则的结论。

如果把规则库(知识库)中所包含的总目标(某些规则的结论)作为根节点,按规则的前提和结论展开形成树的形式,则形成的树就被称为推理树或知识树,它把规则库中的所有规则都连接了起来。

产生式规则的推理分为正向推理和逆向推理两种,这里主要介绍正向推理。

产生式规则的正向推理过程是:

逐条搜索规则库,对每一条规则的的前提条件检查实事库(综合数据库)中是否存在。

若再事实库中前提条件的个子项不是全部存在,则放弃该条规则;若在事实库总全部存在,则实行该规则,把结论放入事实库中。

反复循环执行上述过过程,直至推出目标,并存入事实库中为止。

3学习专家系统开发工具的结构和特点

开发专家系统主要有三条途径:

直接使用程序设计语言,如LISP或PROLOG等;使用知识获取工具,如知识获取系统(KAS,KnowledgeAcquisitionSystem)到等;利用专家系统开发工具,如CLIPS或M.1等。

专家系统开发工具一般包括开发环境和运行环境两部分。

其中,开发环境有知识编辑、编译模块,知识库查询、维护模块,数据库查询、维护模块,知识库,以及实事库组成;运行环境有推理机,解释机制,人机交互,知识库,以及实事库组成。

知识库和实时库即被包括在开发环境中,同时也被包括在运行环境中,它们都有一定的格式要求,知识和事实由开发环境输入,提供给运行环境使用。

从专家系统开发工具的结构可以看出,专家系统开发工具具有一下特点:

首先,工具有开发环境和运行环境组成,开发环境用于建立知识库、实事库、并修改、查询知识库和事实库;对指定知识表示形式的推理机和解释机制预先已经做好;运行环境的目的在于支持实际系统的运行。

其次,工具提供了一套用于开发专家系统的语言,包括知识标示语言和工具操作语言。

其中,只是表示语言用于完成外部知识到内部知识的编译;利用工具操作语言可以使用工具中的开发环境,实行运行环境中的功能。

4学习专家系统开发工具CLIPS的设记目标与特色

CLIPS(CLanguageIntegratedProductionSystem)是由美国国家航天局约翰逊空间中心人工智能部在1985年推出的专家系统开发工具,其设计目标和特色包括:

Ø可用于管理、工业、商业、文教等各种领域的专家系统开发,具有广泛的通用性;

Ø适用于各种型号的计算机,从IBMPC及其兼容机,到VAX,HP,SUNMACINTOSH,直到CRAY,都可以运行CLIPS,具有对机型的广泛适用性

Ø与已有的普通软件系统易于集成,同Fortran、ADA等高级程序设计语言均有接口,为用户提供了方便

Ø用C语言写成,运行速度快

Ø具有不确定性下进行推理的能力

正是由于上述设计目标与特色,加之美国国家航天局对CLIPS采取公开化,以及免费使用的政策,CLIPS在众多的专家系统开发工具中深受欢迎,CLIPS研制小组也因而获得美国航天科技奖

CLIPS与比它早的专家爱系统开发工具ART、OPSS有很密切的关系,继承与吸收了ART、OPSS的长处与优点。

但是由于CLIPS最求的简单实用,以极高度的可移植性,因此,只提供了正向推理能力、CLIPS的发展历史证明,这并不影响他成为一个有效的专家系统开发工具。

5学习专家系统开发工具CLIPS的基本语法

为了支持麦粒肿诊断专家系统CLIPS程序的编写,以下将分别从符号体系、语言符号、事实、规则、注释、printout命令、变量、字符通配符、特权、read函数,以及其他常用命令等11各方面,对CLIPS的基本语法进行概要介绍。

符号体系

CLIPS的符号体系包括以下三种类型。

Ø需要完全照样输入计算机的字和字符,即不被<>、[]、{}所括住的所有内容,比如(example)。

方括号表示其中的内容可有可无,比如在(example[1])中,方括号中的1是任选的,即输入(example)和(example1)都是允许的。

尖括号表式其中的字所表示的意义要用一个相应的任意值代替,比如(example)表示在example后面一定要跟一个任意整数,即应输入(example1)、(example5)或者(example-20)等。

Ø对于用双尖括号括住的描述,表示任意多个(包括0个)与其中的自相应的值,比如<>,见到这一描述,可以输入1,12,123,148,或-15,也可以不输入任何内容。

对于用三尖括号括住的描述,表示任意多个(但不包括0个)与其中的字相应的值,比如<<>>,相当于<>。

Ø用于大括号括住的描述表示选用其中的任意一项(必须一项,但也仅一项)输入,比如{all,none,some},可以输入all,或者输入none,或者输入some。

语言符号

在CLIPS主要的语言符号单位是“字段”,也称为“域”(field)。

字段包括以下三种类型。

Ø字(word)。

字以可以打印的ASCII字符开始,后随零个或多个字符。

但是“<”、“|”、“&”、“$”、“?

”、“+”、“-”、“()”字符及其组合不能作为字的开始字符。

另外,字中间也不能包含“<”、“|”、“&”、“()”字符,因为这些字符在CLIPS中有特殊用途,即作为字的界限符,表示字的结束。

最后,CLIPS认为统一字母的大、小写是两个不同的字。

根据一项规定,以下均为有效的CLIPS字:

emergency

fire

emergency-fire

activate-sprinkler-system

notify-fire-department

shut-down=electrical-junction-387

!

?

#$^*

Ø字串(string)。

字串以引号开始和结束,双引号和结束,双引号本身是字串的一部分,期间可以有零个或任意个字符,比如“Activatethesprinklersystem”。

Ø数值字段或简称数值(number),表示浮点数。

在CLIPS中,所有的数,包括整型值的数,都以浮点数形式存储。

数值字段包括三个部分:

符号、值和指数。

其中,符号和指数是任选的。

呼号或为+,或为-;值包括一个或多个数字,以及一个任选的小数点;指数包括字母e或E,后随任选的+或-,其后是一个或多个数字。

根据以上规定,1,1.2,.7,+3,-1,65,3.5e10都是CLIPS中有效的数值字段

数值

为了解题,CLIPS程序必须有据以推理的数据或信息,这在CLIPS中被称为“事实”(fact)。

事实由配对的左、右圆括号括住的一个或多个字段组成,比如(single-field)和(twofields)。

CLIPS所承认的事实都保存在事实表(fact-list)中,新的事实用assert命令加入事实表,其语法格式为:

(assert<<>>)。

比如表示发生火警的事实(emergencyfire)就可以使用命令(assert(emergencyfire))加入到事实表中。

虽然CLIPS不接受重复输入的事实,但是可以使用一个assert命令同时输入多个事实。

比如,可以使用命令(assert(emergencyfire)(emergencyflood))将两个事实(emergencyfire)(emergencyflood)同时加入事实表中。

撤销事实表中已经窜在的事实使用retract命令,其语法格式为:

(retract<<>>)。

其中,fact-index称为事实索引号,是CLIPS赋予事实的标识,用于区分事实表众不同的事实。

使用一个retract命令可以一次同时撤销一个或多个事实。

比如,使用命令(retract1)可以撤销事实表中事实索引号为1的一个事实,而使用命令(retract123)则可以同时撤销事实表中事实索引号为1、2、3的三个事实。

使用facts命令可以显示当前事实表中存在的所有事实.

规则

规则用以表示推理和行为的过程,它描述了题的状态转移、性质变化等内容。

在CLIPS中,定义规则使用的defrule命令,其语法格式为:

(defrule[optionalcomment]

<>

=>

<>)

其中,命令的第一行是规则标题,由三部分组成,分别是:

关键字defrule;规则明rule-name,可以为任意有效地CLIPS字,但必须唯一,如果新输入的规则明与已经存在的规则明相同,则已经存在的规则将被新规则所取代;注解optionalcomment,可有可无u,但必须是一双引号开始和结尾的字串。

命令的第二行是零个或多个模式pattern,也就是规则的左端条件部分。

每个模式由一个或多个字段组成。

对于无模式的情况,系统将自动加入一个模式(initial-fact)。

命令的第三行是一个箭头,由一个等号和一个大于号组成。

命令的第四行是规则的右端动作部分,它给出了动作表,这部分也可以为空。

一下是一个使用defrule命令,定义一个名为fire-emergency的规则的例子,其含义是“如果发生的紧急情况是火灾,那么就启动喷淋装置”

(defrulefire-emergency"Anexamplerule"

(emergencyfire)

=>

(assert(actionactivate-sprinkler-system)))

使用rules命令或pprule命令可以显示当前规则库中的规则。

其中,使用rules命令将显示当前规则库总存在的所有规则的名称;而使用pprule命令则可以显示某个规则的文本内容

注释

为了方便对程序逻辑的理解,增强代码的可读性,应该在代码中加入必要的注释。

CLIPS中,注释以“;”开头,一会可换行结束,比如一下代码:

;***************************

;*题目:

火灾报警*

;*日期:

2006年7月*

;***************************

实验二麦粒肿诊断专家系统开发

内容提要:

学习专家系统基本理论知识及其开发工具最终目的是为了进行实际系统的开发。

因此,在上一章内容的基础上,本章首先安排了对专家系统开发过程的概要介绍。

然后,结合相应的基本理论知识,详细介绍了麦粒肿诊断推理树的绘制、麦粒肿诊断专家系统CLIPS程序的编写,以及以批处理方式运行麦粒肿诊断专家系统的具体过程。

本章重点

Ø专家系统的开发过程。

Ø绘制麦粒肿诊断推理树。

Ø编写麦粒肿诊断专家系统CLIPS程序。

Ø以批处理方式运行麦粒肿诊断专家系统。

实验目的

Ø掌握专家系统的开发过程。

Ø掌握根据产生式规则绘制相应推理树的方法。

Ø掌握使用记事本编写CLIPS应用程序的方法。

Ø掌握以批处理方式运行CLIPS应用程序的方法。

实验内容与要求

Ø学习专家系统的开发过程。

Ø根据以下给出的麦粒肿诊断产生式规则绘制相应的麦粒肿诊断推理树。

●R1:

毛囊皮根微红肿→轻型。

●R2:

鼻塞流涕→外感风热。

●R3:

舌苔薄黄∧胃纳差→胃肠积热。

●R4:

眼睑局部明显红肿→重型。

●R5:

眼睑局部红肿∧顶尖有脓点→重型。

●R6:

脓点破溃→晚期。

●R7:

轻型∧外感风热→轻风热型。

●R8:

重型∧外感风热→重风热型。

●R9:

重型∧胃肠积热→重积热型。

●R10:

轻型→散瘌法。

●R11:

晚期→外敷药物。

●R12:

轻风热型→散癞加罐。

●R13:

重风热型→挑瘌加罐。

●R14:

重积热型→放血法。

为了后续编码的方便,在推理树的绘制过程中,首先,应以汉语拼音首字母的形式为每一条产生式规则的前提和结论进行编码,如“散癞法”可以编码为“SLF”。

其次,对于单前提的规则,在相应的推理树弧上应标出其相应的规则编号,而对于具有两个或多个前提,且前提间具有“并且”关系的规则,则应在其相应的推理树弧之间使用带有规则编号的曲线来表示。

1)参考绘制的推理树,使用记事本编写麦粒肿诊断专家系统CLIPS程序。

系统运行时,首先对所有的症状进行提问,收集“yes”或“no”的回答;然后,根据提出的产生式推理规则进行正向推理,如果能够推出治疗方法,则显示治疗方法,并提示是继续开始新一轮的推理还是退出程序;如果不能推出治疗方法,则直接提示是继续开始新一轮的推理还是推出程序。

2)以批处理方式运行麦粒肿诊断专家系统。

3)编写麦粒肿诊断专家系统开发实验报告书。

具体格式参考附录A。

实验步骤

本实验包括以下五个具体步骤,分别是:

学习专家系统的开发过程、绘制麦粒肿推理树、编写麦粒肿诊断专家系统CLIPS程序、以批处理方式运行麦粒肿诊断专家系统,以及编写麦粒肿诊断专家系统开发实验报告。

1学习专家系统的开发过程

专家系统一般是由专家和知识工程师共同配合研制而成的。

专家可以不懂计算机,但他一定是某个实际领域经验丰富的人,而知识工程师则是既懂计算机和专家系统原理,同时又具有编程专家系统能力的人。

专家系统的开发一般遵循如图2-1所示的过程:

首先,在知识工程师的引导和启发下,专家提供解决实际领域中问题的基本知识和经验;其次,知识工程师根据对专家知识及专家系统的理解设计知识库、推理机等模块;最后,知识工程师利用知识工程语言编制知识库、推理机等模块程序,并将模块程序集成为专家系统。

 

同2-1专家系统开发过程

2绘制麦粒肿诊断推理树

根据上述的专家系统开发过程,由于进行麦粒肿诊断的产生式规则已经在实验要求2)中给出,而根据第5章实验4对专家系统开发工具的结构和特点,以及CLIPS的介绍可知,针对产生式规则的知识表示,相应的正向推理机和解释机制也已经在CLIPS中预先做好。

因此,利用CLIPS开发麦粒肿诊断专家系统的主要工作就只剩下编写代码,将实验要求2)中给出的产生式规则放入规则库(知识库),最终建立麦粒肿诊断专家系统。

为了方便对麦粒肿诊断专家系统的编码,建议首先根据已知的产生式规则绘制出相应的推理树。

如果把规则库(知识库)中所包含的总目标(某些规则的推论)作为根节点,按规则的前提和结论展开形成树的形式,这样形成的树就被称为推理树或知识树,它把规则库中的所有规则都连接起来。

根据上述对推理树的定义,以及在实验要求2)中给出的14条麦粒肿诊断产生式规则,首先,以治疗麦粒肿的五种具体方法(散瘌法、散癞加罐、挑瘌加罐、放血法和外敷药物)作为根节点。

然后,将所有规则的其他前提和结论作为其他节点,规则作为连接结点间的弧,按规则的前提和结论展开,就可以形成如图2-2所示的麦粒肿诊断推断树。

图2-2麦粒肿诊断推理树

需要说明的是:

在图2-2的推理树绘制过程中,为了后续编码的方便,首先,以汉语拼音首字母的形式为每一条产生式规则的前提和结论进行了编码,规则的前提和结论于编码的对应关系如表2-1所示。

表2-1规则的前提和结论与编码的对应关系

规则的前提/结论

编码

规则的前提/结论

编码

毛囊皮根微红肿

MNPGWHZ

鼻塞流涕

BSLT

舌苔薄黄

STBH

胃纳差

WNCH

眼见局部明显红肿

YJJBMXHZ

眼见局部红肿

YJJBHZ

顶尖有脓点

DJYND

脓点破溃

NDPK

轻型

QX

外感风热

WGFR

胃肠积热

WCJR

重型

ZX

晚期

WQ

轻风热性

QFRX

重风热型

ZFRX

重积热型

ZJRX

散瘌法

SLF

外敷药物

WFYW

散癞加罐

SLJC

挑瘌加罐

TLJG

放血法

FXF

其次,对于但前提的规则,在相应的推理树弧上都标出了其相应的规则编号,比如,在“SLF”和“QX”之间的弧上标出了“R10”,而对于具有两个前提,且前提间具有“并且”关系的规则,则在其相应的推理树弧之间使用带有规则编号的曲线来表示,比如,在分别连接“QFRX”与“QX”,以及“QFRX”与“WGFR”的两条弧之间使用了标有“R7”的曲线。

3编写麦粒肿诊断专家系统CLIPS程序

由于CLIPS的当前版本还不能正确地处理中文,而在编写代码的过程中,使用中文注释可以有效地提高代码的可读性,因此,本节在编写麦粒肿诊断专家系统代码时没有直接使用CLIPS提供的编辑环境,而是借助了windows操作系统自带的记事本(notpad)应用程序,使用记事本编写麦粒肿诊断专家系统代码的具体步骤如下。

单击操作系统桌面左下方的“开始”—“所有程序”—“附件”—“记事本”选项,启动记事本程序。

单击记事本程序菜单栏上的“文件”—“保存”选项,在弹出的“另存为”对话框文件名右侧的下拉框中输入“mlzzdzjxt.clp”,更换存储路径为“c:

\jczcyzjxt\zjxt”,修改“保存类型”下拉框为“所有文件”,然后,单击“保存”按钮,保存文件。

;*******************************

;**麦粒肿诊断专家系统**

;*******************************

;********************************

;ruleinit:

;初始化程序

;********************************

(defruleinit

(declare(salience9980))

?

x<-(initial-fact)

=>

(retract?

x)

(assert(start)))

;****************************

;ruleend:

;结束程序,退出CLIPS

;****************************

(defruleend

(declare(salience9200))

?

w<-(stop)

=>

(exit))

;****************************

;ruleckMNPGWHZ:

;进行程序描述,提问毛囊皮根微红肿

;****************************

(defruleckMNPGWH

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2