【合规性检查方法-Fitness4】更为先进的基于Token重演的拟合度评估方法

       基于Token重演曾经是流程挖掘中合规性检查的标准方法。随着更先进的技术(例如,基于对齐的技术)的采用,基于Token重演被放弃了。Alessandro Berti 和 Wil van der Aalst等人于2019年提出了一种更为先进的Token重演的拟合度评估方法,该方法更快且可扩展,下面我们将详细介绍这一算法。

1.背景介绍 

      近年来,基于对齐的已经成为标准的合规性检查方法,因为它们能够找到事件日志中包含的流程模型和流程执行之间的最佳匹配。遗憾的是,它们在复杂过程中的性能模型和大型事件日志很差。基于Token重演的方法曾经是默认技术,但近年来几乎被放弃,因为启发式挖掘或归纳挖掘等算法的输出模型中包含的不可见转换的处理是基于启发式的,并且该技术存在一些已知的缺点。例如,在高度不一致的执行中,模型可能会被令牌淹没,从而导致流程模型中不需要的部分,并阻碍整体适应性评估。此外,仅针对对齐引入了详细的诊断。

        为此,在2019年,Alessandro Berti等人通过解决传统基于Token重演方法的一些缺点,提出了一种改进的基于Token方法。该方法已经集成在PM4Py流程挖掘库

2.传统的Token重演方法存在的问题

(1)无法处理不可见任务

        在重演期间,如果无法使能与活动对应的变迁,并且模型中存在不可见的变迁,则部署一种技术来遍历状态空间,并可能达到启用给定变迁的标记。

(2)Token洪泛问题( token flooding problem)。

        事实上,当案例与模型有很大不同,并且在重演期间插入了大量缺失的Token时,也会出现大量Token未使用的情况,并且使能了许多变迁。这会导致错误的诊断,因为模型中不需要的部分可能会被激活,因此,该问题会导致得到的拟合度值可能过高。为了说明Token洪泛问题,考虑一个没有并发性(仅循环、序列和选择)的流程模型,该模型用Petri网表示。在任何阶段,Petri网中最多应有一个Token。然而,每次出现偏差时,可能会添加Token,导致从初始状态无法到达的状态。

3.改进方法

3.1 改进方法1:应用最短路径通过遍历不可见的变迁来使能变迁

        本文提出的想法是执行预处理步骤,以存储库所之间最短路径的地图(Map),然后在需要遍历静默变迁时使用该地图。这节省了执行状态空间探索所需的时间。因此,所提出的方法适用于Accepting Petri网,这些Petri网没有带有空前集或后置集的不可见变迁,因为它们不属于库所之间的任何最短路径。

        给定一个可接受的Petri网pn=(P,T,F,W,M0,MF,l),可以定义一个有向图G=(V,A),使得顶点V是Petri网的库所P,而A⊆ P×P 为(p1,p2)∈A 当且仅当至少一个不可见变迁将p1连接到p2时。

        使用知情搜索算法(an informed search algorithm)遍历图G,找到节点之间的最短路径。这是最小长度的边序列<a1,...,an>,对应于转换序列<t1,...,tn>.

       接下来,我们通过遍历不可见的变迁来使能变迁t。当活动需要在模型上重演时,这有助于避免插入丢失的Token,但当前标记M中未使能相应的变迁。此外,这有利于避免耗时的状态空间探索。因此,对于标记M和变迁t,可以定义如下函数:

-∆(M, t) = {p ∈ •t | M(p) < W (p, t)}  是缺少一些Token以使能变迁t的库所集。如果∆(M,t)不为空,则无法在标记M中使能转换t。

-Λ(M, t) = {p ∈ P | W (p, t) = 0 ∧ M(p) > 0} 是至少有一个标记的库所集,其中变迁t不需要使能这些位置中的任何一个。

      当变迁t未使能时,∆(M,t)不为空。其思想是使用∧(M,t)中的库所(对使能t无效),并通过最短路径到达使能变迁t的标记M '。

        给定一个库所p1∈ ∧(M,t)和另一个库所p2∈ ∆(M,t),如果G中的p1和p2之间存在路径,则查看相应的最短路径<t1,…,tn>是否可以在标记M中触发是有用的。如果是这种情况,则可以达到标记M ',并且p2中至少有一个Token。然而,该路径可能无法实现,或者可能需要来自t的一个输入库所的Token。因此,∆(M ',t)可以小于∆(M,t),因为p2至少获得一个Token。该方法考虑所有库所的组合(p1、p2)∈ ∧(M,t)×∆(M,t),使得G中的p1和p2之间存在路径。

        对于这一系列的库所组合,通过遍历不可见变迁来使能变迁t的算法考虑了S中按长度排序的变迁序列,并尝试激发它们。如果可以执行路径,则达到标记M ',并且设置∆(M ',t)可以小于∆(M,t),因为∆(M,t)在M '中至少获取一个Token。

        但是,可能发生以下情况之一:1)库所组合(p1,p2)∈ ∧(M,t)×∆(M,t)之间没有最短路径可能触发:在这种情况下,我们被“卡住”(“stuck”)在标记M中,基于Token重演被迫插入丢失的Token;2) 达到标记M ',但∆(M ',t)不是空的,因此变迁t在标记M '时仍然没有使能。在这种情况下,该方法在标记M '上迭代;3) 达到标记M ',并且∆(M ',t)为空,因此在标记M '时使能变迁t。当情况(2)发生时,该方法被迭代。可以设置迭代次数的限制,如果超过该限制,则基于Token重演继续在标记M中插入缺失的Token。

        当考虑没有并发性的健全工作流网络(仅循环、序列和选择)时,该方法很简单,因为在所考虑的设置(M标记,其中未使能变迁t)中,两个集∧(M,t)和∆(M,t)具有单个元素、单个组合(p1,p2)∈ ∧(M,t)×∆(M,t)存在,如果G中的p1和p2之间存在路径,并且最短路径可能在标记M中触发,则将达到标记M 0,从而∆(M 0,t)=∅ 并且变迁t被使能。此外,它在作为流行流程发现算法输出的模型上表现特别好,例如归纳挖掘、启发式挖掘等,其中需要遍历潜在的长链不可见(跳过、循环)转换才能实现转换。

3.2  改进方法2:令牌泛滥问题

        为了解决令牌泛滥问题,我们提出了几种策略,这是使用基于Token重演时最严重的问题之一。这些策略的最终目标是避免激活不应使能的变迁,使模型中有问题的部分拟合度值保持较低。这些策略背后的常见模式是确定多余的Token,即不能再使用的Token。

        在重演期间,f(最初设置为0)是存储“冻结”(frozen)Token数量的附加变量。当一个Token被检测为多余时,它被“冻结”:也就是说,它被从标记中删除,并且f增加。冻结令牌与剩余令牌一样,是在重演中生成但从未使用的Token。因此,在重播结束时,p+m=c+r+f。对于标记中的每个令牌,分配一个年龄(令牌已在标记中而未被消耗的重播迭代次数)。具有最高年龄的Token是移除的最佳候选者。当变迁需要插入缺失的Token以触发时,会部署检测多余Token的技术,因为标记可能会包含更多令牌。可以使用以下策略之一:

        1.使用Petri网在半正不变量( semi-positive invariants )或S分量(S-components )中的分解来限制允许的标记集。考虑到S分量,每个S分量最多应包含1个Token,因此,如果最旧的Token属于公共S组件,则可以安全地删除它们;

        2.使用库所边界:如果一个库所被绑定到N个Token,并且在重演操作期间,标记包含该库所的M>N个令牌,则根据年龄删除“最老”的Token。

3.3 更改实施以提高性能

由于采纳了ProM6中基于对齐的想法,使得提出的方法的实施更加有效:

        1. 修复后缓存(Post-fix caching): 后期修复是案例的最后一部分。在重演案例的过程中,成对标记+后期修复将与从该点使能的变迁列表一起保存在字典中,以达到案例的最终标记。对于下一个重演的案例,如果其中一个恰好达到字典中保存的标记+修复后设置,则可以从字典中检索重演的最后部分。

        2.活动缓存(Activity caching):活动缓存意味着在重演案例期间,将从给定标记使能的不可见变迁列表保存在字典中,以达到使能特定变迁的标记。对于下一个重演的案例,如果其中一个达到字典中保存的标记+目标转换设置,则相应地触发相应的静默变迁以启用目标转换。

4.工具实现及示例

使用pm4py调用Inductive Miner算法的链接地址:

PM4Py - Process Mining for Python (fraunhofer.de)

import pm4py

fitness = pm4py.fitness_token_based_replay(log, net, im, fm)

5.结论

2019年的基于Token重演的方法相较于2009年提出的经典的Token重演方法解决了如下问题:

(1) 通过存储库所之间最短路径地图的预处理步骤对隐式/冗余库所模型进行处理;

(2)  通过定义 “冻结”多余的令牌来解决出现的Token洪泛问题;

(3)采用了基于对齐的方法思想提高速度;

(4)该方法已在PM4Py流程挖掘库中完全实现,能与机器学习等更好地结合。

参考文献:

Berti A, van der Aalst W M P. Reviving Token-based Replay: Increasing Speed While Improving Diagnostics[C]//ATAED@ Petri Nets/ACSD. 2019: 87-103.

 

下一讲将介绍另一个质量维度精确度-Precision的相关技术。

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥有鱼zsp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值