490 likes | 614 Views
专家系统开发工具 OKPS. 史忠植 肖春艳 胡斌 谭宁 中国科学院计算所 智能信息处理重点实验室. 系统的各功能模块. 获取诊断知识 编写方法脚本 在推理机中调 入故障对象 诊断推理 结论 系统学习. 系统的总体结构. 系统中的诊断知识库 系统中的诊断推理机 推理控制语言 ICL 系统中的学习模块 远程设备诊断. 诊断知识库的主要内容. 知识表示 知识获取 知识的管理和维护. 诊断知识库 ---- 知识表示. 知识表示的定义 : 用机器表示知识的可行的、有效的、通用的原则和方法 知识的分类 : 事实知识
E N D
专家系统开发工具OKPS 史忠植 肖春艳 胡斌 谭宁 中国科学院计算所 智能信息处理重点实验室
系统的各功能模块 获取诊断知识 编写方法脚本 在推理机中调 入故障对象 诊断推理 结论 系统学习
系统的总体结构 • 系统中的诊断知识库 • 系统中的诊断推理机 • 推理控制语言ICL • 系统中的学习模块 • 远程设备诊断
诊断知识库的主要内容 • 知识表示 • 知识获取 • 知识的管理和维护
诊断知识库 ---- 知识表示 • 知识表示的定义: 用机器表示知识的可行的、有效的、通用的原则和方法 • 知识的分类: • 事实知识 • 规则知识 • 控制知识 • 元知识
诊断知识库 ---- 知识表示 AI中常用的知识表示法 • 逻辑表示 • 产生式表示法 • 语义网络 • 框架理论 • 面向对象的知识表示 • 状态空间 • 过程表示法
混合表示方法的适宜性 • 高度模块化 • 面向对象结构 • 符合认知模式 • 推理方法灵活 • 易于知识的维护
知识对象的结构 • Class(属性类) • Slot(槽) • Facet(侧面)
诊断知识库的结构 • 获取和管理工具 • ODBC接口 • 关系型数据库 • 知识对象表
诊断知识库 • 知识库由多个子知识库组成 • 每个子知识库是一棵知识树 • 知识对象通过对象类之间的语义联系和约束关系,被组织成知识树 • 知识对象的逻辑结构由类(Class)、槽(Slot)、侧面(Facet)组成 ,分别对应数据库中的三个表:对象表(Class Base)、属性表(Slot Base)和方法表(Facet Base) • 定义自身属性和行为的方法来表达知识对象属性结构、相关领域知识、操作过程及知识使用方法
诊断知识库的获取和管理工具 • 可视化的知识获取 • 所见即所得 • 方便添加、删除和修改诊断知识,浏览各种对象和属性等管理维护工作 • 关系数据库和通用接口的选择有利于系统的移植和分布式知识库的实现
知识库的内存访问策略 对象树导航技术 • 对象类的双向链表存储 • 建立知识对象索引表,存放知识对象的的属性起始记录指针(记录号)和属性总数 • 在内存中只对当前结点推理,对修改过的属性槽和侧面更新 • 从知识对象索引表中得到下一结点的属性槽在槽库中的首记录指针,将其所有槽和侧面调入内存继续 加快数据交换速度,节省内存空间,提高推理机的效率。
系统的总体结构 • 系统中的诊断知识库 • 系统中的诊断推理机 • 推理控制语言ICL • 系统中的学习模块 • 远程设备诊断
系统中的推理机 • 推理机是指基于知识的推理的计算机实现,包括推理与控制两方面 • 在推理过程中解释和执行用某种语言表示的一系列推理规则 • 面向对象知识表达的诊断推理过程是一个面向知识库系统的,基于假设产生--假设证实机制的,由高层到底层逐步求精的递推过程
推理机的系统结构 • 推理控制 • 规则解释 • 控制黑板 • 知识库接口 • 当前结点缓存 • 用户接口
面向对象的诊断推理 • 消息传递推理 • 继承推理 • 方法推理 • 方法是一种属性 • 方法操作知识对象中的数据和处理消息 • 可以调用,不能修改
面向对象的诊断推理 为增加推理灵活性,适应不同的推理控制,每个结点的对象都有三个特殊的方法: • 先序(Preorder)方法 • 中序(Inorder)方法 • 后序(Postorder)方法 在推理过程中是按照不同的次序执行
推理机的搜索策略 • 盲目搜索方法 • 深度优先 • 广度优先 • 有限深度优先 • 随机深度优先 • 启发式的搜索方法 • 爬山法 • 最近邻居搜索
推理机的搜索策略 单步控制的DFS实例: 搜索结果: 结点1: 先序方法 结点6: 先序方法 结点2: 先序方法 …… 结点3: 先序方法 结点3: 后序方法结点9: 先序方法 结点2: 中序方法 …… 结点4: 先序方法 结点4: 后序方法结点1: 后序方法 结点2: 中序方法 结点5: 先序方法 结点5: 后序方法 结点2: 后序方法 结点1: 中序方法
系统的总体结构 • 系统中的诊断知识库 • 系统中的诊断推理机 • 推理控制语言ICL • 系统中的学习模块 • 远程设备诊断
推理控制语言ICL • 描述知识对象的方法或监控的过程式的语言 • 基本上是C语言的一个子集 • 通过一个ICL语言编译器将源代码编译成二进制代码后被执行
推理控制语言ICL ICL工作流程 • 词法分析器 • 语法分析器
推理控制语言ICL ICL 函数实现的功能包括 • 控制台输入/输出 • 数据类型转换 • 图表/图象演示 • 黑板存取 • 文件操作 • 数据库存取 • 网络通信 • 推理控制 • 知识库存取
系统的总体结构 • 系统中的诊断知识库 • 系统中的诊断推理机 • 推理控制语言ICL • 系统中的学习模块 • 远程设备诊断
系统中的自学习模块 • 智能水平的高低在于系统拥有知识的数量和质量 • 传统的、通过知识工程师获取知识的方法不能完全满足需求 • 自动获取知识成为的新的研究目标 • 智能故障诊断与机器学习方法结合
诊断系统中学习策略 • 机械学习 诊断对象的结构、功能、运行约束条件 • 讲授学习 领域专家的经验知识转 化为系统知识 • 归纳学习 面向诊断对象、出现新 故障则用独立学习模块 获取新知识
诊断系统中学习流程 • 采集信息,进行诊断推理。 • 发现新故障且求解成功后, 通过学习机制获取新知识 • 已存在的故障,对模型作相 应的修改 • 求解失败,将问题及求解 状况存入问题库
系统的总体结构 • 系统中的诊断知识库 • 系统中的诊断推理机 • 推理控制语言ICL • 系统中的学习模块 • 远程设备诊断
远程设备诊断 • 传统系统中,设备之间相互独立,扩充性、灵活性、通用性差,不能有效地进行信息交换和资源共享 • 异地设备之间联系日益密切 • 网络技术和Internet技术的发展对远程设备的诊断成为可能
远程设备诊断 • Server诊断部件 • Client 用户使用 • 输入输出接口 • 提供知识 • 共享资源 • 设备参数 • 征兆事实 • 获取的各类知识
应用系统的实现及相关技术 • 设备故障诊断系统环境 • 故障诊断系统的实现 • 系统的嵌入 • 系统的图形显示接口 • 诊断推理的控制
设备故障诊断系统硬件环境 • 主测试机 • 外围设备 • 设备上部件
设备故障诊断系统软件环境 • 独立应用 • 被自动化测试系统调用
应用系统的实现及相关技术 • 设备故障诊断系统环境 • 故障诊断系统的实现 • 系统的嵌入 • 系统的图形显示接口 • 诊断推理的控制
知识获取和管理系统 实现的功能如下
知识获取和管理系统 实现的界面
面向对象推理机 实现的功能如下
面向对象推理机 实现的界面
应用系统的实现及相关技术 • 设备故障诊断系统环境 • 故障诊断系统的实现 • 系统的嵌入 • 系统的图形显示接口 • 诊断推理的控制
系统的嵌入部分 • 诊断系统嵌入到自动化测试环境中 以函数或模块的形式 • 独立的诊断系统 对设备操作嵌入到诊断系统中
系统的嵌入部分的实现 • 设置设备状态条 • 系统操作菜单 • 直接调用 • 间接调用 • ICL中对设备的访问函数
应用系统的实现及相关技术 • 设备故障诊断系统环境 • 故障诊断系统的实现 • 系统的嵌入 • 系统的图形显示接口 • 诊断推理的控制
系统的图形显示接口 通过构造ActiveX控件Pchart和Pimage,实现对图形的显示 显示的数据源可以是 • 一定格式的数据文件 • 数据库中的数据
系统的图形显示接口 • 对系统在诊断过程中得到的数据作直观的图形显示,进行波形比较、分析和预测 • 对故障设备部件显示 • 使求解过程形象、直观
应用系统的实现及相关技术 • 设备故障诊断系统环境 • 故障诊断系统的实现 • 系统的嵌入 • 系统的图形显示接口 • 诊断推理的控制
诊断中的推理控制 在对知识对象树搜索时,通过添加一些推理控制标,从指定结点开始推理,增加推理的灵活控制: • ICL中的控制函数 • 知识树中结点的附加属性
ICL推理控制函数 Setflag(指定的结点) Getflat() 附加属性 指定结点路径设置(Setprop) 获取指定结点的附加 属性(Getprop) 诊断中的推理控制
系统的特点 • 将专家系统应用于设备的智能故障诊断 • 灵活的推理控制策略 • 提供功能强大、开放式的推理控制语言(ICL) • 对诊断数据、结果的图形图表显示 • 通过多种学习模块获取知识,弥补“瓶颈”问题 • 在诊断过程中对设备实时控制
展望 • 神经网络与专家系统结合 • 多故障同时性诊断 • 分布式的远程诊断