Aalst文章的翻译

来源:互联网 发布:深圳盘古数据股权纠纷 编辑:程序博客网 时间:2024/03/29 15:28

工作流挖掘:从事件日志中发现过程模型

                              原作:W.M.P.van der Aalst, A.J.M.M.Weijters, L.Maruster

                              翻译:聂鸿超

本文着重从数学模型角度介绍一种过程挖掘的算法,主要内容体现在2,3,4部分,现着重翻译如下:

 

2. 前提知识

2.1 Petri-网

    我们使用的是Petri-网的一种变形:P/T-网

    定义2.1: P/T网:一个P/T网是一个三元组(P,T,F),满足:

1.      P是一个关于库所(place)的有限集

2.      T是一个变迁(transition)的有限集且

3.      是一组弧的集合,称为flow关系

一个标记的P/N网由(N,s)表示,其中N=(P,T,F)为一个P/N网,s为P上用于标记网络的一个bag.所有经过标记的P/T网的集合表示为.

一个标记是一个在P集上的bag,也就是说,s是一个从P到自然数的映射.我们用方括号对bag进行计数,比如,[a2,b,c3]表示一个具有两个a,一个b,三个c的bag.两个bag的和(X+Y),差(X-Y),元素包含(a∈A)和子bag(X≤Y)等即如上直观定义.

N来表示一个P/T网,P∪T中的每一个元素称为一个结点(node).一个结点x是另一个结点y的输入结点,当且仅当从x到y有一个直接的弧(即(x,y)∈F).结点x是y的输出结点,当且仅当(y,x)∈F.对于任意的x∈P∪T, ={y|(y,x)∈F}, ={(x,y)∈F}.不致混淆的情况下上标N可以省略.

在输入库所上的黑点表示一个令牌(token),它标志着初始标记.一个带有标记的P/T网的动态行为由激发规则(firing rules)来定义.

定义2.2:激发规则:用(N=(P,T,F),s)来表示一个标识过的P/T网,变迁t∈T被使能,表示为(N,s)[t>,当且仅当 ≤s.激发规则_[_>_ 是满足对任意(N=(P,T,F),s)∈和任意t∈T,由(N,s)[t>=>(N,s)[t>(N,s- + )的最小关系.

 

定义2.3:可到达标记:用(N,s0)表示一个标记过的P/T网,一个标记s可从初始标记s0到达,当且仅当存在从s0激发到s的一个被使能的变迁序列. (N,s0)的可到达标记集记做[N,s0>.

本文用如下方法标记序列:令A为一些标记的字母,A上的长度为n的序列是一个映射σ:{0,…,n-1}->A.长度为0的序列称为空序列并用ε表示.为阅读方便,任何长度为正的序列用并列的映射值来表示.比如, σ={(0,a),(1,a),(2,b)}可写作aab. A上任意长度的序列的集合记做A*.

 

定义2.4:激发序列:用(N=(P,T,F), s0)来表示一个标识过的P/T网,一个序列σ∈T*称为(N,s0)的一个激发序列当且仅当对于一些自然数n∈IN,存在标记s1,s2,…sn和变迁, 使得t1,t2…tn∈T使得σ=t1…tn,且对任意i(0≤i<n)有[N,si>[ti+1>和 = - + .序列σ被称为在标记 处被激活,表示为(N,s0)[σ>.由序列σ激发得到标记sn,记做(N,s0)[σ>(N,sn).

定义2.5:连接性: 一个网N=(P,T,F)是弱连接或简单连接,当且仅当在P∪T中的任意两个结点x和y,x(F∪F-1)*y,其中R-1和R*分别是R的相反集和映射集.网N是强连接的当且仅当对任意的x和y,xF*y.

定义2.6:有界性,安全性:一个标记网(N=(P,T,F), s0)是有界的当且仅当可到达标记[N,s>是有限个.它是安全的,当且仅当对任意s ∈[N,s>和任意p ∈P,有s(p)≤1.注意安全性包含了有界性.

 

2.2 工作流网

大多数的工作流系统都提供标准构建块如AND-split,AND-join,OR-split和OR-join.这些用来对序列性,条件性,并列性和重复性的流程建模.显然,一个Petri网可以用来将流程表示出来.变迁表示任务,而因果关系用库所和弧来表示.事实上,一个库所对应着任务的前态或后态.一个AND-split对应着一个有两个以上输出库所的变迁,而一个AND-join对应着一个有两个以上输入库所的变迁.OR-split和OR-join对应有着多个输入输出弧的库所.因为类似,任务和变迁的概念可以互换使用.

一个用来对工作流的流程控制方向建模的Petri网称为工作流网.注意工作流网只考虑单个情况的动态行为.

定义2.8:工作流网:令N=(P,T,F)表示一个P/T网, 表示一个不在P∪T的新标识.N是一个工作流网(WF网)当且仅当:

1.      对象创建:P包含一个使得 的输入库所i

2.      对象完成: P包含一个使得 的输出库所o

3.      连接性: 是强连接.

定义2.9:有效性:令N=(P,T,F)表示一个带有输入库所i和输出库所o的WF网, N是有效的当且仅当:

1.      安全性: (N,[i])是安全的

2.      正确的结束: 对于任意标记s∈[N,[i]>, o∈s即有s=[o]

3.      可选择的结束: 对于任意s∈[N,[i]>, [o]∈[N,s>

4.      无死任务: (N,[i])不包含死变迁

所有有效的WF网的集合表示为W

 

3 重发现问题

现在我们回到本文的主题: 工作流挖掘. 工作流挖掘的目标就是基于工作流日志得到一个工作流模型(即WF网). 注意事件内部的顺序是相关的而事件之间的顺序并不重要, 由此我们对工作流日志的定义如下:

定义3.1 工作流轨迹,工作流日志: T表示一个任务的集合, σ∈T*为工作流轨迹,W∈P(T*)为工作流日志.

为了基于工作流日志对工作流建模, 我们应该分析日志中的因果依赖关系, 比如说, 如果一个任务总是在另一个任务之后发生,那么它们之间很可能有因果依赖关系. 为了分析它们的关系我们定义如下标记.

定义3.2 基于日志的顺序关系: W表示关于T的工作流日志, 也就是说W∈P(T*). 令a,b∈T

l          当且仅当存在序列σ=t1t2…tn-1,和i∈{1,…n-1}使得σ∈W, 且ti=a,ti+1=b

l          当且仅当

l          当且仅当

l          当且仅当

性质3.3 令W表示一个T上的工作流日志, 对于任意a,b∈T, , , , 必发生其一. 而且这4个关系是互斥的.

下面简介一些定义以便简便的讨论日志和序列问题.

 

定义3.4 (∈,first,last): A表示一个集合, a∈A, σ= ∈A*为长度为n的在A上的序列,有如下定义

1.        a∈σ当且仅当a∈{ }

2.        first(σ)= ,若n≥1

3.        last(σ)= ,若n≥1

为了讨论一种工作流挖掘算法的质量我们要建设所用到的日志是完整的. 对于复杂的过程, 手头的踪迹可能不能充分的发现过程的精确行为. 上述的4个关系对于任何工作流挖掘算法都是重要的信息. 因为这些关系都从 推得, 我们通过此关系来假设日志的完整性.

 

定义3.5 完整的工作流日志: 令N=(P,T,F)表示一个有效的WF网, 即N∈W. W是N的一个工作流日志当且仅当W∈P(T*), 且每一轨迹σ∈W都是N的从状态i起始由状态o终结的激发序列, 也就是说, (N,[i])[σ>(N,[o]). W是N的完整的工作流日志,当且仅当1)对于任意N的工作流日志W’,  2) 对于t∈T有σ∈W使得t∈σ.

一个有效的WF网的工作流日志只包含对应过程的显式的行为. 一个完整的工作流日志意味着所有潜在有直接相互跟随关系的任务在日志中都在某些轨迹中直接的相互跟随. 注意连接输入库所i和输出库所o的变迁对于 来说是”隐式”的. 因此, 我们加了第二个条件. 如果没有这种变迁, 那么这个条件在如下的性质中可以省略.

性质3.6 令N=(P,T,F)表示一个有效的WF网. 若W是N的一个完整的工作流日志, 则

 

定义3.7 重发现能力: 令N=(P,T,F)表示一个有效的WF网, 即N∈W, 且α为一种从N的工作流日志映射到有效的WF网的算法, 即α:P(T*)->W. 若对任意N的完整的工作流日志W此算法得到N(库所重命名后), 则称α能够重发现N.

 

注意没有算法能够发现库所的名字. 因此我们忽略库所的名字. 也就是说, α能够重发现N当且仅当α(W)=N.

 

本文的目标有两个. 首先, 我们要找到一种能够重发现有效的WF网的算法,即在工作流日志的基础上我们可以得到对应的工作流过程.其次, 对于这种算法我们想要知道它适用的有效的WF网的类型. 显然这个类型是越大越好, 但注意没有甚么算法适用于所有类型的有效的WF网.

现在我们总结重发现问题如下:找到一种能够从完整的工作流日志中重发现一类有效的WF网的挖掘算法.

 

 

如图所示:

 

4.       工作流挖掘:

在本部分我们处理重发现问题. 在我们介绍一种能够重发现一大类有效的WF网的算法之前, 我们先研究一下日志中的因果关系与连接变迁的库所之间的关系. 首先我们证明 关系意味着库所的存在. 然后我们研究对于何种网络相反的关系也存在. 基于以上观察我们介绍一种算法.

 

4.1  因果关系意味着连接库所的存在

如果在日志中两个变迁有因果关系,则必存在一库所将两变迁相连.

定理4.1 N=(P,T,F)为一有效WF网, W是N的一个完整工作流日志. 对于任意a,b∈T, 意味着

证明略

4.2  连接库所通常意味着因果关系

这里我们研究何种库所可以简单的从观察日志中发现. 显然并非所有库所都能被发现, 比如说隐含的库所可能不影响过程的行为. 这些库所就不能被发现. 因此, 我们把研究限定于没有隐含库所的WF网.

定义4.2 隐含库所: N=(P,T,F)为初始标记为s的P/T网, 我们称库所p∈P在(N,s)中是隐含库所,当且仅当对于所有可到达标记s’∈[N,s>和变迁t∈ ,

对于重发现问题很重要的一点就是它的结构必须清楚的反映其行为. 因此我们也要对下图中的两种构造进行限制. 在左图中限制的是选择和合成不能同时发生. 如果两个变迁共用一个输入库所而竞争同一令牌, 则它们不应该要求合成. 右图中的限制是如果有合成发生, 则全部前一步的变迁必须都是激发而得,也就是说, 合成之前不可以有OR-join. 满足这些要求的WF网称为结构化WF网.

 

定义4.3 SWF网: WF网N=(P,T,F)是一个结构化WF网(SWF网),当且仅当

  1. 对于所有p∈P,t∈T,(p,t)∈F,有 >1意味着
  2. 对于所有p∈P,t∈T,(p,t)∈F,有 >1意味着
  3. 无隐含库所

 

定义4.3中的条件可能看上去限制太强,但事实上并非如此. 首先, SWF网允许所有实际中遇到的所有路径结构,即序列,并列,条件和重复,而且支持所有基本的工作流构建模块. 其次, 不是SWF网的WF网通常很难理解且应该尽力避免. 再次, 许多工作流管理系统只允许对应于SWF网的工作流过程. 最后,这些要求很有实际意义. 如果去掉了上述限制条件, 通常不能提供成功挖掘所有过程的足够信息.

 

SWF网还满足其他有趣的性质

性质4.4 N=(P,T,F)是一个SWF网. 对于任意a,b∈T, p1,p2∈P, 若

这个性质可由SWF的定义直接得到, 而且它阐明了两个变迁只可能由一个唯一的库所连接. 这个性质证明了SWF网的结构清楚的反映了它的行为, 反之亦然. 这正是我们从日志中重发现一个WF网所需要的.

我们已经证明了 关系意味着库所的存在. 现在我们证明对于SWF网相反的关系也成立. 首先我们关注库所存在与 的关系.

定理4.5 N=(P,T,F)为一有效SWF网, W是N的一个完整工作流日志, 对于任意a,b∈T, 意味着

定理4.6 N=(P,T,F)为一有效SWF网, W是N的一个完整工作流日志, 对于任意a,b∈T, 意味着

非循环网不包含长度为一或二的循环. 因此,很容易得到以下性质

性质4.7 N=(P,T,F)是一个非循环有效SWF网, W是N的一个完整工作流日志. 对于任意a,b∈T, 当且仅当

以上只简介了连接库所与因果关系的对应. 因果关系 只是4种在定义4.3中陈述的基于日志的顺序关系中的一种. 其他关系可以类似以上讨论得到.

 

4.3 挖掘算法

在以上知识的基础上我们现在来介绍一种过程挖掘的算法. 这个算法利用了一个事实, 即对于许多WF网来说两个任务是相连的当且仅当从日志中可以观察出它们的因果关系

 

定义4.9 α算法: W是一个基于T的工作流日志, α(W)定义如下:

1.       

2.       

3.       

4.       

5.       

6.       

7.       

8.       

此挖掘网络构造了一个网络 . 显然变迁集Tw可由直接观察日志得到. 事实上,如性质3.6所言, 若没有长度为1的轨迹, 则Tw可由 得到. 因为很容易找到所有初始变迁Ti和终止变迁To, 我们可以很方便的建立这些变迁之间的连接. 此外我们加入了初始库所iW和终止库所oW, 以及如p(A,B)形式的库所. 对于这些库所而言, 括号中的指的是输入和输出变迁. 当且仅当 时我们在a,b间加入库所. 不过相对与AND关系而言OR关系更需要将一些库所合并. 为此我们因此集合XW和YW. 当且仅当A中每一元素与B中每一成员都有因果关系而AB内部各成员间决无发生的先后关系. 注意若 , ,则a,b不可能同时在A(B)中. YW是从XW中只取出包含性最大的元素而得到的.

我们再回到重发现问题上. 用α算法能重发现WF网吗?

定理4.10 N=(P,T,F)是一个有效SWF网, W是N的一个完整的工作流日志. 若对任意a,b∈T, 或者 , 则重命名库所后 .

 

 

 

 

 

 

 

   

 

下面我们用α算法对上图的WF网产生的上表所示的日志W={ABCD,ACBD,AED}进行分步处理:

1.       

2.       

3.       

4.       

5.       

6.       

7.       

8.        (如下图所示)

尽管得到的不是SWF网,但是一个有效的WF网且它能观察到的行为与上图的网络完全一致.

 

4.4  α算法的局限

此处原文举了一些例子,现根据个人理解归纳如下

1.      通常只适用于SWF网

2.      网络中不能包含短循环(即长度为1或2的循环)

3.      隐含库所不能被发现

4.      不能包含隐含任务和重复任务

 

最后我们以讨论α算法的复杂度作为总结. 日志中可能包含浩瀚的事件. 好在α算法是由关系 驱动的. 因此它的时间复杂度与日志的规模成线性关系. α算法中的其他步骤的时间与任务的数量成指数关系. 但请注意通常任务的数量都小于100而且与日志的规模无关, 因此复杂度并不会称为此算法大规模应用的瓶颈.

 

原创粉丝点击