Page 66 - 《软件学报》2021年第7期
P. 66
1984 Journal of Software 软件学报 Vol.32, No.7, July 2021
8. addCount(c) //候选 k-序列支持度计数
9. endfor
10. endfor
11. if (c.count/n≥minsup) //判断是否为频繁序列
12. SupportCount(b|cC k ,b=backward(c)) //统计频繁序列逆序后的支持度
13. CRT=changToCausal() //将频繁序列转换为因果关系
14. F k c,CRTb
15. endif
16. endfor
上述基于 GSP 算法的事件关系挖掘方法的相关描述如下.
第 5 行中的连接操作为,序列 S 1 与 S 2 连接,当且仅当从 S 1 中去掉第 1 个事件得到的子序列和从 S 2 中去
掉最后一个事件得到的子序列相同时,才进行连接操作,此时可能存在两种情况:① 若 S 2 的最后两个事件属于
同一个元素,则 S 2 的最后一个事件与 S 1 的最后一个元素组合成为合并后的最后一个元素.例如,(1)(5)(3与
(5)(3 4)连接结果为(1)(5)(3 4).② 若 S 2 的最后两个事件属于不同的元素,则 S 2 的最后一个事件在合并后的序
列中成为连接到 S 1 尾部的单独元素.例如,(1)(2)(3)与(2)(3)(4)连接结果为(1)(2)(3)(4).
第 5 行中的剪切操作为,若某候选序列模式的任意一个子序列不是序列模式,则此候选序列模式不可能
是序列模式,将其从候选序列模式中删除.
第 13 行根据定义 4,将频繁序列转换为因果关系.
最终此方法的输出结果为事件因果关系表,由挖掘得到的各个事件因果关系组成,例如系统中服务任务
量较重对应功能的响应时间变长等.
(2) 事件关系建模
为了能够基于事件因果关系识别事件,需清晰、直观地建模该类关系.事件因果关系一般为单向关系,由底
层基本事件指向高层复杂事件,适于采用树状图进行表示.高层复杂事件可作为树状图的最顶端事件,然后将事
件因果关系以父子层次结构进行组织与枚举.
故障树采用逻辑门连接上层与下层事件之间的因果关系,能够直观地表达本文抽取出的事件因果关系.但
是故障树在应用时存在一定的问题,故障树逻辑门需要获取最下层事件(即基本事件)发生概率的精确值才能向
上层推理,并且基本事件发生概率的准确性影响着整个故障树向上推理的准确性.然而,在不确定环境下,这种
概率的精确值较难准确获取.为了解决这一问题,本文在采用模糊故障树建模事件因果关系时,以模糊数形式表
示事件发生概率,从而无需获取事件概率的精确值.并且,本文以模糊算子代替一般故障树中采用的传统逻辑门
算子,可表达事件间逻辑关系的不确定性,更适用于表征不确定环境中事件的因果关系.
具体地,本文首先将事件因果关系建模成模糊故障树中的树状图结构;然后计算模糊故障树中基本事件的
发生概率,将其映射为预定义的模糊数;最后根据模糊算子计算基本事件上层事件(即中间事件)的发生概率,直
至最上层事件(即顶事件)的发生概率,至此,模糊故障树中所有的模糊算子计算完毕,为后续计算贝叶斯网络中
的条件概率提供数据支持.过程如下.
事件因果关系建模为树状图.事件因果关系 CR(a,b)的建模方式如下:将 a、b 分别作为下层事件与上层事件,
将 a、b 之间的因果联系采用上下层事件间的模糊逻辑门来连接.以这种方式逐层地向上形成一个树状图,最上
层的顶事件则为系统中发生的各个故障类型,比如服务资源出现故障问题、节点资源出现故障问题和应用失效
问题等.
基本事件发生概率的计算及映射.本文通过统计日志的方式获取基本事件发生频率,以频率代替概率的方
式得到基本事件发生概率,并将发生概率映射为三角模糊数,这种方式允许基本事件发生概率值存在一定误差,
对概率值的精确程度要求不高.基本事件发生概率对应的隶属函数可见公式(1).通过该公式可计算得到基本事
件的发生概率 x 隶属于各个预设的模糊数 P 的隶属度,最终,本文选取隶属度最大的模糊数作为基本事件发生