已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于规则的CLIPS专家系统语言,C Language Integrated Production System C语言集成产生式系统,CLIPS简介,1、基于规则的CLIPS 、面向对象的CLIPS 、面向过程的CLIPS,CLIPS分类,基于规则的CLIPS组成,、事实列表(fact list)包含推理所需要的数据 、知识库(knowledge base) 包含所有规则 、推理机(inference engine) 对运行进行总体控制,基于规则的CLIPS语言的特点,、多范例编程语言 、支持正向链规则,不支持反向链规则 、对于操作系统的不同命令的格式也不同,记号(用来描述将要学习到的各种命令和结构的语法)注:只输入在“”之中的字符,、符号和字符“(example)” 、表示可选项用“” 如(example 1) 可以表示为(example)或(example 1) 、”表示括号中的类容要被规定的值替换 如(example ) 可替换成(example 1)或 (example 3)或 (example -20) 、”*”表示语句可以被规定的值替换多次 如(example *) 表示可以被多个整数值替换 (example 2 4 8 -20)等 可以跟任意数目的整数或根本没有数据。 、“+”表示用一个或多个值来代替这个语句 如(example +) 可以被表示为(example *) 、”|”表示在多个选项中选择一项 如all|none|some 可以被替换成all或 nono或 some,标记(token):字符的组合,字段的类型(CLIPS 区分大小写) 、浮点型(float)、整形(integer)称为数字字段由三部分组成(符号、值、指数) 符号:+或-; 值:由一个或多个数字,小数点,字母;号或号之后再一个或多个 数字组成 、符号型(symbol):它由一个可打印的ASCII 字符开头,后接零个或多个字符,以 分界符结尾。 分界符由空格、TAB、回车、换行、“”、(、)、;、&、组成。 符号中不能包含分界符(小于号除外,它可以是符号的第一个字符) ?、$?也不能出现在符号字段中 3、字符串型(string):必须以双引号开始和结束(所以不能在字符串中直接输入双 引号,如果要输入引号,必须以“”),空格也做为字符串的一部分。 如:“single-tolen” “”single-token” “ single-token ” 4、外部地址:返回用户自定义函数的外部数据结构的地址(外部函数可用C或ADA写) 5、示例地址:用于与COOL连接的字段 6、示 例 名:用于与COOL连接的字段,CLIPS的基本命令,在打开CLIPS之后,显示CLIPS的提示符 一个由括号括住的符号被看做一个命令或一个函数的调用 CLIPS 在此方式下可以直接输入命令,称为顶层模式 CLIPS(EXIT) 退出CLIPS CLIPS(+ 3 4) 对加法函数的调用并 计算3+4的值,事实:一个信息块(chunk)被称为事实 事实的组成:由关系名(relation name)后跟零个或多个槽(slot)以及相关的值组成。 例如 (person (name “john Q. public”) (age 23) (eye-color blue) (hair-color black) ) 注意:槽的顺序是不要求的,括号相对应,关系名,槽名,槽name的值,对事实的操作 1、增加事实 (assert +) 注:CLIPS不接受一个事实的重复输入 如:在利用上面例题创建的person自定义模板插入一条事实,在顶层模式下 CLIPS(assert (person (name “John Q.public”) (age 23) (eye-color blue) (hair-color black) CLIPS(facts) 、删除事实 利用事实标识符从事实列表中撤消事实 (retract +) CLIPS(retract 0) 删除f-0的事实 CLIPS(restact 0 1) 删除f-0、f-1的事实 、修改事实 语法(modify +) CLIPS(modify 0 (age 24) 修改f-0的年龄为24 、复制事实 CLIPS(duplicate 2 (name “jack S.public”) 复制f-2的事实,并将名字更改为jack S.public 、监视命令 语法为(watch ) CLIPS(watch all) 对全部过程监视 CLIPS (unwatch all) 取消全部过程监视 CLIPS (watch facts) 对事实进行监视 CLIPS(unwatch facts) 取消对事实的监视,以文件形式输入事实方式:自定义事实结构(适合于在程序运行前已知是正确的事实) 语法:(deffacts *) 例如:利用前面已经定义的自定义事实模板 CLIPS(deffacts people “some people we know” (person (name “John Q.public”) (age 24) (eye-color blue) (hair-color black) (person (name “Jack S.public”) (age 23) (eye-color blue) (hair-color black) (person (name Jane Q.public) (age 36) (eye-color green) (hair-color red) CLIPS(reset) 用reset命令将事实增加到事实列表中,说明:任何以文件方式打开的clips文件,事实只有在reset以后才能被添加到事实列表中。,自定义事实名,规则,、规则的一般格式,(defrule * = *),保留关键字,规则名,注释,规则的模式也称为(LHS),箭头,行为列表,也称为(RHS),说明: 1、CLIPS试图使规则中的模式与事实列表中的事实相匹配,如果匹配则规则被激活并放入议程。规则的模式可以有多条,也可以无模式。无模式将在reset命令一开始就被激活并放入议程 2、一个规则相当于一个ifthen结构。箭头之前为if结构,箭头之后为then结构。 3、行为列表可以有多条,也可以没有。如果没有行为,则CLIPS在触发之后不会有任何的行为发生。 4、每条规则的全部模式与事实相匹配,规则即变为激活状态。,规则的产生,伪代码: if the emergency is a fire Then the response is to activate the sprinkler system,定义事实 1、 (deftemplate emergency (slot type))定义模式事实 2、(deftmplate response (slot action)) 定义行为事实,写出规则 (defrule fire-emergency “An example rule” (emergency (type fire) = (assert (response (action activate-sprinkler-system),多模式规则,在真实世界中,任何一个启发式的应用都过于复杂,以至于不能用一种简单模式来表达规则.例如:火灾的种类不一样,灭火的方式也就不同.利用下面的规则来理解多模式规则.,(deftemplate extinguisher-system (slot type) (slot status) (defrule class-a-fire-emergency (emergency (type class-a-fire) (extinguisher-system (type water-sprinkler) = (printout t “activate water-sprinkler”) (status off) (defrule class-b-emergency (emergency (type class-b-fire) (extinguisher-system (type carbon-dioxide)(status off) = (printout t “use carbon dioxide extinguisher”crlf),第一种模式确定发生了火灾,并确定大火是A类还是B类; 第二种模式确定是否已经打开合适的灭火装置,复合规则 实际上专家系统是由成百上千条规则组成的.我们将上面的规则扩展一下,如下所示:,(defrule fire-emergency (emergency (type fire) = printout t “activate the sprinkler system”) (defrule flood-emergency (emergency (type flood) = (printout t “shut down electrical equipment crlf”),专家系统的执行方法,CLIPS(clear) 清除驻留在内存中的所有自定义模板和事实 CLIPS(reset) 启动或重新启动专家系统的主要方法,将激活的规则置于议程之中,等待run来执行该程序。(注意议程和运行的关系) CLIPS(run ) 运行程序,limit为激活的规则个数 说明:CLIPS的匹配过程总是在不断的进行的,无论是否产生新的事实,只要有新的规则被匹配激活,程序就要不断的匹配。 CLIPS(agenda) 显示当前议程中的规则数目 说明:一旦规则被触发,它就会被同一事实不断的触发,直到又执行另一个专家系统或退出专家系统为止。但现实生活中火灾总要被扑灭。那么只有撤消引发规则被触发的事实才能够停止规则被触发。 CLIPS(refresh fire-emergency) 检查该规则是否满足条件决定触发该规则。一旦火灾的事实又被匹配则再次引发规则。 CLIPS(watch rules) 监视规则是否被触发 CLIPS(watch activations) 监视被激活的事实(如喷水系统),其它常用命令,CLIPS(list-defrules) 显示当前所有规则清单 CLIPS(list-deftemplates) 显示当前所有的自定义模板列表 CLIPS (list-deffacts) 显示当前所有的自定义事实列表 CLIPS(ppdefrule ) 优美打印自定义规则 CLIPS(ppdeftemplate ) 优美打印自定义模板 CLIPS(ppdeffacts ) 优美打印自定义事实 CLIPS(load d:filefile.clp) 调入结构文件(“”为转义字符,所以要有二个,才能构成一个) CLIPS(save d:filefile.clp) 保存结构文件 CLIPS; 注释语句在一个分号之中,以回车符结尾,小结,事实是CLIPS的第一个组成部分,它由字段组成. 规则是CLIPS系统的第二个组成部分,分为RHS和LHS.可以看成是if和then的结合,规则有多个模式和行为. 推理机是CLIPS的第三个组成部分,其模式与事实相匹配的规则会产生一个激活,该激活被置于议程中.反射机制使规则不会频繁地被旧事实激活.,CLIPS的第一部分到这里就介绍完成了,我们已经解释了模式与事实的简单模式匹配问题. 希望以上这些知识能够给大家理解人工智能的专家系统有一定的帮助,毕竟这是一门新的语言.它与平时大家接触的过程语言和面向对象的语言有一定的差别.接受它有一个思维的转变过程.但通过练习来理解它是必要的.下面提供有一部分习题.大家可以通过平时多上机掌握它.下一次将介绍对事实匹配和控制的更强大功能,以及CLIPS的函数和基本算法.,第一部分习题,1、用自己定义事实语句把下列句子转换为事实.对于每组相关的事实,定义一个自定义模板,以描述一种更一般的关系 The father of John is Tom The Mother of John is Susan The Parents of John are Tom and Susan Ton is a father Susan is a mother John is a son Tom is a male Susan is a female John is a male 2、为包含一个集合信息的事实定义一个自定义模板。包括该集合的名称或描述信息、集合中的元素列表和它是否为另一集合的子集。用你的自定义模板格式把下列集合表示为事实。 A=1,2,3 B=1,2,3,red,green C=red,green,yellow,blue,3、根据主要的燃烧材料,可把火灾归类。把以下的信息转换为规则,以决定火灾的类型。 A类火灾包括如纸、木和布等普通易燃物。 B类火灾包括易燃液体(如石油、石油气),油脂和类似的物质。 C类火灾包括使用电的电器。 D类火灾包括易燃的金属,如镁、钠、钾等 用来灭火的灭火器类型取决于火的类型。把下面的信息转换为规则 A类火灾应该使用吸热或阻燃灭火器灭火,如水或水类液体和无水化学品 B类火灾应该通过隔绝空气、抑制易燃蒸汽的释放或终止易燃物的连锁反应来灭火。灭火器包括无水化学品、二氧化碳、泡沫和含溴三氟甲烷 C类火灾应该使用防短路的非导电媒质灭火。如果可能的话,应切断电源。灭火器包括无水化学品、二氧化碳和含溴三氟甲烷 D类火灾应该使用焖熄法和不与燃烧金属发生反应的吸热化学品灭火。这些化学品包括:三甲氧硼化物和涂有石墨的焦碳。 描述规则中所有的事实。程序应该通过声明燃烧材料的类型作为事实来得到输入。输出结果应该显示可以使用何种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 翰森制药-市场前景及投资研究报告-砥砺前行创新收获期
- 生猪标准化养殖流程作业标准
- 客户反馈意见收集处理规范
- 甘蓝嫁接育苗田间管理规范
- 劳动防护用品配备发放及使用标准
- 水污染防治设施运行管理规定
- 大马力拖拉机故障检修手册
- 婴幼儿常见皮疹护理操作方案
- 肩颈理疗标准化服务流程
- 棉花枯黄萎病抗病品种选用方案
- 2025年《农产品质量安全法》试题及答案
- 《火力发电企业电力监控系统商用密码应用技术要求》
- 2025年石家庄市市属国有企业招聘笔试考试试题(含答案)
- 工厂绿化养护管理办法
- 肺占位待诊-教学查房
- JG/T 194-2006住宅厨房、卫生间排气道
- 数学课程标准读书分享
- 上海市2025年中考语文一模试卷A卷(含答案)
- 用友软件合同协议
- 怀化市靖州县招聘事业单位工作人员笔试真题2024
- 【七年级下册地理中图版】专题11 四川省 【知识梳理】
评论
0/150
提交评论