流程发现算法第4讲|Inductive Miner

Inductive Miner(归纳式挖掘)是一种基于流程树的算法,并在上面衍生了各种变体算法,比如Inductive Miner-Infrequency, Inductive Miner-Lifecycle等,接下来,我们就详细地介绍这个基本的Inductive Miner算法。

1、​背景介绍

已有流程发现算法比较

上表总结了之前已有的流程发现算法的特点。从表中可以看出,现有的流程发现算法不能保证在有限的时间内(没有死锁和其他异常)得到的流程模型是fitting(表示所有的行为)和soundness(合理的)。因此,需一个更综合的方法保证合理性和拟合度,并且在有限的时间内得到块结构(block-structured)模型,Inductive Miner算法应用而生。

2、思想介绍 

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。总结为起于此终于此

3、 主要步骤

(1) 将事件日志转化为直接跟随活动图(DFG)

假设存在事件日志 L = {< a, b, c >, < a, c, b >, < a, d, e >, < a, d, e, f, d, e >}.

将其转化为直接跟随活动关系图如下:

(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网规则转化第3步流程树为下述Petri网: 

4、总结

由Inductive Miner得到的过程模型能够完全拟合事件日志中的行为,但还存在以下不足:

(1) 没有考虑事件日志中直接跟随活动关系的频次;

(2) 生成的模型中不可见变迁行为增多,使得流程模型精确度降低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值