第九章 专家系统开发与实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据以下产生式规则开发麦粒肿诊断专家系统:
R1:毛囊皮根微红肿→轻型 R2:鼻塞流涕→外感风热 R3:舌苔薄黄∧胃纳差→胃肠积热 R4:眼睑局部明显红肿→重型 R5:眼睑局部红肿∧顶尖有脓点→重型 R6:脓点破溃→晚期 R7:轻型∧外感风热→轻风热型 R8:重型∧外感风热→重风热型
提供一套用于开发专家系统的语言
常用专家系统开发工具
M.1,VP-EXPERT,CLIPS等
北京交通大学经济管理学院信息管理系 11
2016/9/13
专家系统开发工具CLIPS(1)
CLIPS是由美国国家航天局约翰逊空间中心人 工智能部在1985年推出的专家系统开发工具, 其特点包括:
专家系统开发技术(1)
编程语言
基本方法 帮助和加快知识获取
知识获取工具
专家系统开发工具
专门用于开发专家系统的软件
2016/9/13
北京交通大学经济管理学院信息管理系
6
专家系统开发技术(2)
编程语言
LISP(LISt Processing,1960)和PROLOG (PROgramming in LOGic 1972) 优点:专为人工智能设计,具有搜索和匹配, 回溯,以及解释说明功能 缺点:数值计算和图形功能相对较弱
R5
眼睑局 部红肿 顶尖有 脓点 舌苔薄 黄
R3
胃纳差
R6 脓点破 溃
麦粒肿诊断专家系统推理树
2016/9/13
北京交通大学经济管理学院信息管理系
25
麦粒肿诊断专家系统(4)
根据给出的规则进行正向推理,推出治疗方法 ,程序结束;没有推出治疗方法,提示没有相 应规则或症状输入有误,要求选择“重新输入 症状”或者“退出系统” 使用专家系统开发工具CLIPS开发系统,系统 能够演示运行 使用汉语拼音的第一个字母对事实和结论进行 编码,如“散癞法”编码为“SLF” 系统运行演示
北京交通大学经济管理学院信息管理系 20
2016/9/13
专家系统开发实例
炉灶维修专家系统 麦粒肿诊断专家系统
2016/9/13
北京交通大学经济管理学院信息管理系
21
炉灶维修专家系统
问题描述
Stove.clp
系统运行演示
2016/9/13
北京交通大学经济管理学院信息管理系
22
麦粒肿诊断专家系统(1)
2016/9/13
专家系统开发工具CLIPS(2)
CLIPS语言符号
知识表示的基本单位是字段
常量字段
字:以英文字母为首字符的一串字符,如word, father-of 字符串:以双引号开始和结束,其间可以有任意个字, 如:”word”,”father-of” 数:包括整型和实数型两种
形式为 ?name,name为变量名,用一个字表示
北京交通大学经济管理学院信息管理系 13
变量字段
2016/9/13
专家系统开发工具CLIPS(3)
事实
由配对的左、右括号括住的一个或多个字段 组成,如(cost 78 dollars),(name “John Doe”) 加入事实用assert命令,格式为:(assert <<<fact>>>),如(assert (emergency fire)) 显示事实用facts命令,格式为(facts) 撤消事实用retract命令,格式为(retract <<<fact-index>>>),如(retract 0)
北京交通大学经济管理学院信息管理系 26
2016/9/13
习题
简述专家系统的开发过程 简述专家系统的开发技术 简述专家系统开发工具的结构 简述专家系统开发工具的特点
2016/9/13
北京交通大学经济管理学院信息管理系
27
北京交通大学经济管理学院信息管理系 24
2016/9/13
麦粒肿诊断专家系统(3)
散癞法 散癞加 罐 R12 R10 轻风热 型 挑癞加 罐 R13 重风热 型 放血法 外敷药 物 R14 重积热 型 R11
R7
轻型 外感风 热 R2 鼻塞流 涕
R8
R9
胃肠积 热
重型
晚期
R1 毛囊皮 根微红 肿
R4 眼睑局 部明显 红肿
北京交通大学经济管理学院信息管理系 8
基于知识库修改的知识获取工具
2016/9/13
专家系统开发技术(4)
专家系统开发工具
结构
知识编辑、编译 开 发 人 员
知识库查询、维护
知识库(空)
解释机制
数据库查询、维护 开发环境
事实库(空)
推理机
人 机 交 互
用 户
运行环境
2016/9/13 北京交通大学经济管理学院信息管理系 9
北京交通大学经济管理学院信息管理系 19
2016/9/13
专家系统开发工具CLIPS(19)
其它常用命令
(load):从文件载入规则 (reset):事实库复位 (run):启动规则的执行 (clear):清除知识和事实 (halt):暂停规则执行 (step):一步步执行 (exit):退出CLIPS
2
专家系统开发过程(1)
专家系统由专家和知识工程师共同研制 而成
专家是实际领域经验丰富的人,可以不懂 计算机 知识工程师是懂计算机和专家系统原理, 并具有编程能力的人
2016/9/13
北京交通大学经济管理学院信息管理系
3
专家系统开发过程(2)
专 知识工 家 知识和经验 程师 设计推 理机等 模块
2016/9/13
北京交通大学经济管理学院信息管理系
18
专家系统开发工具CLIPS(18)
输入数据(read)
(defrule player-select (phase choose-player) => (printout t "who moves first (computer: c human:h)?") (assert(player-select =(read)))) 运行(assert(phase choose-player))
2016/9/13
引导和启发
设计知 识库
建立专 家系统
4
北京交通大学经济管理学院信息管理系
专家系统开发过程(3)
ห้องสมุดไป่ตู้
在知识工程师的引导和启发下,专家提供解 决实际问题的知识和经验(分析) 知识工程师根据对专家知识以及专家系统的 理解设计知识库、推理机等模块(设计) 知识工程师利用知识工程语言编制知识库、 推理机等模块程序,并将模块程序集成为专 家系统(实现)
(defrule grandfather (is-a-grandfather ?name) => (assert( is-a-man ?name))) 运行(assert(is-a-grandfather jack)) (defrule modify-grandfather-fact ?old-fact<-(is-a-grandfather jack) => (retract ?old-fact))
2016/9/13
北京交通大学经济管理学院信息管理系
17
专家系统开发工具CLIPS(17)
特权(salience)
设计规则的优先级别 取值从-10000到10000,未指定特权的规则默认为0 例如:
(defrule fire-second (declare (salience -30)) (priority) => (printout t "Print second" crlf)) (defrule fire-first (priority)=>(printout t "Print first" crlf)) 运行(assert(priority))
北京交通大学经济管理学院信息管理系 23
2016/9/13
麦粒肿诊断专家系统(2)
R9:重型∧胃肠积热→重积热型 R10:轻型→散瘌法 R11:晚期→外敷药物 R12:轻风热型→散瘌加罐 R13:重风热型→挑瘌加罐 R14:重积热型→放血法
根据规则画出推理树 首先对所有症状进行提问,收集“yes”或 “no”的回答
专家系统开发技术(6)
专家系统开发工具的特点
由开发环境和运行环境组成
开发环境用于建立知识库,事实库,并修改、查询知 识库和事实库 对指定知识表示形式的推理机和解释机制预先做好 运行环境的目的在于支持实际系统的运行 知识表示语言:完成外部知识到内部知识的转换 工具操作语言:使用工具中的开发环境,实现运行环 境中的功能
专家系统开发技术(5)
开发环境由知识编辑、编译模块,知识库查 询、维护模块,以及事实库查询、维护模块 组成 运行环境由推理机,解释机制,以及人机交 互模块组成 知识库和事实库都有一定的格式要求,知识 和事实由开发环境输入,给运行系统使用
2016/9/13
北京交通大学经济管理学院信息管理系
10
北京交通大学经济管理学院信息管理系 14
2016/9/13
专家系统开发工具CLIPS(4)
规则
定义规则用defrule命令,格式为:
(defrule <rule-name> [<optional comment>] <<patterns>> => <<actions>>)
如(defrule fire-emergency "An example rule"
可用于管理、工业、商业、文教等各种领域的专家 系统开发 适用于各种型号的计算机,从IBM PC及其兼容机到 VAX、HP、SUN、MACINTOSH直到CRAY 用C语言写成,运行速度快 具有不确定性推理能力 只支持产生式规则的正向推理 免费使用
北京交通大学经济管理学院信息管理系 12
2016/9/13
北京交通大学经济管理学院信息管理系
7
专家系统开发技术(3)
知识获取工具
基于知识编辑的知识获取工具
Microsoft Word CLIPS系统提供的编辑器,不但提供了知识编辑 功能,而且,通过应用程序的载入,可以修改专 家系统的知识库 数据开采程序不但能够自动获得知识,而且还可 以将所获得的知识加入到专家系统的知识库中
北京交通大学经济管理学院信息管理系 16
撤消事实,如:
2016/9/13
专家系统开发工具CLIPS(16)
字段通配符
单字段通配符?,如:
(defrule find-brown-haired-people (person ?name ? brown) => (printout t ?name " has brown hair" crlf)) 运行(assert(person John brown black)) (assert(person Jill blue blond)) (assert(person Jack green brown)) (assert(person Jane brown brown)) (assert(person Fred green red))
第九章 专家系统开发与实例
杜晖
2016/9/13
北京交通大学经济管理学院信息管理系
1
内容
专家系统开发过程 专家系统开发技术 专家系统开发工具CLIPS(C Language Integrated Production System) 专家系统开发实例 习题
2016/9/13
北京交通大学经济管理学院信息管理系
(emergency fire) => (assert (action activate-sprinkler-system)))
显示规则用rules命令,格式为(rules)
北京交通大学经济管理学院信息管理系 15
2016/9/13
专家系统开发工具CLIPS(15)
使用变量
在前提中约束一个值,然后断言结论中的约束变量, 如: