Inductive Miner(归纳式挖掘)是一种基于流程树的算法,并在上面衍生了各种变体算法,比如Inductive Miner-Infrequency, Inductive Miner-Lifecycle等,接下来,我们就详细地介绍这个基本的Inductive Miner算法。
01 背景介绍
现有的挖掘算法不能保证在有限的时间内(没有死锁和其他异常)模型是fitting(表示所有的行为)和soundness(合理的)。因此,需一个更综合的方法保证合理性和拟合度,并且在有限的时间内得到块结构(block-structured)模型。Inductive Miner算法应用而生。
02 思想介绍
Indcutive Miner算法主要采用分而治之的思想,将发现一个日志L的过程模型问题分解为发现通过拆分日志L得到n个子日志的n个子过程模型问题。其具体的做法是如下: a)选择最适合日志L的切分运算(顺序、并发、循环、排他);b)将日志L中的活动通过切分运算划分为不相交的集合;c)使用这些集合将日志L拆分为子日志L1, L2,…, Ln。通过上述步骤递归挖掘这些子日志L1, L2,…, Ln,直到子日志只包含一个活动。
上图中的每个小圆圈代表每个子过程,四种运算符的详细规则如下:
的规则为一个子流程A与另一个子流程B两个之间没有任何关联,一个子流程A中的活动的后继活动不能在另一个子流程B中,一个子流程B中的活动的后继活动不能在另一个子流程A中,。
的规则为从一个子流程A到另一个子流程B有出边,但是无入边,。
的规则为一个子流程A既有到另一个子流程的出边,也有另一个子流程B到这个子流程A的入边。。
的规则为一个活动从子流程A出发,到达另一个子流程B中,再由B重现回到A。总结为。
03 主要步骤
假设存在事件日志 L = {< a, b, c >, < a, c, b >, < a, d, e >, < a, d, e, f, d, e >}.
(1).将事件日志转化为直接跟随活动图(DFG)
(2).使用四种切分运算符对上述的DFG进行拆分,拆分过程如下:
其中图中a ,b ,c ,d依次进行的切分操作为顺序切分,排他切分,并发切分,循环切分
用过程语言可表示为:
L = {<a, b, c >, < a, c, b >, < a, d, e >, <a, d, e, f, d, e >},依次进行的操作如下:
1.SEQUENCESPLIT(L,({a},{b, c, d, e, f})) =[L1={< a >},L2={<b, c >, <c, b >, <d, e >, <d, e, f, d, e >}]
2.EXCLUSIVECHOICESPLIT(L2,({b, c},{d, e, f})) = {L3=<b, c>, < c, b >},{L4=< d, e >, <d, e, f, d, e >}]
3.PARALLELSPLIT(L3,({b},{c})) ={<b >},{<c >}
4.LOOPSPLIT(L4,({d, e},{f})) = {<d, e >},{< f >}
(3).根据上述过程转化为流程树语言如下:
发现模型: M= →(a, X(∧(b, c), Q (→ (d,e),f))),其中Q表示循环运算符。
(4).流程树转化为Petri网
四种基本形式的对应转化:
按照以上四种基本规则,最终得到的Petri网结果如下:
04 总结
由Inductive Miner得到的过程模型能够完全拟合事件日志中的行为,但还存在以下不足:
(1)没有考虑事件日志中直接跟随活动关系的频次;
(2生成的模型中不可见变迁行为增多,使得流程模型精确度降低。