您好、欢迎来到现金彩票网!
当前位置:ds视讯 > 非单调推理 >

基于故障树的专家系统推理机设计

发布时间:2019-06-27 17:16 来源:未知 编辑:admin

  基于故障树的专家系统推理机设计于故障树的专家系统推理机设计 于故障树的专家系统推理机设计 于故障树的专家系统推理机设计 ,李华旺李华旺 李华旺 李华旺 1,2 上海微小卫星工程中心,上海200050;2. 中国科学院上海微系统与信息技术研究所,上海 200050) :针对微小卫星强实时性和资源受限的特点,提出一种基于故障树的专家系统推理机。根据广度优先搜索设计正向推理算法,根据深度优先搜索设计逆向推理算法,2 种算法在时间和空间上均满足线性复杂度。实验结果表明,该推理机可满足微小卫星对实时性的要求, 同时也能节省星上资源。 关键 关键 关键 关键词 :推理机;专家系统;故障树;故障诊断;图算法;微小卫星Design InferenceEngine ExpertSystem Based FaultTree CHEN Zheng 1,2 LIHua-wang 1,2 CHANGLiang 1,2 ShanghaiEngineering Center Micro-satellite,Shanghai 200050, China; ShanghaiInstitute InformationTechnology, Chinese Academy Sciences,Shanghai 200050, China) rigorousrequirements real-timeperformance conditionalresource micro-satellite,inference engine expertsystem designedbased faulttree. designsforward direction inference algorithm based breadth-firstsearch, reversedirection inference algorithm based depth-firstsearch search. Time complexity spacecomplexity twoalgorithms bothlinear. Experimental result shows enginecan onlyimprove inferenceengine, alsosave 【Keywords】 】inferenceengine; expert system; fault tree; fault diagnosis; graph algorithms; micro-satellite DOI: 10.3969/j.issn.1000-3428.2012.11.070 ComputerEngineering 第38 Vol.38No.11 2012 June2012 工程应用技术工程应用技术 工程应用技术 工程应用技术与实现 与实现 与实现 与实现 文章编号文章编号 文章编号 文章编号: —03文献标识码 文献标识码 文献标识码 文献标识码: 中图分类号中图分类号 中图分类号 中图分类号: 概述概述 概述 概述 高可靠性是现代微小卫星的一个显著特点,这要求微小 卫星必须具备的能力之一就是自主故障诊断 [1-3] 。基于专家系 统的故障诊断技术近年来在航天领域得到广泛的应用,作为 专家系统核心组成之一的推理机,其性能直接影响到专家系 统的结果和性能 。目前国内关于专家系统推理机的研究并未对时间和空间进行综合的考虑 [3-5] ,而实时性和资源有限性 是微小卫星显著的特点,因此,本文综合考虑微小卫星专家 系统推理机的时间和空间约束,在基于故障树的专家系统中, 结合图搜索的相关理论,提出基于广度优先搜索的正向推理 算法和基于深度优先搜索的逆向推理算法。 专家系统推理原理分析专家系统推理原理分析 专家系统推理原理分析 专家系统推理原理分析 专家系统的推理方式和分类方法较多 。按推理时所用的知识确定,推理可分为确定性推理和不确定性推理;按推 理过程中所推出的结论是否越来越接近最终目标来分类,可 分为单调推理和非单调推理;按推理的方向来分类,又可以 分为正向推理和逆向推理。本文即按推理方向分类方法对推 理机进行研究。 2.1 正向推理 正向推理 正向推理 正向推理 正向推理又称为数据驱动或前件推理,其基本原理是: 从问题已有的事实出发,正向使用规则,当规则的条件部分 与已有的事实匹配时,就把该规则作为可用规则放入候选规 则队列中,然后通过冲突消解,在候选队列中选择一条规则 作为启动规则进行下一步推理。重复该过程,直到再无可用 规则或求得所要求的结果为止。图 为专家系统正向推理的流程。 专家系统正向推理流程专家系统正向推理流程 专家系统正向推理流程 专家系统正向推理流程 2.2 逆向推理 逆向推理 逆向推理 逆向推理 逆向推理又称为目标驱动或后件推理,其推理过程与正 向推理正相反,首先提出某个假设,然后寻找支持该假设的 证据,若所需的证据都能找到,说明假设是正确的,否则说 明假设不成立,此时需另作假设,直到找到支持假设成立的 证据。图 为专家系统逆向推理的流程。基金项目 基金项目 基金项目 基金项目: :上海市科委专项基金资助项目(10DZ2291700)作者简介 作者简介 作者简介 作者简介: 正(1986-),男,硕士研究生,主研方向:卫星自主健康管理,星载软件设计;李华旺,研究员、博士;常 究员、硕士收稿日期 收稿日期 收稿日期 收稿日期: :2011-08-22E-mail: :第38 正,李华旺,常亮:基于故障树的专家系统推理机设计 扫描知识库,形成与假设 匹配的可用规则集S 从S中选出可用规则R 将R的条件作为新假设, 找到匹配规则集S’ S’是否为空 找出结论中包含规则R条件的规则 以这些规则的前提之一 作为新假设 提出假设 输出结论 专家系统逆向推理流程专家系统逆向推理流程 专家系统逆向推理流程 专家系统逆向推理流程 2.3 正向推理与逆向推理的比较 正向推理与逆向推理的比较 正向推理与逆向推理的比较 正向推理与逆向推理的比较 正向推理与逆向推理比较正向推理与逆向推理比较 正向推理与逆向推理比较 正向推理与逆向推理比较 特点 正向推理 逆向推理 演绎推理 事实目标 目标事实 初始条件 初始事实集 目标和初始事实集 结束条件 包含所有目标节点 以满足条件的目标事实节点 作为终节点 优点 直观,允许用户提供事实信息 不必使用与目标无关的规 则,且利于向用户提供解释 缺点 推理目标不明确,求解问题要执 行许多与解无关的操作,推理时 可能发生组合爆炸 高度依赖提出的初始假设 基于基于 基于 基于故障树 故障树 故障树 故障树的推理机设计 的推理机设计 的推理机设计 的推理机设计 故障树鲜明的层级结构以及其易维护、易拓展的特性使 得基于故障树的专家系统非常适合于结构复杂、故障类型繁 多的微小卫星故障诊断领域 [6-7] 3.1故障树的存储 故障树的存储 故障树的存储 故障树的存储 故障树主要包括事件(event)和逻辑门(logic_gate)2 分,事件又可分为顶事件(topevent)、中间事件(middle event) 和基本事件(base event)。故障树表示的知识在逻辑上形成一 个复杂的广义有向图 E),其中,V为顶点,包括事件 和逻辑门 为有向弧。故障树的结构存储形式直接影响到推理效率和搜索速度。有向图通常采用邻接表表示法或 者邻接矩阵表示法 。考虑到需要动态的在图中增加、删除节点,并考虑到整个图需要进行正向和逆向的推理,本文使 用邻接表表示法。节点的结构如下(使用 C/C++描述): typedef enum NodeType{ EVENT, LOGIC //表逻辑门typedef enum Color{ WHITE, GRAY, BLACK //WHITE:节点未访问,GRAY:访问过但不存在故障,BLACK://存在故障 typedef enum LogicType{AND,OR}; 表示与门,OR表示或门 typedef struct vector

  previous; //前驱列表,若 previous //为空,则表示该节点为 base event vector

  post; //后继列表,若 post //示该节点为top event int num; //节点编号,给前驱、后驱提供索引 NodeType nodetype; //节点类型 union LogicTypelogictype; //逻辑门类型 char *descrip; //对事件节点的描述 }node_description; Color color; //用于表示节点访问情况 }TreeNode; 从该类的定义可以看出,事件节点的前驱与后继若存在, 则必为逻辑节点;同理逻辑节点的前驱与后继也必为事件节 点。整个故障树的信息只需要储存在一个 vector 内即可,即: vector

  FaultTree; 3.2 广度优先搜索在正向推理机中的应用 广度优先搜索在正向推理机中的应用 广度优先搜索在正向推理机中的应用 广度优先搜索在正向推理机中的应用 正向推理的思想是从基本事件出发,一层一层向顶事件 扫描,最终得出顶事件是否发生的结论。而图的广度优先算 法正是借助于队列,一层一层往下扫描 。因此,正向推理机借用图算法的广度优先算法进行推理。算法的输入为初始 故障基本事件集合 P_SET 和故障树,定义队列 OPEN 表示待 处理节点列表,输出为判定故障树的顶事件是否发生,算法 的具体代码如下: Forward_Reasoning(P_SET, FaultTree) OPEN P_SET 初始化 E_Flag length[P_SET]do E_Flag[P_SET[i].num] BLACK while OPEN doE_temp OPEN队首元素 E_temp为顶事件 length[E_temp.post]do L_temp E_temp.post[i] CHECK-FIRE(L_temp)=true BLACKOPEN L_temp.post OPEN中去除 发现系统故障else 未发现系统故障,仅存在部件级故障 通过分析可知,该算法的时间复杂性为 O(V+E),空间复 O(V),其中,V为故障树顶点;E 3.3深度优先搜索在逆向推理机中的应用 深度优先搜索在逆向推理机中的应用 深度优先搜索在逆向推理机中的应用 深度优先搜索在逆向推理机中的应用 逆向推理的主要思想是从顶事件出发,以此检查每一条 可能导致顶事件发生的路径,最终确定导致顶事件发生的基 本事件。图算法中的深度优先搜索正是利用栈,每次搜索一 条支路,然后通过栈操作重新选择另外一条支路,直到寻找 到搜寻的结果 。因此,逆向推理机借助图算法的深度优先搜索算法进行推理。算法包括 个部分:(1)主函数,输入为检测到到的故障节点 内的元素为引起故障节点p的故障基本事件集合。 (2)深度搜索故障树函数,输入为需要检测的节点 始故障基本事件集合P_SET,输出为检测的节点的结果。 算法的具体代码如下: Backward_Reasoning(p, FaultTree) 初始化所有节点的 Color WHITE time TreeDFS(p,P_SET) Color TreeDFS(p, P_SET) 230 WHITE//该节点已经访问过or EVENT//该事件为基本事件 P_SETp.color BLACK time time+1 push(S,{p.num,time}) return BLACK else p.color GRAY return GRAY EVENT//该事件为中间事件或顶事件 TreeDFS(t,P_SET) GRAYp.color GRAY return GRAY else p.color BLACK return BLACK else tmptime time//该节点为逻辑节点 eachTreeNode TreeDFS(e,P_SET) GRAYwhile top(S).time tmptime pop(S) p.color GRAY return GRAY p.color BLACK return BLACK else eachTreeNode TreeDFS(e,P_SET) BLACKp.color BLACK return BLACK while top(S).time tmptime pop(S) p.color GRAY return GRAY 通过分析可知,该算法的时间复杂性为 O(V+E),空间复 算法验证算法验证 算法验证 算法验证 为某微小卫星姿控系统的故障树,其中,深色的代表初始故障基本事件集合 P_SET={1, 9},顶事件故障在逆向推理中使用。 某卫星姿控系统故障树某卫星姿控系统故障树 某卫星姿控系统故障树 某卫星姿控系统故障树 个白色点表示推理过程中使用的中间节点。(a)正向推理机 (b)逆向推理机 推理机推理机 推理机 推理机的 的推理推理 推理 推理过程 过程 过程 过程 VS2005中对推理机进行仿真,结果如图 所示。可以看出,正向推理与逆向推理算法都符合设计要求。 推理机推理机 推理机 推理机的 的仿真结果仿真结果 仿真结果 仿真结果

http://mj-sports.net/feidandiaotuili/409.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有