Alpha算法是最早应用于过程挖掘的过程发现算法,在2002年被过程挖掘之父Wil van der Aalst提出,后续并被很多研究学者所完善,提出了一系列的扩展alpha算法,比如alpha+、Tsinghua-alpha、alpha++、alpha#、alpha$和alpha*。接下来,我们将详细地介绍这一系列算法。

1.背景介绍

在过去的十年(上世纪90年代)中, Staffware、IBM MQSeries、COSA等工作流管理系统为结构化业务流程提供通用建模和实施功能。通过创建图形化的流程定义,即单独描述典型案例(工作流实例)生命周期的模型,可以配置这些系统以支持业务流程。除了纯工作流管理系统外,许多其他软件系统都采用了工作流技术。例如,考虑SAP、CRM软件等ERP(企业资源计划)系统,尽管它的承诺,在应用工作流技术时会遇到许多问题。其中一个问题是,这些系统需要工作流设计,也就是说,必须构建一个详细的模型,准确地描述工作流程。为工作流建模绝非易事:它需要对工作流语言有深入的了解。

因此,需要算法来对工作流进行建模,来构造一种可理解的过程模型语言,alpha算法应运而生。

2. Alpha算法介绍

(1)首先定义了四种基于日志次序关系,分别为紧邻,因果,并行,无关,详细介绍如下:

紧邻:x>y当且仅当存在一条轨迹使得活动x后面紧跟着y;

因果:x->y当且仅当x>y且非y>x;

并行:x||y当且仅当x>y且y>x;

无关:x#y当且仅当非x>y且非y>x.

比如在日志L={<A,B,C,D>,<A,C,B,D>,<E,F>}中,其中的紧邻关系(也叫做直接跟随关系)为

A>B,B>C,C>D,A>C,C>B,B>D,E>F;

(2)得到日志L的足迹矩阵:

A B C D E F
A # -> -> # # #
B <- # || -> # #
C <- || # -> # #
D # <- <- # # #
E # # # # # ->
F # # # # <- #

(3)根据上述足迹矩阵,按照下述关系建模Petri网

具体信息可以参考《过程挖掘:业务过程的发现、合规和改进》,Wil van der Aalst著,王建民、闻立杰等译;

(4)根据上述对应构造Petri网模型如下:

3.Alpha其他系列算法

Alpha算法能够从日志中抽取基本次序关系从而根据活动间的关系构造过程模型,但是Alpha算法存在很多缺点,Alpha算法假设日志的直接跟随次序关系是完备的,这在实际过程中却很少见,(1)Alpha算法不能够处理长度为1和长度为2的短循环;

(2)不能够处理不可见任务;

(3)不能区分串行/并行短循环;

(4)不能够处理非自由选择结构;

(5)不能够处理重名任务。

针对Alpha算法的不足,一系列Alpha算法的扩展版本相应而生,下面我们介绍地介绍这些算法。

3.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的短循环任务,在后处理步骤中将短循环任务添加到模型的正确位置

示例如下:

3.2 Tsing-hua Alpha算法

一个变迁的执行对应两个事件类型(strat和complete),换言之,事件的执行需要时间,是带有生命周期的,Alpha算法并不能区分这种事件到底是串行短循环还是并行短循环。

所以定义了以下关系:

3.3 Alpha#算法

基础Alpha算法无法处理不可见任务,对应Petri网也就是不可见变迁或者静默变迁。

具体分为SIDE类型、SKIP类型、REDO类型、高级SKIP类型、高级REDO类型以及SWITCH类型,如下图所示:

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

如果活动关系满足

a和x是因果关系;y和b是因果关系;y后从来不紧邻x;x后也从来不紧邻b;x和b不并行发生,a和y也不并行发生

这六种基本情况,我们认为存在不可见任务,不可见任务类型的区分如上图所示。

3.4 Alpha++算法

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

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

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

3.5 Alpha*算法

和Alpha+算法的思想差不多一致。

3.6 Alpha$算法

是对Alpha++算法和Aplha#算法的整合。

4.工具插件

(1)使用prom6运行的插件svn下载地址:

prom - Revision 46153: /Packages/AlphaMiner/Trunk (tue.nl)

运行界面插件图:

(2)使用pm4py调用Alpha Miner算法的链接地址:

PM4Py - Process Mining for Python (fraunhofer.de)

5.总结

Alpha算法假设日志是直接跟随关系完备的,用于挖掘不带短循环的SWF-net,SWF-net不含隐式库所,且不能包含如下两种子结构(即XOR-join和AND-join不能同时存在):

 (1)短循环(alpha+,Tsinghua-alpha);

   (2)不可见任务(alpha#、alpha$);

 (3)非自由选择(alpha++、alpha$);

   (4) 重名任务(alpha*).

参考文献:

1.《过程挖掘:业务过程的发现、合规和改进》,Wil van der Aalst著,王建民、闻立杰等译;

2.Alpha:Van der Aalst W, Weijters T, Maruster L. Workflow mining: Discovering process models from event logs[J]. IEEE transactions on knowledge and data engineering, 2004, 16(9): 1128-1142.

3.Alpha+:De Medeiros A K A, Van Dongen B F, Van der Aalst W M P, et al. Process mining: Extending the α-algorithm to mine short loops[J]. 2004.

4.Alpha++:Wen L, Van Der Aalst W M P, Wang J, et al. Mining process models with non-free-choice constructs[J]. Data Mining and Knowledge Discovery, 2007, 15(2): 145-180.

5.Alpha$:Guo Q, Wen L, Wang J, et al. Mining invisible tasks in non-free-choice constructs[C]//International Conference on Business Process Management. Springer, Cham, 2016: 109-125.

下一讲将介绍遗传挖掘算法(ETM MIner)。

如需进行相关的了解或者交流,欢迎私信或者加入QQ群:

【过程挖掘算法4】Alpha Miner及其系列算法相关推荐

  1. 计算机视觉目标检测算法总结4——其他SSD系列算法

    RSSD算法 rainbow concatenation方式(pooling加deconvolution)融合不同层的特征,在增加不同层之间feature map关系的同时也增加了不同层的featur ...

  2. 目标检测—SSD系列算法原理介绍

    一.SSD系列算法原理介绍 1.1 SSD算法介绍: ➢Single Shot MultiBox Detector (one-stage方法)                  ●Wei Liu在EC ...

  3. YOLO系列算法精讲:从yolov1至yolov4的进阶之路(呕心沥血2万字超全整理,建议收藏!)

    从刚开始接触YOLO到现在也已经有大半年时间了,中间也陆陆续续接触过其它网络.最近又抽时间研究了一下YOLOv4. 因此,趁此机会,将yolov1到yolov4进行一个全面的整理和总结,希望对即将入坑 ...

  4. 基于知识图谱的表示学习——Trans系列算法介绍(一)

    鉴于知识图谱的研究越来越多,所以在组会主讲上介绍了知识图谱表示学习的Trans系列方法,以下仅是本人对于此类方法的理解,请批评指正.Trans系列方法的源码均为公开代码,可以自行搜索. 背景介绍 知识 ...

  5. FM系列算法解读(FM+FFM+DeepFM)

    综述 在计算广告中,CTR是非常重要的一环.对于特征组合来说,业界通用的做法主要有两大类:FM系列和Tree系列.这里我们来介绍一下FM系列. 在传统的线性模型中,每个特征都是独立的,如果需要考虑特征 ...

  6. YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理)

    写在前面:大家好!我是[AI 菌],算法工程师一枚,2021年博客之星Top12,公众号[AI 修炼之路]作者.专注于计算机视觉.深度学习.图像处理技术,热衷于分享AI.CV.DL.ML.OpenCV ...

  7. 2.2 SIMPLE系列算法 | 2.3 PISO算法(OpenFOAM理论笔记系列)

    2.2 SIMPLE系列算法 2.2.1标准SIMPLE算法 SIMPLE算法(Semi-Implicit Method for PressureLinked Equations)1最初被设计用来求解 ...

  8. YOLO系列算法学习

    YOLO系列算法学习 YOLOV1算法 预测阶段(前向推断) yolo基准模型和tiny模型结构 基准模型 为什么是7x7x30的输出? 流程可视化 预测阶段后处理-NMS非极大值抑制 两个bboxs ...

  9. 深度学习目标检测系列:RCNN系列算法图解

    在生活中,经常会遇到这样的一种情况,上班要出门的时候,突然找不到一件东西了,比如钥匙.手机或者手表等.这个时候一般在房间翻一遍各个角落来寻找不见的物品,最后突然一拍大脑,想到在某一个地方,在整个过程中 ...

最新文章

  1. 嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug
  2. Faster R-CNN改进篇(二): RFCN ● RON
  3. linux服务器cuda,cudnn的安装与卸载
  4. Kubernetes Nginx Ingress教程
  5. 有福利! 好书推荐:从《实用推荐系统》学习寻找用户行为之法
  6. [USACO12MAR]花盆Flowerpot 二分答案+单调队列
  7. 【注】【精】【火】博主考研去了,现在的博文都是以前的笔记或者算法。
  8. PHP弱类型安全问题总结
  9. Prototype使用$F()函数
  10. 银行剧震!国内第一家无人银行来了...
  11. 安卓flash插件_安卓手机如何打开.swf文件 如何用手机播放swf文件
  12. DC888 : worklist slovers
  13. ajax上传文件判断大小,JavaScript检测上传文件大小的方法
  14. 商业需求分析(BRD)模板
  15. m低信噪比下GPS信号的捕获算法研究,使用matlab算法进行仿真
  16. FOR ALL ENTRIES
  17. 4pics1word android,4 Pics 1 word Answers
  18. 厦大2021届大一小学期C语言作业1 数组+字符串+指针+位操作
  19. 安凯AK3918E加载mtk7601驱动不能ifconfig wlan0 down
  20. 利用pandas自动化办公填表

热门文章

  1. win7电脑怎么录制视频 电脑怎么录屏
  2. 内网服务器防火墙作用,防火墙内网用户通过公网域名访问内部服务器典型配置案例集...
  3. ARM汇编语言编程-Keil环境搭建及STM32程序的编写
  4. matplotlib 的 spines模块详解
  5. 策略路由 本地策略+接口策略
  6. 『杭电1982』Kaitou Kid - The Phantom Thief (1)
  7. arcgis根据7参转坐标_ArcGIS和COORD进行坐标七参数转换国家2000的方法
  8. Parallels Desktop 16 网络初始化失败
  9. 百度站长平台"添加站点"提示"您无权访问该页面,点击确定按钮返回首页?"
  10. 拿蚂蚁头条快手offer怎么选?网友:第一次见头条比快手offer低