流程发现算法第2讲|Alpha系列算法

回顾上一讲Alpha算法的内容,我们发现Alpha算法存在很多无法处理的一些问题(如短循环、重名任务、不可见变迁等)。为此,研究学者提出了一系列Alpha算法的扩展算法进行完善,常用的有Alpha+算法、Tsinghua-Alpha算法、Alpha++算法、Alpha$算法、Alpha#算法和Alpha*算法,下面我们对Alpha系列算法进行简单介绍。

1、Alpha+算法

如图,N1为长度为1的短循环Petri网,应用基础Alpha算法挖掘时,通常会导致右上角的错误结果,这是由于在基础Alpha算法中不存在B>B这种结构;N2为长度为2的短循环Petri网,应用基础的Alpha算法挖掘时,通常会导致右下角的错误结果,这是由于ABA序列常常被识别为A||B和B||A,而不是A->B,B->A。

Alpha算法不能识别上述两种类别的Petri网,Alpha+算法进行了如下改进:

(1)定义“XYX”次序关系,区分短循环和并行;

 (2)将流程挖掘分为三阶段过程:预处理,处理,后处理。在预处理步骤中移除长度为1的短循环任务,在后处理步骤中将短循环任务添加到模型的正确位置.

2、Tsinghua-Alpha算法

一个变迁的执行对应两个事件类型(strat和complete),换言之,事件的执行需要时间,是带有生命周期的。Alpha算法并不能区分这种事件到底是串行短循环还是并行短循环。为此,Tsinghua-Alpha算法从该角度出发,定义了如下关系,用于处理带有生命周期的事件日志。

3、Alpha#算法

基础Alpha算法无法处理不可见任务,对应Petri网也就是不可见变迁或者静默变迁。含有不可见变迁的Petri网模型具体分为SIDE类型、SKIP类型、REDO类型、高级SKIP类型、高级REDO类型以及SWITCH类型,各类型用例如下所示:

对于上述类型结构,Alpha#算法定义了一种虚假的依赖关系,如下所示:

若满足上述关系,则对应的Petri网结构为:

4、Alpha++算法

下图中的N9是非自由选择结构,由于变迁A和D,变迁B和E之间存在远程的依赖关系,导致变迁D和变迁E的执行不再是自由的竞争关系,而基础的Alpha算法不能发现库所p1和p2。

对此,Alpha++算法对此进行改进,引入了任务间非紧邻的可达关系,并推导依赖关系。

 从上图可以发现,变迁a后面永远跟着ai,不会跟着bj,变迁b后面永远跟着bj,不会跟着ai。那么若ai的输入变迁集合是bj输入变迁集合的子集的话,则相信a和ai之间存在这种没有被发现的库所p。

5、Alpha*算法

我们展示了一个网上购物模型,该模型如下图所示,其中a表示登录,b表示浏览商品对购物篮进行操作,c表示汇总购物篮中的商品计算总钱数,d表示决定购买,e表示交易,f表示退出。

该模型存在重名任务c和f,Alpha算法并不能挖掘该模型,为此Alpha*算法被提出。该算法和Alpha+的思想类似,使用了三阶段的挖掘方法:利用启发式规则重命名日志中的事件,使用其他Alpha算法挖掘后,将任务名字重命名回来。

6、Alpha$算法

Alpha$算法是对Alpha++算法和Aplha#算法的整合。其简单流程思想如下:

1. 通过改进的虚假依赖关系检测不可见任务;  2. 补充可达的依赖关系;

3. 检测非自由选择结构; 4. 调整不可见任务。

7、总结

Alpha算法存在的一些问题在Alpha的扩展系列算法中得到了解决,现在我们将其总结如下:

(1) 短循环(Alpha、Tsinghua-Alpha);      (2) 不可见任务(Alpha#、Alpha$);

(3) 非自由选择(Alpha++、Alpha$);        (4) 重名任务(Alpha*)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值