DUCG 在核电站故障诊断中的推理机设计与实现

2014-03-20 08:23邓宏琛董春玲
原子能科学技术 2014年1期
关键词:推理机给水管化简

邓宏琛,张 勤,,,赵 越,董春玲

(1.清华大学 工程物理系,北京 100084;2.北京航空航天大学 计算机学院,北京 100191;3.清华大学 核能与新能源技术研究院,北京 100084)

当核电站发生故障时,若操作人员出现判断失误,可能会导致不可预估的严重后果,如美国的三哩岛事故等。由于核电站系统的高度复杂性,在故障情况下,操作人员可能很难快速地从众多分散的数据信息中准确判断出故障原因。智能的故障诊断系统能对核电站进行参数检测、故障预报、诊断及发展预测,并在核电站出现异常情况时,给出合适的操作建议,可在很大程度上避免操作人员出现失误,从而更加有效地提高核电站的安全性能及使用效率。因而,核电站故障诊断系统的建立具有重大的意义。

1 理论背景

贝叶斯网络[1]是目前处理不确定因果知识表达和推理领域较流行的理论模型之一。贝叶斯网络是一种概率网络,以贝叶斯公式为概率计算基础,由有向无环图和条件概率表构成,包含代表变量节点和节点间相互连接的有向边以及子变量节点和父变量节点之间的条件概率,这些概率参数通常通过数据学习而获得。

文献[2]指出,大型复杂系统通常无大量可用的故障统计数据,所以很难通过数据学习构造贝叶斯网络的条件概率表CPT。贝叶斯网络要求知识表达必须完备,但在实际复杂系统中,数据不完备难以避免。即使所有变量均为二状态,简洁表达的贝叶斯网络中的子变量也有单赋值与多赋值之分,在单赋值情况下适用的知识的简洁表达和推理方法在多赋值情况下并不适用。

为克服贝叶斯网络的上述及其他缺陷,文献[2]提出了DUCG(动态不确定因果图)理论模型。DUCG 理论模型是一种使用不确定因果关系的简洁表达模型,方便领域专家对不确定因果知识进行简洁表达,推理方式为基于证据来化简DUCG 并展开事件,最后得到所关注的假设事件及其状态的概率表达式,将不确定的因果关系用独立的随机事件来表达。

DUCG 是一种不拘泥于明确数学意义的知识状态直观方便的表达方式,但其推理过程同样满足概率论计算理论。文献[2]中给出了DUCG 的化简及推理计算规则。一个大型复杂的DUCG 可由一组包含子变量及其父变量组成的模块组合而成,故不同模块可由不同领域工程师分别搭建,这极大地方便了大型复杂DUCG 知识库的构建。

2 DUCG 故障诊断系统推理机实现

2.1 推理机系统功能

推理机是DUCG 故障诊断系统的核心,程序的主体部分包括程序操作界面、实时UDP数据接收、DUCG 预处理、DUCG 化简、表达式展开化简和概率计算。

DUCG 故障诊断系统推理机需要实现的主要目标是基于接收到的信号参数,甄别异常信号数据,生成并记录下故障状态,利用DUCG 化简规则化简因果图,展开并化简表达式,推理出故障原因并计算概率,在此基础上还可做更进一步的分析及预报。

在推理过程中,要基于接收到的测点数据,首先通过图形和逻辑化简得到定性推理结果,即利用DUCG 的理论规则,进行事件展开、因果图化简,在进行数值计算之前,可得到一定性的、甚至是最终的推理结果,然后才进行概率数值定量计算得到推理结果。

2.2 系统架构及模块关系

目前实现的DUCG 故障诊断系统推理机主要分为如下6个模块:通信模块、界面模块、化简规则模块、DUCG 操作模块、表达式运算模块以及输入输出模块。其中化简规则模块、DUCG 操作模块和表达式运算模块是整个推理机最为核心的3个部分。

推理机系统6个模块之间的主要调用关系及调用流程如图1所示。

当启动程序时,首先运行界面模块,通过界面按钮操作启动DUCG 操作模块,并通过调用输入输出模块读取原始数据文件初始化原始DUCG,同时启动通信模块,基于UDP 通信协议实时接收信号数据;当通信模块接收并甄别到异常信号出现时,启动推理流程,将异常信号传给DUCG 操作模块,DUCG 操作模块基于该组信号,调用化简规则模块,对DUCG 进行化简处理,调用输入输出模块输出化简结果,基于得到的化简后DUCG 数据,调用表达式运算模块,进行表达式展开、化简及推理计算,得到最后的推理结果,并调用输入输出模块将推理计算结果输出到磁盘文件中保存,同时将推理结果显示在推理机界面上。

2.3 关键数据结构构造

对于DUCG 操作模块、化简规则模块及表达式运算模块,首先需定义可表示DUCG 和逻辑表达式的数据结构,这些数据结构需包含节点变量信息、子节点与父节点之间的因果关系及关系的概率矩阵、逻辑表达式、表达式运算操作等信息。本系统定义的主要数据类型如图2所示。

节点(Node)用于存储节点信息,主要包含节点id、节点名称、节点类型、父节点(Parent)集合pList〈Parent〉、节点当前状态等。父节点用于存储节点的父节点信息。线段(Flow)用于存储DUCG 中的因果关系信息,主要包含起始节点和目标节点及相关的概率矩阵等。

DUCG(DucgGraph)信 息 包 含nMap、fMap、mxMap和nameNMap 4个重要的变量。nMap为键值对〈Key,Node〉类型变量,用于保存DUCG 的节点列表,其中Key 表示节点名称;fMap为键值对〈Key,Flow〉类型变量,其中Key表示线段名称;mxMap 为键值对〈Key,Matrix〉类型变量,用于存储因果关系对应的概率矩阵的Matrix,其中Key为该矩阵所对应的线的起始节点id+“,”+目标节点的id,Matrix为该矩阵的概率值,行号表示父节点的状态,列号表示子节点的状态;nameNMap 为键值对〈Key,Node〉类型变量,用于存储节点名称到节点的映射关系,其中Key表示节点名称(name),Node表示该节点信息的Node类。

CalculateExpression 用于存储表达式信息,其基本格式为〈表达式〉=〈项〉{+〈项〉},默认每一项之间为相加关系。CalculateTerm 保存表达式中项信息,项基本结构为〈项〉=〈因子〉{*〈因子〉},默认每一项之间为相乘关系。CalculateFaculty保存项因子信息,包括变量的类型如B、X、G,以及参数para信息,其中B 表示故障原因变量,X 表示测点数据变量,G 表示逻辑门变量。

图2 系统主要数据结构及关系Fig.2 System main data structure and relationship

在程序及算法中涉及到的所谓的DUCG操作对象即为DucgGraph 类型数据,所有与DUCG 化简相关的运算,都是对DucgGraph类型变量的运算。

2.4 表达式展开及化简过程算法优化

在DUCG 表达式展开和化简过程中,会涉及表达式展开后相乘运算,假如两个待展开表达式各有两项,展开后相乘项数将变为4项,表达式展开过程存在着项重复及表达式项数规模爆炸性增长的潜在问题,所以需对展开后的表达式进行化简操作,化简操作过程即是遍历表达式中每一项,找出并删除其中的重复项,实验证明化简后的表达式项数可大幅减少。

目前表达式化简过程是O(n2)复杂度操作,所以也需控制表达式化简的频率,化简方案可根据表达式的规模大小来动态控制。当表达式规模较小时,可在所有表达式展开结束后再进行化简;当表达式规模较大时,可边展开边化简,极端情况就是每新加入一个表达式就对展开后结果化简一次。化简次数增多也会导致整个推理过程时间变长,合理的方式是设置一个阀值,根据展开后表达式的项数目是否达到该阀值来确定是否需要进一步化简运算。

目前推理诊断过程的计算时间均控制在几十ms范围内,工程实用性不存在问题。但对于O(n2)复杂度的化简操作,若遇到超大规模的表达式化简将可能出现性能瓶颈,运算时间过长将导致推理机失去故障实时诊断的实际应用价值,如何减少表达式化简操作的运算复杂度是将来可继续优化的方向。

3 核电站二回路安全壳内给水管道泄漏故障诊断应用实例

3.1 二回路安全壳内给水管道泄漏故障知识库模型

为了界面图形直观显示的方便,软件知识库显示图中用正方形代表B 变量,正方形中的数字代表变量下标,B 变量是指故障原因变量,圆形代表X 变量,圆中的数字代表变量下标,X 变量是指测点数据变量;箭头线段代表变量间的因果关系,其中包含有状态概率矩阵,例如B12指向了X28的箭头,表示A 路给水管道泄漏会导致SG1宽量程水位ARE061MN 异常,具体导致偏高还是偏低,在箭头包含的概率矩阵中定义。

本次试验用的完整知识库包含故障模型较多,图3所示即为完整知识库的DUCG,包含了20多个故障类型,本文只选取二回路安全壳内给水管道泄漏故障子模型为例介绍,该故障模型知识库的DUCG如图4所示。二回路安全壳给水管道泄漏故障知识库共有12个X 变量,3个B 变量,其中各变量具体含义及状态信息列于表1。

图3 完整知识库DUCGFig.3 Complete knowledge DUCG

3.2 故障模型及实验结果分析

二回路安全壳内给水管道泄漏故障模型包含3个故障原因,需根据测点变量的状态数据推理出故障根源。推理机最后输出的推理结果如图5所示,其中X28和X11为偏低状态,其余X 变量为偏高状态。为理解方便,图6示出变量及对应状态的演变关系,与图5中DUCG 是完全一致的。推理机的推理计算过程解释如下:当所有变量中只有X152和X153处于异常状态2时,即安全壳压力和安全壳温度偏高,此时故障诊断结果为B12、B20和B21,因为3个故障原因都可能导致X152和X153状态偏高。

图4 给水管道泄漏故障知识库DUCGFig.4 Water supply pipeline leakage fault knowledge base DUCG

变量编号 变量描述 状态信息B12 A 路给水管道 0-正常,1-泄漏B20 B路给水管道 0-正常,1-泄漏B21 C路给水管道 0-正常,1-泄漏X11 反应堆运行状态 0-正常,1-跳堆X26 ARE-SG1给水流量ARE043MD 0-正常,1-低,2-高X28 SG1宽量程水位ARE061MN 0-正常,1-低,2-高X33 稳压器压力RCP005MP 0-正常,1-低,2-高X34 稳压器液位RCP007MN 0-正常,1-低,2-高X53 一回路平均温度RCP624KM 0-正常,1-低,2-高X144 ARE-SG2给水流量ARE044MD 0-正常,1-低,2-高X145 ARE-SG3给水流量ARE045MD 0-正常,1-低,2-高X148 SG2宽量程水位ARE062MN 0-正常,1-低,2-高X149 SG3宽量程水位ARE063MN 0-正常,1-低,2-高X153 安全壳压力ETY101MP 0-正常,1-低,2-高X153 安全壳温度ETY001MT 0-正常,1-低,2-高

图5 推理机输出故障诊断结果Fig.5 Fault diagnosis result of reasoning machine

在实际复杂系统中,数据不完备难以避免,当X11也出现异常状态1时,即反应堆跳闸,但X28、X148和X149均处于未知状态,此时依然可诊断出故障结果为B12、B20和B21,因为在复杂网络环境下,这3个测点数据可能漏传数据,DUCG算法可在数据不完备情况下进行推理诊断。

图6 故障状态演变关系Fig.6 Fault state evolution

当X26也变为状态2时,即ARE-SG1给水流量ARE043MD 偏高,此时故障诊断结果只有B12,即A 路给水管道泄漏,因为B20和B21已无法解释X26的异常状态。

4 结论

本文基于DUCG理论模型,搭建了核电站故障诊断系统的推理机软件,通过软件实现DUCG推理机故障诊断过程,得到正确的诊断结果,文中同时分析了算法实现过程中的一些性能瓶颈并提出一些解决办法。本文可得到如下结论:

1)通过软件实现DUCG 推理机,通过真实故障模型数据进行实验仿真模拟,证实了DUCG 理论的正确性。

2)通过软件能实时接收测点数据,在ms级时间内推理诊断出故障原因,并计算出故障原因的概率排序值,证实了DUCG 理论的实际应用价值,可用于真实的故障诊断中。

3)DUCG 故障诊断系统的推理机软件成功实现,可用于更进一步的软件研发和理论研究。

[1] JENSEN F V.An introduction to bayesian networks[M].New York:Springer-Verlag,1996.

[2] ZHANG Qin.Dynamic uncertain causality graph for knowledge representation and reasoning:Discrete DAG cases[J].Journal of Computer Science and Technology,2012,27:1-23.

猜你喜欢
推理机给水管化简
灵活区分 正确化简
◆ 塑料管
塑料管
的化简及其变式
面向对象的几何定理推导系统的设计与实现
基于Naive Bayesian算法改进的智能诊病系统研究
判断分式,且慢化简
“一分为二”巧化简
美国PVC给水管材的质量控制
PPR管在给水管道施工中的应用