方 欢,李东月,孙书亚,方贤文
(1.安徽理工大学 数学与大数据学院,安徽 淮南 232001;2.滁州学院 数学与金融学院,安徽 滁州 239000)
随着实际应用的业务流程复杂性不断增加,各种类型的业务流程管理应用程序得到了广泛使用,如业务流程分析、业务流程监视和工作流管理系统[1-2]。其中许多应用程序不仅支持操作流程,还提供了依赖于预定义流程模型的分析特性,并假定预定义模型完全符合操作流程。然而,经验表明,流程执行常常偏离预定义的模型[3-5]。通过研究偏离的迹可以帮助识别和诊断过程模型的质量问题或公司的实际过程执行偏移。在实际应用中,执行部分行为偏离的过程模型是可以接受的,但建模者和开发者需要确定实际流程与预期模型的符合程度、偏移程度,从而保障流程系统的安全性和可靠性。
过程发现阶段致力于在已知历史行为的情况下找到最佳的过程模型[6],为了评估“最佳”模型,符合性检测(conformance checking)技术应运而生。符合性检测是将模型中表示的假定流程与事件日志中的实际流程之间的差异可视化的一种技术[7],通过对比流程模型的行为与事件日志中记录的行为,找到建模行为与记录行为之间的共性与差异[8],进而评估过程模型和日志之间拟合程度(Fitness)。目前,已经提出一些技术和措施来度量符合性:早些时候提出的技术,如基于令牌的重演[3],虽然该方法简单易行,但是该技术不能处理非确定性,即沉默的活动(τ)和重复的活动。为解决这个问题,文献[9]提出基于对齐的技术,可以通过彻底搜索与给定日志迹偏差最小的模型迹(根据某些代价函数)来处理非确定性;文献[10]使用模型重放历史,利用对齐,在事件和模型元素之间建立精确的关系,以检测符合性和分析性能。随着技术的发展,为了提高运算效率,许多研究者提出了用于处理大型流程中符合性检测的分解技术[11-12]:文献[12]使用RPST(refined process structure tree)结构来分析业务流程,提出RPST不仅可以应用于单入口单出口(Single Entry, Single Exit, SESE)-组件,还适用于多入口的业务结构;文献[13]具体分析了一种基于SESE-组件(单入口单出口)的符合性检测方法,可以提高大型系统的符合性检测算法的性能;文献[14]通过使用SESE分量图来执行流程模型的分解并进行符合性检测分析。根据文献[14]中的一般原则,文献[15]将较大的流程模型和事件日志划分为可以独立分析的较小部分,进而分解对齐,加速符合性检测。针对已有研究虽然可以利用分解运行得更快,但并不总是得到准确的拟合度值问题,文献[16]介绍了一种两者兼顾的,通过迭代的方式使用分解方法返回准确拟合度值的方法。上述符合性检测方法均是基于单个活动的对齐提出的,且对于非块结构的模型与日志的符合性检测具有一定的局限性。Weidlich等[17]提出一个基于行为轮廓的流程模型一致性检测方法,系统地检查流程模型的一致性,且提出一种基于行为轮廓的流程符合性量化方法[18],利用抽象机制与行为等价中的迹等价,通过比较模型执行迹与日志待匹配迹的行为轮廓的异同来度量日志与模型的符合性。然而,该方法依赖于日志与模型行为轮廓的偏序关系,导致其计算的符合性可能存在误差。另外,利用执行顺序、强制活动、因果耦合符合性的平均值作为日志与模型的符合性,未考虑三者各自的重要性。文献[19]结合可伸缩性介绍了一个流程发现框架,引入模型—模型和模型—日志的比较框架,应用分治策略,通过度量召回率、适合度和精度来发现模型的质量。但该方法依赖于流程切的发现,切的质量直接影响算法的质量。文献[20]提出一种协调数据和流程视角的审计方法,从数据和过程视角综合评估过程的符合性,但仍然是根据单个活动的对齐提出的。为了提高对齐效率,田银花等[21]提出一种基于Petri网模型和迹的对齐方法。该方法生成一个最优对齐树,包括给定轨迹与基于标准似然代价函数的Petri网模型之间的所有最优对齐;并针对已有校准(对齐)方法一次只能计算一条迹与过程模型之间的校准(对齐)问题,提出一种基于Petri网的过程模型与m条迹之间的批量校准(对齐)方法[22]。文献[22]在一定程度上改进了现有的基于对齐的检测方法,但存在的问题与文献[20]相同,且仅指出了如何将过程模型与轨迹快速对齐,未给出模型与日志的符合性度量方法。
符合度检测除了应用在过程挖掘领域,还可以应用在流程序列相似性检测方面[23-25],如动态时间规整(Dynamic Time Warping, DTW)、最长公共子序列(Longest Common Subsequence, LCSS)和实序列编辑距离(Edit Distance on Real sequences, EDR)3种经典的时间序列相似性算法。由于序列相似度主要针对事件时间序列展开,而过程挖掘中的符合度检测主要检查日志与模型的匹配程度,本文研究侧重于后者。
本文在已有研究成果的基础上,提出一种基于直接后继关系对齐的过程符合性检测方法,对模型的质量进行评估。本文的主要贡献如下:
(1)提出了基于紧邻活动对的对齐,即利用活动对与活动对的联系来建立事件和模型元素之间的精确关系。
(2)提出了基于紧邻活动对的最优对齐算法(Adjacent Activity Pairs, AAP),同时结合代价函数,给出基于紧邻活动对最优对齐的代价计算方法。
(3)基于最小代价提出单条轨迹与模型的拟合度定义,根据拟合度算法(Fitting Degree Algorithm, FDA),最终得到日志与模型的符合性检测结果。
定义1[7]过程模型。一个过程模型是一个六元组P=(A,ai,a0,C,T,F),其中:A为一个非空的活动集,C为一个网关集,A∩C=∅;ai为一个初始活动,a0为一个最终活动;F⊆((A{a0}∪C))×((A{ai}∪C))为流关系;T:C{and,xor}为一个指定网关类型的函数。
定义2迹、日志。设A⊆UA是一个活动标签的集合,则称一个活动标签序列为一条迹σ∈A*;L∈B(A*)为一个迹的多集,称为事件日志。简言之,迹中活动的标签只有名称,而日志中活动的标签包含时间戳、资源等。
定义3日志直接后继关系、模型直接后继关系。L是一个事件日志,AL是L的活动集合,∀a1,a2∈AL,满足:存在一条迹σ∈L,有1≤j≤|σ|[σ(j)=a1∧σ(j+1)=a2],即在迹σ中a2会在a1之后发生,其中:j∈N+,则称活动对(a1,a2)满足日志直接后继关系;P是一个过程模型,AP是P的活动集合,∀a1,a2∈AN,满足:存在一条迹σ∈TP,有1≤j≤|σ|[σ(j)=a1∧σ(j+1)=a2],即在迹σ中a2会在a1之后发生,其中j∈N+,则称活动对(a1,a2)满足模型直接后继关系。二者均记为(a1,a2)∈→1或a1→1a2。
例如,迹σ1=〈ABDEFGL〉中,A与B,D与E满足日志的直接后继关系;图1中:A与B,C与D满足模型的直接后继关系。
定义4紧邻活动对、紧邻活动对间的直接后继关系。若一个活动对(ai,aj)满足直接后继关系,则称该活动对为紧邻活动对,记为[ai,aj];若任意两个紧邻活动对[ai,aj],[ak,al],满足j=k,则称两个紧邻活动对之间存在直接后继关系,记为{[ai,aj],[ak,al]}∈→1或[ai,aj]→1[ak,al]。
例如,迹σ1=〈ABDEFGL〉中的紧邻活动对为[A,B],[B,D],[E,F]。其中,[A,B]和[B,D]存在直接后继关系,模型中同理。
定义5[10]基于活动的对齐。设AL∈A为日志上活动的集合,AP∈A为模型上活动的集合,令≫(≫∉(AL∪AP))为一个“不移动”操作,则一个活动对(ai,aj):
(1)若ai∈AL,aj∈≫,则称(ai,aj)在日志上移动;
(2)若ai∈≫,aj∈AP,则称(ai,aj)在模型上移动;
(3)若ai∈AL,aj∈AP,则称(ai,aj)在日志和模型上都移动;
(4)若ai=≫,aj=≫,则称(ai,aj)为一个非法移动。
称AQ=(A≫×A≫){(≫,≫)}为对齐上一个合法移动的集合,其中A≫=A∪{≫}。
轨迹在过程模型上重演,可以产生多种对齐方案,找到和轨迹最为接近的那种重演方式。
例如迹σ1=〈ABDEFGL〉关于图1的4种对齐方式,其中:L表示日志上的移动,P表示模型上的移动。
Z2=LAB≫≫DEFGLPABCED≫FGL,
Z3=LAB≫≫≫DEFGLPABEFCD≫≫GL,
Z4=LAB≫≫DEFGLPABECD≫FGL。
显然,Z1是要找的那种对齐方式,因为Z1只引入了一次≫操作,只有活动C没有得到匹配,活动A,B,D,E,F,G,L均完成了匹配。
为检测日志与模型的符合性,本文提出一个基于直接后继关系对齐的符合性检测新方法。直接后继关系对齐是通过将日志与模型上活动的所有直接后继关系转换为紧邻活动对,再利用紧邻活动对间的直接后继关系将轨迹的紧邻活动对与模型上的紧邻活动对对齐的一种方法。
(4)若[ai,aj]∈≫,[ak,al]∈≫,则称{[ai,aj],[ak,al]}为一个非法移动。
定义7状态。日志中或模型中的当前目标活动对序列。特别地,设[ai,aj]为一个紧邻活动对,∀aj∈A,若ai为待匹配轨迹(模型)的初始活动,则称[ai,aj]为日志(模型)的初始状态。
如图1所示,初始时模型上只有活动A是使能的,根据活动的直接后继关系,模型的初始状态可能为[A,B]或[A,H],若模型执行B,则初始状态为[A,B],若模型上执行H,则初始状态为[A,H],此处假设模型的初始状态为[A,B]。设待匹配轨迹为σ=〈B,C,D,G〉,即待匹配的紧邻对序列为Sσ=[B,C][C,D][D,G]。由日志初始状态定义可知,σ的初始状态为[B,C]。接下来将分为下面几种情况:若模型接着执行活动C,此时模型的状态更新为[A,B][B,C]。与Sσ对比可知,[A,B]只在模型上移动,不在日志上移动,因此在日志上引入≫操作,[B,C]既在日志上移动又在模型上移动,无需引入≫操作。接下来,若模型连续两步分别执行E和D,此时模型的状态更新为[A,B][B,C][C,E][E,D],再与Sσ对比可知,[C,E],[E,D]只在模型上移动,不在日志上移动,因此在日志上分别引入≫操作;[C,D]只在日志上移动,不在模型上移动,因此在模型上引入≫操作。下一步,若模型执行G,则模型的状态更新为[A,B][B,C][C,E][E,D][D,G],对比Sσ得:[D,G]既在日志上移动又在模型上移动,无需引入≫操作。此时,日志上已经走到尽头(待重放轨迹已经匹配完毕),但模型上还没有匹配完毕,在模型上需引入相应的≫操作(反之同理)。
例如迹σ1=〈ABDEFGL〉的对齐:显然,日志中待匹配的紧邻对序列为[A,B][B,D][D,E][E,F][F,G][G,L],则σ1的对齐为:
γ1=L[A,B]≫[B,D]≫[D,E][E,F][F,G][G,L]P[A,B][B,C]≫[C,D][D,E][E,F][F,G][G,L]。
其中,L表示日志上的移动,P表示模型上的移动,下面同理。
由γ1得:[B,C],[C,D]只在模型上移动,因此在日志上分别添加相应的≫操作。[B,D]只在日志上移动,则在模型上添加一个相应的≫操作。其余紧邻活动对均既在模型上移动又在日志上移动,无需添加≫操作。
同理,迹σ2=〈HBIJL〉的对齐为:
γ2=L≫[H,B][B,I]≫≫≫[I,J][J,L]P[A,H]≫≫[H,I][I,K][K,I][I,J][J,L]。
由γ2得:[A,H],[H,I],[I,K],[K,I]只在模型上移动,因此在日志上分别添加4个相应的≫操作。[H,B],[B,I]只在日志上移动,则在模型上添加两个相应的≫操作。其余紧邻活动对均既在模型上移动又在日志上移动,无需添加≫操作。
考虑到对齐可以很好地展现出日志迹在过程模型上是如何重放的,本文选择利用寻找日志迹与模型的执行迹最优对齐的方式对事件日志与过程模型的符合性进行检测,提出基于紧邻活动对的最优对齐算法,同时提出基于最优匹配活动对序列的拟合度算法以及日志与模型的拟合度算法。
定义8目标活动对。模型中根据紧邻活动对的直接后继关系与路径最短原则执行得到的当前活动对。
基于紧邻活动对的最优对齐算法的基本思路如下:首先根据日志的初始状态确定模型的初始状态(例如图1模型的初始状态为[A,B]或[A,H],待匹配轨迹为σ3=〈ABDE〉,则可确定模型的初始状态为[A,B])。如果模型中无紧邻活动对与待匹配迹中的活动对匹配(例如σ4=〈ACDF〉初始状态为[A,C]),则直接输出该待匹配活动对,再根据紧邻活动对间的直接后继关系,结合代价和最小(由于无匹配的代价均相等,只需找到经历活动对个数最少的路径即可)寻找待匹配迹中下一个紧邻活动对的匹配。以此类推,直到在模型中得到一个紧邻活动对与待匹配迹中的活紧邻动对相匹配。然后将两个匹配的紧邻活动对对齐,其余未匹配的位置用≫添加。接着寻找下一个紧邻活动对的匹配,处理方法同理。以此类推,直到找到整条待匹配活动对序列的最佳匹配。算法停止将分为两种情况:①当日志中待匹配紧邻活动对还有剩余,而模型中再无紧邻活动对与其匹配时,应根据紧邻活动对间的直接后继关系将余下日志中与模型中的紧邻活动对按序输出,并在无匹配的位置添加≫;②若日志的紧邻活动对已经匹配完毕,模型中的紧邻活动对还有剩余,则将余下模型中的紧邻活动对按照直接后继关系依次输出,并在相应的位置添加≫。
例如寻找迹σ3=〈ABFCG〉的最优对齐:显然,σ3的紧邻活动对序列为[A,B][B,F][F,C][C,G]。因为日志的初态为[A,B],所以模型上选择执行B。又因为[B,F]在模型上无匹配,所以根据紧邻活动对间的直接后继关系结合路径最短原则寻找下一个紧邻活动对[F,C]的匹配,此间模型经历的的最短紧邻活动对序列为[A,B],[B,E],[E,F]。当模型执行到[F,C],在模型上有匹配活动对[F,C],则将这两个活动对对齐。接着,发现[C,G]在模型上无匹配,则输出[C,G],并在模型上添加≫。此时,日志上已经匹配完毕,而模型上还有[G,L]没有匹配,直接输出[G,L],在日志上添加≫。因此最优对齐为:
γ3=L[A,B][B,F]≫≫[F,C]≫[C,G]≫≫P[A,B]≫[B,E][E,F][F,C][C,D]≫[D,G][G,L]。
同理,迹σ4=〈HJL〉的最优对齐为:σ4的紧邻活动对序列为[H,J][J,L],值得注意的是,当在模型上寻找[J,L]的匹配时,根据紧邻活动对间直接后继关系将产生两种匹配序列:[A,H][H,I][I,J][J,L]或[A,H][H,I][I,K][K,I][[I,J][J,L]],因为要保证代价最小,即路径最短,所以对应模型上的紧邻活动对序列为[A,H][H,I][I,J][J,L],则
γ4=L≫≫[H,J]≫[J,L]P[A,H][H,I]≫[I,J][J,L]。
由此可知,γ1是最优对齐,而γ2不是最优对齐。
本文提出基于紧邻活动对的单条轨迹与模型最优对齐的代价函数和基于该代价(最小代价)的拟合度函数,运用函数值与0或1的接近程度说明单条迹与模型的拟合程度,最后利用所有轨迹拟合度的平均值代替整个日志与模型的拟合程度。
下面给出代价函数的定义,用于评估对齐方案的好坏。
定义9[10]基于活动对齐的代价。a′∈AP为模型中依据规则执行的当前活动,a″∈AL为日志迹中按序遍历输出的当前活动,Y为轨迹在模型上重演可能产生的对方案,则一个在合法移动上的代价函数为:
由上述代价函数可知,Zi(i=1,2,3,4)的代价分别为Z1=2×1=2;Z2=2×3=6;Z3=2×5=10;Z4=2×3=6。显然,Z1为σ1=〈ABDEFGL〉与模型的最佳匹配。
Cost(γ)=
其中,边活动指模型的起始活动与结束活动,δ为待匹配迹中缺少的边活动个数。
由于需要借助一个介于0~1之间的数字来表达轨迹与模型的拟合程度,Cost(•)并不能直接作为计算拟合度的函数。0~1之间的形式化定义方式有很多种,在此,基于本方法的特殊性与上述代价的实际意义,将单条迹与过程模型的拟合程度定义如下。
定义11单条迹与过程模型拟合度。设σL∈A*为日志中的一条待匹配迹,P为一个过程模型,Cost(γ)为运用基于紧邻活动对最优对齐算法得到的最小代价,m为最佳匹配紧邻活动对序列σP的长度,n为轨迹紧邻活动对序列σP*的长度,则σL与P的拟合程度
因此,当F(σL,P)=1时,说明待匹配迹与模型没有偏差;当F(σL,P)=0时,说明最优对齐只包含仅在日志上和模型上移动,待匹配迹与模型偏差最大。
最后,通过单条轨迹与模型拟合度的平均值定义日志与模型的整体拟合度。
定义12模型与日志拟合度
式中|L|为日志的大小。
算法1基于紧邻活动对的单条迹与过程模型最优对齐算法(AAP)。
输入:单条日志迹trace,Petri网模型P;
输出:最优对齐方案γ。
步骤1根据直接后继关系,将待匹配迹转换为紧邻活动对序列σP*。
步骤5依次输出无匹配的紧邻活动对,并在模型上执行相应的≫操作。
步骤7如果模型上再无紧邻活动对与待匹配的紧邻活动对相匹配,则按序输出日志与模型上的紧邻活动对,并在日志与模型上执行相应的≫操作,输出最优对齐方案γ。
步骤8如果待匹配的紧邻活动对已经匹配完毕,模型上的紧邻活动对还有剩余,则根据紧邻活动对间的直接后继关系,依次输出模型上剩余的紧邻活动对,并在模型上执行相应的≫操作,输出最优对齐方案γ。
算法2拟合度算法(DFA)。
输入:事件日志L、Petri网模型P;
输出:事件日志与模型的拟合度。
步骤1对于每条轨迹σ∈L,根据算法1得到的最优对齐方案γ及
计算最优对齐代价Cost(γ)。
步骤2计算最优匹配活动对序列σP的长度m与待匹配轨迹序列σP*的长度n。
本文实验环境为:Intel Core I5-7200U CPU @可加速至3.1 GHz,内存为8 GB,Windows10 64位操作系统。
实验所用模型由两部分组成:200个典型的业务流程模型收集于SAP流程库(SAP是全球最大的企业资源规划和智能化解决方案的提供商)[23-24];50个流程模型为实验需要,由专业人员建模而成。随机对每个过程模型的日志轨迹进行操作,遍历每一条轨迹,对每个活动进行如下任意一种操作:该活动后插入一个活动;删除该活动;保持不变。然后,对模型与更改后的日志应用算法1来寻找模型与轨迹的最优对齐,再根据算法1的结果及算法2计算拟合度,最后将得到的结果与专家人工得到的最优拟合结果作对比,保证并验证了算法的可行性。限于篇幅,本节仅给出10个过程模型,其中7个来自SAP流程库,3个来自人工模型,10个模型可以参考链接https://pan.baidu.com/s/1e3ccuOcLPTQwATwYKe__IA(提取码为23f1)。根据本文方法进行对应日志的符合性检测,结果如表1和表2所示。
本实验运用多个过程模型与对应日志来验证算法1和算法2的可行性。抽取6个不同过程模型及日志的拟合度实验值,并与手工计算匹配的结果作对比,整理如表1所示。由表1可知,在评估实验中,拟合度算法(算法2)得到的的结果与手工计算匹配的最优结果一致,显示了算法2的可行性。同时,该结果归功于利用提出的基于紧邻活动对的最优对齐算法(算法1)寻找模型与轨迹的最优对齐,说明了算法1的可行性。
表1 实验评估过程模型与日志的拟合度
下面以人工模型Model 1(如图2)与其日志为例,给出过程模型与日志执行算法1和算法2的运行过程。
L′={BFCD,AFGJ,ADE,FIHJ,BDCE,FHIAGIHJ,ABFCDE,AFHJ,AFG,AFH,…,ABDE}为将Model1的500条原日志L进行插入、删除、不变操作得到的500条新日志(限于篇幅,本节只给出部分L′)。
以过程模型Model1、σ1=BFCD作为输入,执行基于紧邻活动对的单条迹与过程模型最优对齐算法(算法1):
(1)执行算法1的步骤1,待匹配迹转换为紧邻活动对序列σP*=[B,F][F,C][C,D][D,E];
(2)执行算法1的步骤2~步骤4,得到对齐方案:
γ=L≫≫[B,F][F,C]P[A,B][B,C]≫≫。
(3)执行算法1的步骤5,得到对齐方案:
γ=L≫≫[B,F][F,C][C,D]P[A,B][B,C]≫≫[C,D]。
(4)执行算法1的步骤6和步骤7,得到对齐方案:
γ1=L≫≫[B,F][F,C][C,D]≫P[A,B][B,C]≫≫[C,D][D,E]。
γ1为σ1=BFCD与模型Model1的最优对齐方案。对σ2~σ500执行相同步骤,输出其最优对齐方案为γ2~γ500。
以事件日志L′与Petri网模型Model 1作为输入,执行拟合度算法(算法2):
(1)执行算法2的步骤1:计算每条迹的最优对齐代价Cost(γ1)=6;Cost(γ2)=0;Cost(γ3)=4;Cost(γ4)=4;Cost(γ5)=2;Cost(γ6)=6;Cost(γ7)=2;Cost(γ8)=4;Cost(γ9)=0;Cost(γ10)=2;Cost(γ11)=2;…;Cost(γ500)=2(用“…”代替中间省略的488条轨迹的最优对齐代价,下面同理)。
(2)执行算法2的步骤2:计算每条紧邻活动对序列长度m1=4,n1=4;m2=3,n2=3;m3=4,n3=2;m4=5,n4=3;m5=4,n5=3;m6=5,n6=2;m7=5,n7=4;m8=4,n8=5;m9=3,n9=3;m10=3,n10=2;m11=3,n11=2;…;m500=4,n500=3。
(3)执行算法2的步骤3:计算单条迹的拟合度F(σ1,P)=0.70;F(σ2,P)=1;F(σ3,P)=0.75;F(σ4,P)=0.80;F(σ5,P)=0.89;F(σ6,P)=0.67;F(σ7,P)=0.91;F(σ8,P)=0.82;F(σ9,P)=1;F(σ10,P)=0.86;F(σ11,P)=0.86;…;F(σ500,P)=0.89。
表2展现了算法1和算法2在不同日志规模下的性能。通过比较相同模型不同日志、不同模型不同日志下算法的运行时间,体现算法的性能。日志7.1和7.2,8.1和8.2,9.1和9.2,10.1和10.2分别对应过程模型7,8,9,10。实验结果表明,在正常规模的模型与日志下,符合性检测算法的运行时间均在可接受范围内。对比日志7.1和7.2或8.1和8.2可知,相同模型下待匹配轨迹越长,耗时越长。对比日志7.2与9.2可知,模型的复杂度也会对算法的运行时间有一定影响,模型越复杂,包含的活动越多,运行时间越长。综上所述,待匹配迹的大小与模型的复杂度共同影响算法的运行时间。产生上述现象的原因也容易理解,日志越长,模型所含活动越多,其各自产生的紧邻活动对越多,算法运行时间越长。
表2 过程模型的基本特征及算法运行时间
为提高企业的管理效率,针对现有的符合性检测方法存在的问题,提出基于直接后继关系对齐的过程符合性方法,用于检测模型能够多大程度上描述已有的日志行为,衡量模型的质量。提出基于紧邻活动对的单条迹与过程模型最优对齐算法,通过活动的直接后继关系将轨迹和模型转换为紧邻活动对序列,根据紧邻活动对的直接后继关系计算轨迹与模型的最优对齐。提出基于代价的拟合度算法,得出日志与模型的拟合程度。通过实验评估,显示了算法的可行性与良好的性能。
该算法尚存在不足之处,那就是对于检查具有重复活动的轨迹与模型的拟合性具有一定的局限性,未来将进一步研究该方面,以适应更多类型的符合性检测。