CN109102150A - 一种基于阶梯矩阵和过程树的过程模型修正方法 - Google Patents

一种基于阶梯矩阵和过程树的过程模型修正方法 Download PDF

Info

Publication number
CN109102150A
CN109102150A CN201810710643.3A CN201810710643A CN109102150A CN 109102150 A CN109102150 A CN 109102150A CN 201810710643 A CN201810710643 A CN 201810710643A CN 109102150 A CN109102150 A CN 109102150A
Authority
CN
China
Prior art keywords
model
log
matrix
algorithm
echelon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810710643.3A
Other languages
English (en)
Other versions
CN109102150B (zh
Inventor
杜玉越
徐玉华
田银花
亓亮
张福新
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN201810710643.3A priority Critical patent/CN109102150B/zh
Publication of CN109102150A publication Critical patent/CN109102150A/zh
Application granted granted Critical
Publication of CN109102150B publication Critical patent/CN109102150B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于阶梯矩阵和过程树的过程模型修正方法,属于过程模型修正领域,基于足迹对比提出了阶梯矩阵,通过阶梯矩阵可以直接对比原始过程模型和事件日志之间的偏差,并将偏差存储在模型偏差矩阵中,根据模型偏差矩阵能精确定位偏差位置。对于在Petri网的并发结构处发生的偏差,将指定并发结构处的所有新活动收集起来,分别作为并发分支添加到原模型中进行修复。利用该方法修复后的过程模型能更加准确地反映实际的业务流程,降低了模型的复杂性。通过对某医院疾病诊断治疗数据的分析,以及与其他方法的对比和分析,例证了该修复方法的有效性和正确性,而且得到的修正模型拟合度和精确度更高。

Description

一种基于阶梯矩阵和过程树的过程模型修正方法
技术领域
本发明涉及过程模型修正领域,具体涉及一种基于阶梯矩阵和过程树的过程模型修正方法。
背景技术
近年来企业信息系统对于支持业务流程而言,变得越来越重要。实时数据的增长使在企业信息系统中提取信息并分析其价值成为可能。过程挖掘是指从现代信息系统中普遍存在的事件日志中抽取过程知识的方法。过程挖掘主要包括三个方面:过程发现、一致性检测和过程增强。其中,过程发现是基于给定的事件日志自动构建过程模型,而不利用任何先验信息;一致性检测是用来验证过程模型是否符合真实的业务过程,将已知的过程模型与事件日志进行对比,检查记录在日志中的实际情况是否和模型相吻合;过程增强是借助事件日志的信息来扩展或改进现有的过程模型。
过程模型的质量主要从以下四个维度来衡量:拟合度、精确度、简洁度和泛化度。其中,拟合度是评价过程模型好坏最重要的指标,拟合度意味着过程模型能够重演全部事件日志的程度;精确度表示得到的模型不应该允许与事件日志中所反映的行为完全无关的行为出现;简洁度指的是最好的模型能够解释日志中所见行为并且为最简单的模型;泛化度是指模型不能够局限于日志中所见的例子行为而能够允许未来的行为。
企业组织一般根据其业务流程挖掘出相应的过程模型。目前,越来越多的过程挖掘算法被提出。文献VAN DER AASLT W M P,WEIJTERS T,MARUSTER L.Workflow mining:discovering process models from event logs[J].IEEE Transactions on Knowledgeand Data Engineering,2004,16(9):1128-1142,提出基于活动的次序关系产生的α算法,是利用完备日志挖掘出一个合理的模型。由于α算法不能有效挖掘包括不可见变迁、重复活动和特定结构的模型,因此出现了α算法的多种变形。文献WEN L,WANG J,VAN DER AASLT WM P,et al.Mining process models with prime invisible tasks[J].Data&KnowledgeEngineering,2010,69(10):999-1021,提出的α#算法改进了α算法不能挖掘不可见变迁的问题。文献WEN L,VAN DER AASLTW M P,WANG J,et al.Mining process models withnon-free-choice constructs[J].Data Mining and Knowledge Discovery,2007,15(2):145-180,针对α算法不能判定非自由选择结构的情况,提出了相应过的过程挖掘方法。随着企业业务的增加,现有的挖掘技术难以发现准确的业务流程,而现有的业务流程管理难以适应企业和组织的发展。最好是基于一个相似或相关的模型来进行修复,而不是从头开始构建一个新模型。这样不仅可以节省时间,还可以减少出错并与企业现有的模型更加一致,因此过程模型修复是必不可少的。
在进行模型修复之前,需要对模型和事件日志进行一致性检测来发现偏差。常用的一致性检测方法有托肯重演、校准、足迹对比等。现有的模型修复方法旨在基于模型与事件日志之间的偏差修复模型。Fahland方法通过校准发现偏差,并将存在偏差的子日志收集起来,借助现有的挖掘算法对子日志进行挖掘,将挖掘出的子过程作为自环添加到原模型适当的位置。Goldratt方法通过校准产生有序对,根据有序对中的元素,将单个活动以自环的形式添加到原模型适当的位置。这两种方法只考虑了拟合度,将子过程或单个活动作为自环添加到过程模型中,使得子过程或单个活动可以无限次循环发生,大大降低了模型的精确度,而且增加了模型的复杂性。
现有的模型修复方法得到的修正结果不理想,主要因为无法准确地定位偏差的位置。例如,利用校准只能模糊地判断可能存在偏差的区域,无法准确识别出每一个存在偏差的区域。
发明内容
针对现有的模型修复方法得到的修正结果不理想的问题,本发明提供一种基于阶梯矩阵和过程树的偏差位置识别和模型修复方法。
本发明采用以下的技术方案:
一种基于阶梯矩阵和过程树的过程模型修正方法,包括以下步骤:
步骤1:构造阶梯矩阵,首先定义基于日志的次序关系,之后定义基于日志的阶梯矩阵和定义基于模型的阶梯矩阵,最后得到模型偏差矩阵;
步骤1.1:定义基于日志的次序关系
设A是所有活动的集合,L表示一个基于集合A的事件日志,A*表示集合A上有限序列的集合,设L∈B(A*)是迹的一个多重集,σ∈L是日志中的一条迹,用&(σ)表示迹σ中所有活动构成的集合,a,b∈&(σ),那么:
1)直接跟随关系>:a>b当且仅当存在一条迹,σ=<t1,t2,…,tn>,i∈{1,2,…,n-1}使得σ∈L,有ti=a且ti+1=b;
2)间接跟随关系>>:a>>b当且仅当t1,…,tn∈&(σ):a>t1>…>tn>b;
3)循环关系 当且仅当[a>>b]n或[a>b]n(n≥2);
4)直接因果关系→:a→b当且仅当a>b并且b≯a;
5)间接因果关系 当且仅当a≯b且b≯a,有a→t1→…→tn→b;
6)并发关系||:a||b当且仅当a,b∈A,对于a,b∈&(σ1):a>b或a>>b,并且对于a,b∈&(σ2):b>a或b>>a;
7)选择关系#:a#b当且仅当a∈&(σ)且
事件日志L={<a,b,c,d,e>,<a,c,b,d,f>,<a,b,c,d,g,a,c,b,d,g,d,f>};
>L表示日志L中所有紧邻的活动对集合;
>>L包括全部具有间接跟随关系的活动对;
包括全部所有具有循环关系的活动对;
L包括全部具有直接因果关系的活动对;
包括全部具有间接因果关系的活动对;
||L包括全部的并发关系活动对;
#L表示日志L中所有选择关系的活动对集合;
步骤1.2:定义基于日志的阶梯矩阵
LLM=(l[i][j])n×n是一个基于日志的阶梯矩阵,n=|A|,|A|表示集合A中元素的个数;
对于ai,aj∈A,i∈{1,…,n-1},j∈{i+1,…,n}:l[i][j]表示活动ai,aj之间基于日志的次序关系;
一个基于日志的阶梯矩阵是事件日志的另一种表达形式,一个基于日志的阶梯矩阵能以形式化的方法表达出对应事件日志中的任意两活动间的次序关系;
考虑事件日志L={<a,b,c,d,e>,<a,c,b,d,f>,<a,b,c,d,g,a,c,b,d,g,d,f>},事件日志L的次序关系如下
基于日志的阶梯矩阵如下:
根据事件日志中各活动间的关系可以得到基于日志的阶梯矩阵,那么根据Petri网模型也能得到基于模型的阶梯矩阵;
步骤1.3:定义基于模型的阶梯矩阵
设PN=(P,T;F,M)是一个Petri网,SPN是重演Petri网得到的序列集;
PLM=(m[i][j])n×n是一个基于模型的阶梯矩阵,n=|T|,|T|表示网中变迁的个数;
对于ti,tj∈T,i∈{1,…,n-1},j∈{i+1,…,n}:m[i][j]表示活动ti,tj之间基于序列集SPN的次序关系;
基于模型的阶梯矩阵看做是Petri网的另一种表达形式,将Petri网作为代表性的网模型,通过对比基于日志次序的阶梯矩阵和基于模型的阶梯矩阵,能够很容易地确定日志与模型间的差异,在比较阶梯矩阵之前,首先要得到这两种阶梯矩阵,算法1给出了基于日志次序的阶梯矩阵的产生方法;
算法1基于日志的阶梯矩阵生成算法
输入:完备事件日志L∈B(A*),|A|;
输出:基于日志的阶梯矩阵LLM;
步骤(1):令
步骤(2):若任意迹σ∈L满足:ai∈σ,i=1,2,…,|σ-1|,则R=R∪{aiσai+1,ai>>σai+n},n=2,…,|σ|-i;
步骤(3):若R中的任意元素满足:[a>>b]n或[a>b]n,则
步骤(4):若R中的任意元素满足:a>b且b≯a,则RL=RL∪{a→b};
步骤(5):若RL中的任意元素满足:a→t1→…→tn→b,则
步骤(6):若R中的任意元素满足:(a>b或a>>b)且(b>a或b>>a),则RL=RL∪{a||b};
步骤(7):若任意迹σ∈L满足:(a∈σ且)或(b∈σ且),则RL=RL∪{a#b};
步骤(8):设n=|A|,初始化LLM,即令l[i][j]=φ,i=1,2,…,n-1且j=2,3,…,n;
步骤(9):对RL中任意元素,令l[i][j]=RL(ai,aj);
步骤(10):得到基于日志的阶梯矩阵LLM;
同理,可生成基于模型的阶梯矩阵PLM;
算法2基于模型的阶梯矩阵生成算法
输入:模型中的完整序列σ‘∈SPN,|T|;
输出:基于模型的阶梯矩阵PLM;
步骤(1):令
步骤(2):若任意序列σ‘∈SPN满足:ai∈σ,i=1,2,…,|σ-1|,则R=R∪{aiσai+1,ai>>σai+n},n=2,…,|σ|-i;
步骤(3):若R中的任意元素满足:[a>>b]n或[a>b]n,则
步骤(4):若R中的任意元素满足:a>b且则RL=RL∪{a→b};
步骤(5):若RL中的任意元素满足:a→t1→…→tn→b,则
步骤(6):若R中的任意元素满足:(a>b或a>>b)且(b>a或b>>a),则RL=RL∪{a||b};
步骤(7):若任意迹σ‘∈SPN满足:(a∈σ‘且)或(b∈σ‘且),则RL=RL∪{a#b};
步骤(8):设n=|T|,初始化PLM,即令m[i][j]=φ,i=1,2,…,n-1且j=2,3,…,n;
步骤(9):对RL中任意元素,令m[i][j]=RL(ai,aj);
步骤(10):得到基于模型的阶梯矩阵PLM;
通过对比基于日志的阶梯矩阵和基于模型的阶梯矩阵,很容易地发现日志和网模型间的差异,为了存储二者之间的偏差,提出模型偏差矩阵的概念;
步骤1.4:定义模型偏差矩阵
DLM=(d[i][j])n×n是模型偏差矩阵,n=|A|,|A|表示集合A中元素的个数,其中,
1)且i+1≤j≤n,当l[i][j]=m[i][j]时,d[i][j]=φ;
2)且i+1≤j≤n,当l[i][j]≠m[i][j]时,d[i][j]=l[i][j];
对于ai,aj∈A,i∈{1,…,n-1},j∈{i+1,…,n}:d[i][j]表示事件日志活动ai,aj异于模型活动ti,tj的次序关系;
DLM中存储的是在日志中但不在模型中的次序关系,DLM中保留了日志与模型中存在偏差的部分,算法3给出了模型偏差矩阵是生成方法;
算法3模型偏差矩阵的生成算法
输入:基于日志的阶梯矩阵LLM,基于模型的阶梯矩阵PLM;
输出:模型偏差矩阵DLM;
步骤(1):A是日志L中所有活动的集合,T是网中所有变迁的集合;
步骤(2):若|A|≥|T|,则n=|A|,否则算法终止;
步骤(3):初始化DLM,即令d[i][j]=φ,i=1,2,…,n-1且j=2,3,…,n;
步骤(4):令i=1,j=i+1;
步骤(5):若i<n且j≤n,执行步骤6;
步骤(6):若l[i][j]≠m[i][j],则d[i][j]=l[i][j];若l[i][j]=m[i][j],则直接执行步骤7;
步骤(7):令i=i+1,j=j+1,返回步骤5;
步骤(8):得到模型偏差矩阵DLM;
在算法3中,需要比较LLM和PLM中的元素,生成DLM,n表示事件日志中的活动数,根据算法3中的第2个循环,需要遍历LLM和PLM中的每一个元素,即需要遍历n×n维的阶梯矩阵,进行比较生成模型偏差矩阵,因此,算法3的复杂度是O(n2);
步骤2:修正并发结构,识别出偏差位置后就能对模型进行修复,定义并发识别对和并发识别对集;
在Petri网的并发结构中,所有分支具有相同的初始变迁和终止变迁,Petri网的过程树记录着网结构和变迁的信息,因此通过Petri网对应的过程树,能够方便地确定Petri网的结构;
通过遍历过程树,找到并发结构的节点,进而找到其最左叶子节点和最右叶子节点,用LLN(I)和RLN(I)表示过程树中并发结构的最左叶子节点和最右叶子节点,与Petri网结合,能够找到最左叶子节点的超前集,即前集的前集,能找到最右叶子节点的超后集,即后集的后集,从而得到并发结构的初始变迁和终止变迁,将并发结构的初始变迁和终止变迁所组成的二元组称为并发识别对,将一个Petri网中所有的并发识别对称为并发识别对集,下面给出形式化的定义:
定义并发识别对和并发识别对集
设A是所有活动的集合,且PN=(P,T;F,M),PT是PN的过程树,并发识别对cit是一个二元组(ti,to),且满足:
1)且I=“∧”,I为过程树PT的非叶子节点,∧表示并发关系,该操作符对应的子树全部发生;
2)ti=(˙(˙(LLN(I))))且to=(((RLN(I))˙)˙),(˙(˙(LLN(I))))代表LLN(I)前集的前集,(((RLN(I))˙)˙)代表RLN(I)后集的后集;
并发识别对集CITS是包含所有并发识别对的集合,即CITS={(ti,to)|ti=(˙(˙(LLN(I)))),to=(((RLN(I))˙)˙),且I=“∧”};
算法4并发识别元组集CITS的产生算法
输入:过程树PT的非叶子节点I,Petri网PN=(P,T;F,M);
输出:并发识别元组集CITS;
步骤(1):令
步骤(2):若执行步骤3;
步骤(3):若I=“∧”,则CITS=CITS∪{(˙(˙(LLN(I)))),(((RLN(I))˙)˙)};否则找到I中的所有子节点,返回步骤2;
步骤(4):得到并发识别对集CITS;
通过比较基于日志和基于模型的阶梯矩阵,产生模型偏差矩阵,如果模型偏差矩阵中有新元素产生,且新元素与原有元素具有并发关系,则该元素应被作为一条并发分支添加到原有并发结构中,以增强模型的精确度;
在实际的业务流程中,会有多个新活动产生,因此算法5通过并发识别对,可以收集指定并发结构处所有的新增活动,以便将所有新增活动分别作为一条分支添加到原模型中;
算法5特定并发结构的新增活动收集算法
输入:模型偏差矩阵DLM,并发识别对cit;
输出:符合条件的新活动;
步骤(1):令n’=|A-T|,n=|A|;
步骤(2):令i=1,j=i+1;
步骤(3):若i≤n且j≤n’,执行步骤4;
步骤(4):若d[i][j]=“||”且π1(cit)=˙(˙di)且π2(cit)=(di˙)˙,执行步骤5;
步骤(5):若则Ccit=Ccit∪dj;否则直接执行步骤6;
步骤(6):令i=i+1,j=j+1,返回步骤3;
步骤(7):得到新活动集Ccit
在算法5中,遍历DLM收集属于并发结构的新活动,根据CITS中的并发识别对cit,将新活动匹配到对应的Ccit中;在此过程中,算法5需要遍历DLM中的所有元素,算法5包含2层循环,n和n’表示DLM是n×n’维矩阵;因此,算法5的复杂度是O(n×n’);
利用算法4求得原始过程模型中的所有并发识别对,算法5将指定并发结构处的新活动收集起来,算法6将所有新活动分别作为一条分支添加到相应的并发结构处;
算法6并发结构中添加新分支的算法
输入:Ccit,并发识别对cit,原模型PN;
输出:修复后的模型PN’;
步骤(1):对于任意元素t∈Ccit,令PNs=Miner(t);//Miner()是一种现有的挖掘方法
步骤(2):令PN’=PN;
步骤(3):若pi∈˙t,则F’=F’∪{π1(cit),pi};
步骤(4):若po∈t˙,则F’=F’∪{po2(cit)};
步骤(5):令P’=P’∪PS
步骤(6):令T’=T’∪TS
步骤(7):得到修复模型PN’;
利用算法6,将新活动作为一条分支添加到指定的并发结构处,可以达到修复过程模型的目的,从而提高修复后模型的精确度。
本发明具有的有益效果是:
本发明基于足迹对比提出了阶梯矩阵,通过阶梯矩阵可以直接对比原始过程模型和事件日志之间的偏差,并将偏差存储在模型偏差矩阵中,根据模型偏差矩阵能精确定位偏差位置。对于在Petri网的并发结构处发生的偏差,将指定并发结构处的所有新活动收集起来,分别作为并发分支添加到原模型中进行修复。利用该方法修复后的过程模型能更加准确地反映实际的业务流程,降低了模型的复杂性。
附图说明
图1为过程模型PN1的示意图。
图2为PN1对应的过程树PT1的示意图。
图3为利用本发明的方法修复后的模型示意图。
图4为利用Fahland方法修复后的模型示意图。
图5为利用Goldratt方法修复后的模型示意图。
图6为实施例1肠胃病患者就诊流程的Petri网模型示意图。
图7为实施例1利用Fahland方法修复后的模型示意图。
图8为实施例1利用本发明的方法修复后的模型示意图。
图9拟合度变化曲线图。
图10精确度变化曲线图。
图11泛化度变化曲线图。
具体实施方式
下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:
定义前集、后集
设N=(P,T;F)为一个网,其中,P是有限个库所的集合,T是有限个变迁的集合, 是网N的有限弧集合。对于
˙x={y|y∈P∪T∧(y,x)∈F},
x˙={y|y∈P∪T∧(x,y)∈F},
称˙x为x的前集或输入集,x˙为x的后集或输出集。
定义Petri网
一个四元组PN=(P,T;F,M)称作Petri网,当且仅当:
1)N=(P,T;F)为一个网;
2)映射M:P→N+,M称为网N的一个标识;
3)变迁发生规则:
①对变迁t∈T,如果M(p)≥1,则称变迁t在标识M下使能,记为M[t>;
②若M[t>,则在标识M下,变迁t可以发生,从标识M引发变迁t得到一个新的标识M’,记为M[t>M’,且对有:
从M可达的一切标识的集合记为R(M),约定M∈R(M)。
工作流网是一个有着唯一初始库所和终止库所的Petri网,过程树是对工作流网的抽象表示。过程树的叶子节点表示Petri网的活动,非叶子节点表示活动间的关系。运用递归的方法给出如下定义:
定义过程树
设A是活动集,是给定的操作符集,τ是隐式变迁,则有:
1)a∈A∪{τ}是一个过程树;
2)设PT1,…,PTn(n>0)是过程树,则也是过程树。
操作符集中的操作符共有4种:→表示顺序关系,该操作符对应的子树从左至右依次发生;表示选择关系,该操作符对应的子树只有一个会发生;表示循环关系,其中PT1表示循环体,PT2,…,PTn(n≥2)表示循环路径;∧表示并发关系,该操作符对应的子树全部发生。
一种基于阶梯矩阵和过程树的过程模型修正方法,包括以下步骤:
步骤1:构造阶梯矩阵,首先定义基于日志的次序关系,之后定义基于日志的阶梯矩阵和定义基于模型的阶梯矩阵,最后得到模型偏差矩阵。
随着实际环境的改变,现实中的流程也可能发生改变。因此,需要从事件日志中提取流程的相关信息,从而完成对流程的监测、分析和改进,实现增强企业业务流程的目的。实际的业务流程中工作效率的提高或者新部门的增加都有可能导致新活动的增加。
步骤1.1:定义基于日志的次序关系
设A是所有活动的集合,L表示一个基于集合A的事件日志,A*表示集合A上有限序列的集合,设即L∈B(A*)是迹的一个多重集,σ∈L是日志中的一条迹,用&(σ)表示迹σ中所有活动构成的集合,a,b∈&(σ),那么:
1)直接跟随关系>:a>b当且仅当存在一条迹,σ=<t1,t2,…,tn>,i∈{1,2,…,n-1}使得σ∈L,有ti=a且ti+1=b;
2)间接跟随关系>>:a>>b当且仅当a>t1>…>tn>b;
3)循环关系 当且仅当[a>>b]n或[a>b]n(n≥2);
4)直接因果关系→:a→b当且仅当a>b并且
5)间接因果关系当且仅当a≯b且b≯a,有a→t1→…→tn→b;
6)并发关系||:a||b当且仅当a,b∈A,对于a,b∈&(σ1):a>b或a>>b,并且对于a,b∈&(σ2):b>a或b>>a;
7)选择关系#:a#b当且仅当a∈&(σ)且
考虑事件日志L={<a,b,c,d,e>,<a,c,b,d,f>,<a,b,c,d,g,a,c,b,d,g,d,f>},>L表示日志L中所有紧邻的活动对集合,例如在迹<a,b,c,d,e>中d紧跟在c之后,所以有c>Ld。
>>L包括全部具有间接跟随关系的活动对。包括全部所有具有循环关系的活动对。
L包括全部具有直接因果关系的活动对,例如c→L d,因为有时d紧跟在c之后,反之则不然。
包括全部具有间接因果关系的活动对。
||L包括全部的并发关系活动对,例如b和c之间具有并发关系是指在一条迹中如果b发生则c就一定会发生。
#L表示日志L中所有选择关系的活动对集合,例如e和f之间具有选择关系是指在一条迹中e,f不能同时发生。
步骤1.2:定义基于日志的阶梯矩阵
LLM=(l[i][j])n×n是一个基于日志的阶梯矩阵,n=|A|,|A|表示集合A中元素的个数。
对于ai,aj∈A,i∈{1,…,n-1},j∈{i+1,…,n}:l[i][j]表示活动ai,aj之间基于日志的次序关系。
一个基于日志的阶梯矩阵是事件日志的另一种表达形式。一个基于日志的阶梯矩阵能以形式化的方法表达出对应事件日志中的任意两活动间的次序关系。
例如在事件日志中,活动a,b间的次序关系可能是a→b,a||b,a#b,在此基础上还可以进一步确定a,b间的循环关系利用阶梯矩阵会比普通的足迹矩阵节省更多的时间和空间,只需要比较一半的元素即可。
考虑事件日志L={<a,b,c,d,e>,<a,c,b,d,f>,<a,b,c,d,g,a,c,b,d,g,d,f>},事件日志L的次序关系如下
基于日志的阶梯矩阵如下:
根据事件日志中各活动间的关系可以得到基于日志的阶梯矩阵,那么根据Petri网模型也可以得到基于模型的阶梯矩阵。
步骤1.3:定义基于模型的阶梯矩阵
设PN=(P,T;F,M)是一个Petri网,SPN是重演Petri网得到的序列集。
PLM=(m[i][j])n×n是一个基于模型的阶梯矩阵,n=|T|,|T|表示网中变迁的个数。
对于ti,tj∈T,i∈{1,…,n-1},j∈{i+1,…,n}:m[i][j]表示活动ti,tj之间基于序列集SPN的次序关系。
基于模型的阶梯矩阵可以看做是Petri网的另一种表达形式。将Petri网作为代表性的网模型,通过对比基于日志次序的阶梯矩阵和基于模型的阶梯矩阵,能够很容易地确定日志与模型间的差异。在比较阶梯矩阵之前,首先要得到这两种阶梯矩阵。算法1给出了基于日志次序的阶梯矩阵的产生方法。
算法1基于日志的阶梯矩阵生成算法
输入:完备事件日志L∈B(A*),|A|;
输出:基于日志的阶梯矩阵LLM;
步骤(1):令
步骤(2):若任意迹σ∈L满足:ai∈σ,i=1,2,…,|σ-1|,则R=R∪{ai>σai+1,ai>>σai+n},n=2,…,|σ|-i;
步骤(3):若R中的任意元素满足:[a>>b]n或[a>b]n,则
步骤(4):若R中的任意元素满足:a>b且b≯a,则RL=RL∪{a→b};
步骤(5):若RL中的任意元素满足:a→t1→…→tn→b,则
步骤(6):若R中的任意元素满足:(a>b或a>>b)且(b>a或b>>a),则RL=RL∪{a||b};
步骤(7):若任意迹σ∈L满足:(a∈σ且)或(b∈σ且),则RL=RL∪{a#b};
步骤(8):设n=|A|,初始化LLM,即令l[i][j]=φ,i=1,2,…,n-1且j=2,3,…,n;
步骤(9):对RL中任意元素,令l[i][j]=RL(ai,aj);
步骤(10):得到基于日志的阶梯矩阵LLM。
同理,可生成基于模型的阶梯矩阵PLM。
算法2基于模型的阶梯矩阵生成算法
输入:完备事件日志L∈B(A*),|A|;
输出:基于模型的阶梯矩阵PLM;
步骤(1):令
步骤(2):若任意序列σ‘∈SPN满足:ai∈σ,i=1,2,…,|σ-1|,则R=R∪{ai>σai+1,ai>>σai+n},n=2,…,|σ|-i;
步骤(3):若R中的任意元素满足:[a>>b]n或[a>b]n,则
步骤(4):若R中的任意元素满足:a>b且b≯a,则RL=RL∪{a→b};
步骤(5):若RL中的任意元素满足:a→t1→…→tn→b,则
步骤(6):若R中的任意元素满足:(a>b或a>>b)且(b>a或b>>a),则RL=RL∪{a||b};
步骤(7):若任意迹σ‘∈SPN满足:(a∈σ‘且)或(b∈σ‘且),则RL=RL∪{a#b};
步骤(8):设n=|T|,初始化PLM,即令m[i][j]=φ,i=1,2,…,n-1且j=2,3,…,n;
步骤(9):对RL中任意元素,令m[i][j]=RL(ai,aj);
步骤(10):得到基于模型的阶梯矩阵PLM。
得出定理1:PN=(P,T;F,M)是一个Petri网,则通过PLM中ti与其他活动的次序关系,能确定包含ti的结构。
证明:基于算法1生成的PLM,对于如果且在PLM中ti→tj,则ti在顺序结构中;对于如果且在PLM中则ti在循环结构中;对于 如果且在PLM中ti||tj,则ti在并发结构中;对于如果且在PLM中ti×tj,则ti在选择结构中。
根据定理1可以知道过程模型中存在的结构。如果PLM中有a→b,则在过程模型中存在顺序结构;如果PLM中有则在过程模型中存在循环结构;如果PLM中有a||b,则在过程模型中存在并发结构;如果PLM中有a×b,则在过程模型中存在选择结构。
下面通过一个例子进行说明,例1,过程模型PN1如图1所示,事件日志L1={<a,b,c,g,d,e>,<a,b,g,c,d,e>,<a,c,b,g,d,f>,<a,c,g,b,d,e>,<a,g,b,c,d,f>,<a,g,c,b,d,e>}。下面列出基于日志的次序关系,并得到基于日志的阶梯矩阵和基于模型的阶梯矩阵。
日志L1的6条迹中包含的所有的次序关系如下所示:
1)直接跟随关系>:
σ1={(a,b),(b,c),(c,g),(g,d),(d,e)}
σ2={(a,b),(b,g),(g,c),(c,d),(d,e)}
σ3={(a,c),(c,b),(b,g),(g,d),(d,f)}
σ4={(a,c),(c,g),(g,b),(b,d),(d,e)}
σ5={(a,g),(g,b),(b,c),(c,d),(d,f)}
σ6={(a,g),(g,c),(c,b),(b,d),(d,e)}
L={(a,b),(a,c),(a,g),(b,c),(b,g),(c,b),(c,g),(g,b),(g,c),(g,d),(c,d),(b,d),(d,e),(d,f)}
2)间接跟随关系>>:
>>σ1={(a,c),(a,g),(a,d),(a,e),(b,g),(b,d),(b,e),(c,d),(c,e),(g,e)}
>>σ2={(a,g),(a,c),(a,d),(a,e),(b,c),(b,d),(b,e),(g,d),(g,e),(c,e)}
>>σ3={(a,b),(a,g),(a,d),(a,f),(c,g),(c,d),(c,f),(b,d),(b,f),(g,f)}
>>σ4={(a,g),(a,b),(a,d),(a,e),(c,b),(c,d),(c,e),(g,d),(g,e),(b,e)}
>>σ5={(a,b),(a,c),(a,d),(a,f),(g,c),(g,d),(g,f),(b,d),(b,f),(d,f)}
>>σ6={(a,c),(a,b),(a,d),(a,e),(g,b),(g,d),(g,e),(c,d),(c,e),(b,e)}
>>L={(a,c),(a,g),(a,b),(a,d),(a,e),(a,f),(b,g),(b,c),(b,d),(b,e),(b,f),(c,g),(c,d),(c,b),(c,f),(c,e),(g,c),(g,b),(g,d),(g,f),(g,e)}
3)循环关系
4)直接因果关系→:
L={(a,b),(a,c),(a,g),(g,d),(c,d),(b,d),(d,e),(d,f)}
5)间接因果关系
6)并发关系||:
||L={(b,c),(b,g),(c,g)}
7)选择关系#:
#L={(d,e)}
由此得到L1的阶梯矩阵如下:
同理可得PN1的阶梯矩阵,如下:
为了更加容易的对比日志的阶梯矩阵和模型的阶梯矩阵,在模型的阶梯矩阵中添加了新活动g。
通过对比基于日志的阶梯矩阵和基于模型的阶梯矩阵,可以很容易地发现日志和网模型间的差异,为了存储二者之间的偏差,本文提出模型偏差矩阵的概念。
步骤1.4:定义模型偏差矩阵
DLM=(d[i][j])n×n是模型偏差矩阵,n=|A|,|A|表示集合A中元素的个数。其中
1)且i+1≤j≤n,当l[i][j]=m[i][j]时,d[i][j]=φ;
2)且i+1≤j≤n,当l[i][j]≠m[i][j]时,d[i][j]=l[i][j]。
对于ai,aj∈A,i∈{1,…,n-1},j∈{i+1,…,n}:d[i][j]表示事件日志活动ai,aj异于模型活动ti,tj的次序关系。
DLM中存储的是在日志中但不在模型中的次序关系。DLM中保留了日志与模型中存在偏差的部分,算法3给出了模型偏差矩阵是生成方法。
算法3模型偏差矩阵的生成算法
输入:基于日志的阶梯矩阵LLM,基于模型的阶梯矩阵PLM;
输出:模型偏差矩阵DLM;
步骤(1):A是日志L中所有活动的集合,T是网中所有变迁的集合;
步骤(2):若|A|≥|T|,则n=|A|,否则算法终止;
步骤(3):初始化DLM,即令d[i][j]=φ,i=1,2,…,n-1且j=2,3,…,n;
步骤(4):令i=1,j=i+1;
步骤(5):若i<n且j≤n,执行步骤6;
步骤(6):若l[i][j]≠m[i][j],则d[i][j]=l[i][j];若l[i][j]=m[i][j],则直接执行步骤7;
步骤(7):令i=i+1,j=j+1,返回步骤5;
步骤(8):得到模型偏差矩阵DLM。
在算法3中,需要比较LLM和PLM中的元素,生成DLM。n表示事件日志中的活动数,根据算法3中的第2个循环,需要遍历LLM和PLM中的每一个元素,即需要遍历n×n维的阶梯矩阵,进行比较生成模型偏差矩阵。因此,算法3的复杂度是O(n2)。
得出定理2:PN=(P,T;F,M)是一个Petri网,若a∈A对于PN是一个新的活动,则当在PN中添加a时,由DLM可确定a的添加位置。
证明:基于算法3生成的DLM,对于如果a∈&(l),则a可能在顺序结构和并发结构中。如果在DLM中,且a→b,则需要用顺序结构连接a和b,并满足(a)˙=˙(b);如果在DLM中,且a||b,则需要用并发结构连接a和b,并满足˙(˙(a))=˙(˙(b))。如果a∈&(l)且则a可能在选择结构中。如果在DLM中,且a×b,则需要用选择结构连接a和b,并满足˙(a)=˙(b)。因此可以通过DLM可以确定a的添加位置。
定理2根据算法3得到的模型偏差矩阵确定新活动a的添加位置,由定理2可以确定a与过程模型中原有活动的次序关系。
下面通过一个例子进行说明,例2,过程模型PN1如图1所示,日志L2={<a,b,c,g,d,e>,<a,b,g,c,d,e>,<a,c,b,g,d,f>,<a,c,g,b,d,e>,<a,g,b,c,d,f>,<a,g,c,b,d,e>}。根据例1所得结果,利用算法3得到模型偏差矩阵如下:
模型偏差矩阵记录日志和模型存在偏差的部分,根据模型偏差矩阵可以确定偏差的位置。由例2知模型偏差矩阵中存储了活动g和其他活动的次序关系,因此g为新活动,应将其添加到原模型中。
步骤2:修正并发结构,识别出偏差位置后就能对模型进行修复,定义并发识别对和并发识别对集。
识别出偏差位置后就可以对模型进行修复。本节针对实际流程中在原有并发结构中添加新活动的情况,结合过程树确定原有并发结构的位置,收集指定并发结构处所有的新活动,将新活动作为分支添加到原有的并发结构中,达到修复过程模型的目的。
在Petri网的并发结构中,所有分支具有相同的初始变迁和终止变迁。Petri网的过程树记录着网结构和变迁的信息,因此通过Petri网对应的过程树,能够方便地确定Petri网的结构。以PN1为例的过程树如图2所示:
通过遍历过程树,可以找到并发结构的节点,进而找到其最左叶子节点和最右叶子节点。用LLN(I)和RLN(I)表示过程树中并发结构的最左叶子节点和最右叶子节点,与Petri网结合,能够找到最左叶子节点的超前集(前集的前集)和最右叶子节点的超后集(后集的后集),从而得到并发结构的初始变迁和终止变迁。将并发结构的初始变迁和终止变迁所组成的二元组称为并发识别对,将一个Petri网中所有的并发识别对称为并发识别对集,下面给出形式化的定义:
定义并发识别对和并发识别对集
设A是所有活动的集合,且PN=(P,T;F,M),PT是PN的过程树,并发识别对cit是一个二元组(ti,to),且满足:
1)且I=“∧”,I为过程树PT的非叶子节点,∧表示并发关系,该操作符对应的子树全部发生;
2)ti=(˙(˙(LLN(I))))且to=(((RLN(I))˙)˙),(˙(˙(LLN(I))))代表LLN(I)前集的前集,(((RLN(I))˙)˙)代表RLN(I)后集的后集。
并发识别对集CITS是包含所有并发识别对的集合,即
算法4并发识别元组集CITS的产生算法
输入:过程树PT的非叶子节点I,Petri网PN=(P,T;F,M);
输出:并发识别元组集CITS;
步骤(1):令
步骤(2):若执行步骤3;
步骤(3):若I=“∧”,则CITS=CITS∪{(˙(˙(LLN(I)))),(((RLN(I))˙)˙)};否则找到I中的所有子节点,返回步骤2;
步骤(4):得到并发识别对集CITS。
以过程树PT1为例,存在并发操作(b,c)。寻找该集合的超前集和超后集,可以找到一组并发识别对(a,d)。
通过比较基于日志和基于模型的阶梯矩阵,产生模型偏差矩阵,如果模型偏差矩阵中有新元素产生,且新元素与原有元素具有并发关系,则该元素应被作为一条并发分支添加到原有并发结构中,以增强模型的精确度。
得出定理3:PN=(P,T;F,M)是一个Petri网,a对于PN是一个新活动,则根据DLM和cit可确定a所属并发结构。
证明:a是PN的一个新活动,若在DLM中,且di对应新活动a,dj对应PN中原有活动t,则a与t同属一个并发结构。根据算法4得到的CITS,可以从中找出t所属并发结构,即满足π1(cit)=˙(˙t),π2(cit)=(t˙)˙,πi(cit)表示cit的第i个元素,1≤i≤2;又a||t,所以有˙(˙a)=π1(cit),(a˙)˙=π2(cit),即a∈Ccit。因此根据DLM和cit可以确定a所属并发结构。
在实际的业务流程中,可能有多个新活动产生,因此算法5通过并发识别对,可以收集指定并发结构处所有的新增活动,以便将所有新增活动分别作为一条分支添加到原模型中。
算法5特定并发结构的新增活动收集算法
输入:模型偏差矩阵DLM,并发识别对cit;
输出:符合条件的新活动;
步骤(1):令n’=|A-T|,n=|A|;
步骤(2):令i=1,j=i+1;
步骤(3):若i≤n且j≤n’,执行步骤4;
步骤(4):若d[i][j]=“||”且π1(cit)=˙(˙di)且π2(cit)=(di˙)˙,执行步骤5;
步骤(5):若则Ccit=Ccit∪dj;否则直接执行步骤6;
步骤(6):令i=i+1,j=j+1,返回步骤3;
步骤(7):得到新活动集Ccit
在算法5中,遍历DLM收集属于并发结构的新活动,根据CITS中的并发识别对cit,将新活动匹配到对应的Ccit中。在此过程中,算法5需要遍历DLM中的所有元素,算法5包含2层循环,n和n’表示DLM是n×n’维矩阵。因此,算法5的复杂度是O(n×n’)。
以Petri网PN1为例,对于例2中得到的模型偏差矩阵,通过算法5得到C(a,d)={g},即新活动g所属并发结构的初始变迁为a,终止变迁为d。
利用算法4求得原始过程模型中的所有并发识别对,算法5将指定并发结构处的新活动收集起来,算法6将所有新活动分别作为一条分支添加到相应的并发结构处。
算法6并发结构中添加新分支的算法
输入:Ccit,并发识别对cit,原模型PN;
输出:修复后的模型PN’;
步骤(1):对于任意元素t∈Ccit,令PNs=Miner(t);//Miner()是一种现有的挖掘方法
步骤(2):令PN’=PN;
步骤(3):若pi∈˙t,则F’=F’∪{π1(cit),pi};
步骤(4):若po∈t˙,则F’=F’∪{po2(cit)};
步骤(5):令P’=P’∪PS
步骤(6):令T’=T’∪TS
步骤(7):得到修复模型PN’。
利用算法6,将新活动作为一条分支添加到指定的并发结构处,可以达到修复过程模型的目的,从而提高修复后模型的精确度。
下面通过一个例子进行说明,例3,对于图1中的过程模型PN1,事件日志L2={<a,b,c,g,h,d,e>,<a,b,c,h,g,d,e>,<a,b,g,c,h,d,f>,<a,b,g,h,c,d,e>,<a,b,h,c,g,d,f>,<a,b,h,g,c,d,e>,<a,c,b,g,h,d,e>,<a,c,b,h,g,d,f>,<a,c,g,b,h,d,e>,<a,c,g,h,b,d,e>,<a,c,h,b,g,d,f>,<a,c,h,g,b,d,e>,<a,g,b,c,h,d,e>,<a,g,b,h,c,d,f>,<a,g,c,b,h,d,e>,<a,g,c,h,b,d,e>,<a,g,h,b,c,d,f>,<a,g,h,c,b,d,e>,<a,h,b,c,g,d,e>,<a,h,b,g,c,d,f>,<a,h,c,b,g,d,e>,<a,h,c,g,b,d,e>,<a,h,g,b,c,d,f>,<a,h,g,c,b,d,e>}。
L2的阶梯矩阵如下:
PN1的阶梯矩阵如下:
在此基础上得到的模型偏差矩阵如下:
观察模型偏差矩阵可知,g和h为新活动,且与原有活动b,c是并发关系。根据PN1的过程树PT1可知,活动b,c位于并发结构中,且该并发结构的初始和终止变迁分别为a和d。使用算法6,将g和h分别作为一条并发分支添加到并发结构中,修正结果如图3所示。利用Fahland方法修复后的模型如图4所示,利用Goldratt方法修复后的模型如图5所示。
对比图3、图4和图5可以看出,Fahland方法和Goldratt方法修复后的模型出现了自环,会使某些活动重复出现,降低了模型的精确度。而本发明的方法将新活动作为分支添加到相应的并发结构处,且没有出现自环,从而提高了模型的精确度。
实施例1
下面以某医院肠胃诊断治疗流程为例,在原有的事件日志的基础上进行模型挖掘,得到如图6所示的Petri网模型。主要活动过程描述如下:病人先进行挂号(Register),然后病人按照顺序去门诊就诊(Visit outpatient),问诊之后去做胃镜检查(Gastroscopy),检查完毕后让医生查看检查结果(See the result),没有疾病离开门诊(leave the clinic),如果患者有肠胃疾病,需要去消化内科(Gastroenterology)作进一步的检查。检查到主要方式有X射线扫描(X-ray scanning),CT扫描(CT scanning),核磁共振(Nuclear magnetic resonance)。做完这些检查后,病人需要去胃肠护理门诊制定治疗计划(Gastrointestinal care clinic),然后再去手术门诊(Surgery clinic)准备手术过程。同时进行心电图(ECG)和化验检测(Laboratory testing)。然后,同医生进行商议(Consult with the doctor),患者办理住院手续(Admit to hospital),并进行手术(Surgery)。最后患者痊愈出院(Discharge from hospital)。
本文采取某医院肠胃科的事件日志,请注意,事件日志采用XES格式。我们共选取10组不同长度的事件日志来修复过程模型。表1所示为通过手工移除明显偏离模型的案例过滤得到的10组事件日志,包括迹的总数、事件数、活动数、迹的长度范围和迹中出现的偏差总数。
表1 10组事件日志
这10组事件日志中出现了多个新活动,例如在去消化内科做进一步检查时,还需要做腹部超声检查(Abdominal ultrasound)。在确定患病后,病人去手术门诊准备手术中,还需要制定饮食计划(Diet plan)和进行术前评估(Preoperative evaluation)。若采用Fahland方法,对过程模型进行修复,修复后的模型如图7所示,图中有多处自环产生。不同于Fahland方法,对于发生在并发结构处的偏差,本发明提出基于阶梯矩阵和过程树的过程模型修正方法(Ladder Matrix and Process Tree,简称LMAPT方法),先根据模型偏差矩阵确定偏差位置,再将指定并发结构处的所有新活动全部收集,分别作为并发分支添加到原模型中。修复后的模型如图8所示。
对修复后的模型进行评价,我们将本发明提出的LMAPT的方法与现有的两种方法,即Fahland方法和Golaratt方法,进行拟合度、精确度、泛化度和简洁度的比较分析。本发明采用不同数量级的事件日志对三种方法修复的过程模型进行比较。
图9所示为三种修正技术在不同数量级下,修正模型拟合度的变化情况。由图9可见,三种修正方法得到的过程模型在拟合度上没有明显的波动,LMAPT方法和Fahland方法修复后模型的拟合度维持在一个较高的水平,Goldratt方法拟合度与二者相比略低,因为有些迹在修复后的模型中不能被完全重演。
图10所示为三种修正技术在不同数量级下,修正模型精确度的变化情况。由于Fahland方法和Goldratt方法将新活动作为自环添加到模型中,使得新活动可以无限次循环发生,因此降低了模型的精确度。而本文的LMAPT方法,将新活动作为分支添加到原模型中,修复后的模型的精确度仍能保持在一个相对高较的数值。对于不同的数量级事件日志,这一情形相似。
图11所示为三种修正技术在不同数量级下,修正模型泛化度的变化情况。由图11可见,对于日志L1和L2,Goldratt方法的泛化度较高,对于其他日志,这三种方法的泛化度差别较小,随着事件日志中迹的数量增加,均有较好的泛化度。
简洁意味着过程模型需要尽可能简单,根据主要的标准:增加的库所数、变迁数、不可见变迁数和弧数,比较三种方法得到的修复模型。与图6中的原始模型相比,表2显示了这些方法分别为修复模型添加的库所、变迁、不可见变迁和弧的数量。对比图6中的原始模型,由于Fahland方法挖掘了多个子过程,并且循环中包含相同的活动,且通过添加不可见变迁来达到活动并发执行的目的。因此Fahland方法添加的不可见变迁和弧的数量分别是13和54。本文提出的LMAPT方法将新活动作为分支添加到模型中,添加的弧数为12。Goldratt方法在原模型中已有的库所上添加新活动,而不产生新库所,因此添加的弧数是12。通过分析可知,Fahland方法得到的修复模型简洁度较低,LMAPT方法和Goldratt方法得到的模型简洁度较高。
表2 图6中原始模型简洁度对比分析
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (1)

1.一种基于阶梯矩阵和过程树的过程模型修正方法,其特征在于,包括以下步骤:
步骤1:构造阶梯矩阵,首先定义基于日志的次序关系,之后定义基于日志的阶梯矩阵和定义基于模型的阶梯矩阵,最后得到模型偏差矩阵;
步骤1.1:定义基于日志的次序关系
设A是所有活动的集合,L表示一个基于集合A的事件日志,A*表示集合A上有限序列的集合,设L∈B(A*)是迹的一个多重集,σ∈L是日志中的一条迹,用&(σ)表示迹σ中所有活动构成的集合,a,b∈&(σ),那么:
1)直接跟随关系>:a>b当且仅当存在一条迹,σ=<t1,t2,···,tn>,i∈{1,2,···,n-1}使得σ∈L,有ti=a且ti+1=b;
2)间接跟随关系>>:a>>b当且仅当t1,···,tn∈&(σ):a>t1>···>tn>b;
3)循环关系当且仅当b∈&(σ):[a>>b]n或[a>b]n(n≥2);
4)直接因果关系→:a→b当且仅当b∈&(σ):a>b并且b≯a;
5)间接因果关系当且仅当t1,···,tn∈&(σ),a≯b且b≯a,有a→t1→···→tn→b;
6)并发关系||:a||b当且仅当σ2∈L,a,b∈A,对于a,b∈&(σ1):a>b或a>>b,并且对于a,b∈&(σ2):b>a或b>>a;
7)选择关系#:a#b当且仅当a∈&(σ)且
事件日志L={<a,b,c,d,e>,<a,c,b,d,f>,<a,b,c,d,g,a,c,b,d,g,d,f>};
>L表示日志L中所有紧邻的活动对集合;
>>L包括全部具有间接跟随关系的活动对;
包括全部所有具有循环关系的活动对;
L包括全部具有直接因果关系的活动对;
包括全部具有间接因果关系的活动对;
||L包括全部的并发关系活动对;
#L表示日志L中所有选择关系的活动对集合;
步骤1.2:定义基于日志的阶梯矩阵
LLM=(l[i][j])n×n是一个基于日志的阶梯矩阵,n=|A|,|A|表示集合A中元素的个数;
对于ai,aj∈A,i∈{1,···,n-1},j∈{i+1,···,n}:l[i][j]表示活动ai,aj之间基于日志的次序关系;
一个基于日志的阶梯矩阵是事件日志的另一种表达形式,一个基于日志的阶梯矩阵能以形式化的方法表达出对应事件日志中的任意两活动间的次序关系;
考虑事件日志L={<a,b,c,d,e>,<a,c,b,d,f>,<a,b,c,d,g,a,c,b,d,g,d,f>},事件日志L的次序关系如下
基于日志的阶梯矩阵如下:
根据事件日志中各活动间的关系可以得到基于日志的阶梯矩阵,那么根据Petri网模型也能得到基于模型的阶梯矩阵;
步骤1.3:定义基于模型的阶梯矩阵
设PN=(P,T;F,M)是一个Petri网,SPN是重演Petri网得到的序列集;
PLM=(m[i][j])n×n是一个基于模型的阶梯矩阵,n=|T|,|T|表示网中变迁的个数;
对于ti,tj∈T,i∈{1,···,n-1},j∈{i+1,···,n}:m[i][j]表示活动ti,tj之间基于序列集SPN的次序关系;
基于模型的阶梯矩阵看做是Petri网的另一种表达形式,将Petri网作为代表性的网模型,通过对比基于日志次序的阶梯矩阵和基于模型的阶梯矩阵,能够很容易地确定日志与模型间的差异,在比较阶梯矩阵之前,首先要得到这两种阶梯矩阵,算法1给出了基于日志次序的阶梯矩阵的产生方法;
算法1基于日志的阶梯矩阵生成算法
输入:完备事件日志L∈B(A*),|A|;
输出:基于日志的阶梯矩阵LLM;
步骤(1):令
步骤(2):若任意迹σ∈L满足:ai∈σ,i=1,2,···,|σ-1|,则R=R∪{aiσai+1,ai>>σai+n},n=2,···,|σ|-i;
步骤(3):若R中的任意元素满足:[a>>b]n或[a>b]n,则
步骤(4):若R中的任意元素满足:a>b且b≯a,则RL=RL∪{a→b};
步骤(5):若RL中的任意元素满足:a→t1→···→tn→b,则
步骤(6):若R中的任意元素满足:(a>b或a>>b)且(b>a或b>>a),则RL=RL∪{a||b};
步骤(7):若任意迹σ∈L满足:(a∈σ且)或(b∈σ且),则RL=RL∪{a#b};
步骤(8):设n=|A|,初始化LLM,即令l[i][j]=φ,i=1,2,···,n-1且j=2,3,···,n;
步骤(9):对RL中任意元素,令l[i][j]=RL(ai,aj);
步骤(10):得到基于日志的阶梯矩阵LLM;
同理,可生成基于模型的阶梯矩阵PLM;
算法2基于模型的阶梯矩阵生成算法
输入:模型中的完整序列σ‘∈SPN,|T|;
输出:基于模型的阶梯矩阵PLM;
步骤(1):令
步骤(2):若任意序列σ‘∈SPN满足:ai∈σ,i=1,2,···,|σ-1|,则R=R∪{aiσai+1,ai>>σai+n},n=2,···,|σ|-i;
步骤(3):若R中的任意元素满足:[a>>b]n或[a>b]n,则
步骤(4):若R中的任意元素满足:a>b且b≯a,则RL=RL∪{a→b};
步骤(5):若RL中的任意元素满足:a→t1→···→tn→b,则
步骤(6):若R中的任意元素满足:(a>b或a>>b)且(b>a或b>>a),则RL=RL∪{a||b};
步骤(7):若任意迹σ‘∈SPN满足:(a∈σ‘且)或(b∈σ‘且),则RL=RL∪{a#b};
步骤(8):设n=|T|,初始化PLM,即令m[i][j]=φ,i=1,2,···,n-1且j=2,3,···,n;
步骤(9):对RL中任意元素,令m[i][j]=RL(ai,aj);
步骤(10):得到基于模型的阶梯矩阵PLM;
通过对比基于日志的阶梯矩阵和基于模型的阶梯矩阵,很容易地发现日志和网模型间的差异,为了存储二者之间的偏差,提出模型偏差矩阵的概念;
步骤1.4:定义模型偏差矩阵
DLM=(d[i][j])n×n是模型偏差矩阵,n=|A|,|A|表示集合A中元素的个数,其中,
1)且i+1≤j≤n,当l[i][j]=m[i][j]时,d[i][j]=φ;
2)且i+1≤j≤n,当l[i][j]≠m[i][j]时,d[i][j]=l[i][j];
对于ai,aj∈A,i∈{1,···,n-1},j∈{i+1,···,n}:d[i][j]表示事件日志活动ai,aj异于模型活动ti,tj的次序关系;
DLM中存储的是在日志中但不在模型中的次序关系,DLM中保留了日志与模型中存在偏差的部分,算法3给出了模型偏差矩阵的生成方法;
算法3模型偏差矩阵的生成算法
输入:基于日志的阶梯矩阵LLM,基于模型的阶梯矩阵PLM;
输出:模型偏差矩阵DLM;
步骤(1):A是日志L中所有活动的集合,T是网中所有变迁的集合;
步骤(2):若|A|≥|T|,则n=|A|,否则算法终止;
步骤(3):初始化DLM,即令d[i][j]=φ,i=1,2,···,n-1且j=2,3,···,n;
步骤(4):令i=1,j=i+1;
步骤(5):若i<n且j≤n,执行步骤6;
步骤(6):若l[i][j]≠m[i][j],则d[i][j]=l[i][j];若l[i][j]=m[i][j],则直接执行步骤7;
步骤(7):令i=i+1,j=j+1,返回步骤5;
步骤(8):得到模型偏差矩阵DLM;
在算法3中,需要比较LLM和PLM中的元素,生成DLM,n表示事件日志中的活动数,根据算法3中的第2个循环,需要遍历LLM和PLM中的每一个元素,即需要遍历n×n维的阶梯矩阵,进行比较生成模型偏差矩阵,因此,算法3的复杂度是O(n2);
步骤2:修正并发结构,识别出偏差位置后就能对模型进行修复,定义并发识别对和并发识别对集;
在Petri网的并发结构中,所有分支具有相同的初始变迁和终止变迁,Petri网的过程树记录着网结构和变迁的信息,因此通过Petri网对应的过程树,能够方便地确定Petri网的结构;
通过遍历过程树,找到并发结构的节点,进而找到其最左叶子节点和最右叶子节点,用LLN(I)和RLN(I)表示过程树中并发结构的最左叶子节点和最右叶子节点,与Petri网结合,能够找到最左叶子节点的超前集,即前集的前集,能找到最右叶子节点的超后集,即后集的后集,从而得到并发结构的初始变迁和终止变迁,将并发结构的初始变迁和终止变迁所组成的二元组称为并发识别对,将一个Petri网中所有的并发识别对称为并发识别对集,下面给出形式化的定义:
定义并发识别对和并发识别对集
设A是所有活动的集合,且PN=(P,T;F,M),PT是PN的过程树,并发识别对cit是一个二元组(ti,to),且满足:
1)且I=“∧”,I为过程树PT的非叶子节点,∧表示并发关系,该操作符对应的子树全部发生;
2)ti=(˙(˙(LLN(I))))且to=(((RLN(I))˙)˙),(˙(˙(LLN(I))))代表LLN(I)前集的前集,(((RLN(I))˙)˙)代表RLN(I)后集的后集;
并发识别对集CITS是包含所有并发识别对的集合,即CITS={(ti,to)|ti=(˙(˙(LLN(I)))),to=(((RLN(I))˙)˙),且I=“∧”};
算法4并发识别元组集CITS的产生算法
输入:过程树PT的非叶子节点I,Petri网PN=(P,T;F,M);
输出:并发识别元组集CITS;
步骤(1):令
步骤(2):若执行步骤3;
步骤(3):若I=“∧”,则CITS=CITS∪{(˙(˙(LLN(I)))),(((RLN(I))˙)˙)};否则找到I中的所有子节点,返回步骤2;
步骤(4):得到并发识别对集CITS;
通过比较基于日志和基于模型的阶梯矩阵,产生模型偏差矩阵,如果模型偏差矩阵中有新元素产生,且新元素与原有元素具有并发关系,则该元素应被作为一条并发分支添加到原有并发结构中,以增强模型的精确度;
在实际的业务流程中,会有多个新活动产生,因此算法5通过并发识别对,可以收集指定并发结构处所有的新增活动,以便将所有新增活动分别作为一条分支添加到原模型中;
算法5特定并发结构的新增活动收集算法
输入:模型偏差矩阵DLM,并发识别对cit;
输出:符合条件的新活动;
步骤(1):令n’=|A-T|,n=|A|;
步骤(2):令i=1,j=i+1;
步骤(3):若i≤n且j≤n’,执行步骤4;
步骤(4):若d[i][j]=“||”且π1(cit)=˙(˙di)且π2(cit)=(di˙)˙,执行步骤5;
步骤(5):若则Ccit=Ccit∪dj;否则直接执行步骤6;
步骤(6):令i=i+1,j=j+1,返回步骤3;
步骤(7):得到新活动集Ccit
在算法5中,遍历DLM收集属于并发结构的新活动,根据CITS中的并发识别对cit,将新活动匹配到对应的Ccit中;在此过程中,算法5需要遍历DLM中的所有元素,算法5包含2层循环,n和n’表示DLM是n×n’维矩阵;因此,算法5的复杂度是O(n×n’);
利用算法4求得原始过程模型中的所有并发识别对,算法5将指定并发结构处的新活动收集起来,算法6将所有新活动分别作为一条分支添加到相应的并发结构处;
算法6并发结构中添加新分支的算法
输入:Ccit,并发识别对cit,原模型PN;
输出:修复后的模型PN’;
步骤(1):对于任意元素t∈Ccit,令PNs=Miner(t);//Miner()是一种现有的挖掘方法
步骤(2):令PN’=PN;
步骤(3):若pi∈˙t,则F’=F’∪{π1(cit),pi};
步骤(4):若po∈t˙,则F’=F’∪{po2(cit)};
步骤(5):令P’=P’∪PS
步骤(6):令T’=T’∪TS
步骤(7):得到修复模型PN’;
利用算法6,将新活动作为一条分支添加到指定的并发结构处,可以达到修复过程模型的目的,从而提高修复后模型的精确度。
CN201810710643.3A 2018-07-03 2018-07-03 一种基于阶梯矩阵和过程树的过程模型修正方法 Expired - Fee Related CN109102150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810710643.3A CN109102150B (zh) 2018-07-03 2018-07-03 一种基于阶梯矩阵和过程树的过程模型修正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810710643.3A CN109102150B (zh) 2018-07-03 2018-07-03 一种基于阶梯矩阵和过程树的过程模型修正方法

Publications (2)

Publication Number Publication Date
CN109102150A true CN109102150A (zh) 2018-12-28
CN109102150B CN109102150B (zh) 2021-06-18

Family

ID=64845417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810710643.3A Expired - Fee Related CN109102150B (zh) 2018-07-03 2018-07-03 一种基于阶梯矩阵和过程树的过程模型修正方法

Country Status (1)

Country Link
CN (1) CN109102150B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046820A (zh) * 2019-04-17 2019-07-23 山东科技大学 基于结构替换的流程模型修复方法
CN110084517A (zh) * 2019-04-28 2019-08-02 西安理工大学 一种面向教育数据日志的工作流方法
CN112231944A (zh) * 2020-10-16 2021-01-15 山东科技大学 带里程碑活动的业务过程对齐方法
CN112612764A (zh) * 2020-12-18 2021-04-06 云南大学 一种基于执行者过程树的双维度遗传过程挖掘方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150142707A1 (en) * 2013-11-15 2015-05-21 Xerox Corporation Method and system for clustering, modeling, and visualizing process models from noisy logs
CN105069306A (zh) * 2015-08-18 2015-11-18 山东科技大学 基于工作流网模型的事件日志审计方法
CN105095491A (zh) * 2015-08-18 2015-11-25 山东科技大学 基于Petri网基本结构的过程模型修复方法
CN106021642A (zh) * 2016-05-05 2016-10-12 山东科技大学 一种基于可达标识的过程模型修复方法
CN108090720A (zh) * 2017-12-07 2018-05-29 山东科技大学 一种基于类型petri网的过程分析方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150142707A1 (en) * 2013-11-15 2015-05-21 Xerox Corporation Method and system for clustering, modeling, and visualizing process models from noisy logs
CN105069306A (zh) * 2015-08-18 2015-11-18 山东科技大学 基于工作流网模型的事件日志审计方法
CN105095491A (zh) * 2015-08-18 2015-11-25 山东科技大学 基于Petri网基本结构的过程模型修复方法
CN106021642A (zh) * 2016-05-05 2016-10-12 山东科技大学 一种基于可达标识的过程模型修复方法
CN108090720A (zh) * 2017-12-07 2018-05-29 山东科技大学 一种基于类型petri网的过程分析方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
LU WANG 等: "Petri net‐based deviation detection between a process model with loop semantics and event logs", 《CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE》 *
XIZE ZHANG 等: "An Approach for Repairing Process Models Based on Logic Petri Nets", 《IEEE ACCESS》 *
YANAN SUN 等: "A Repair of Workflow Models Based on Mirroring Matrices", 《INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING》 *
朱锐: "数据驱动的软件开发过程挖掘与分析研究", 《中国博士学位论文全文数据库 信息科技辑》 *
杜玉越 等: "基于Petri网的模型偏差域识别与模型修正", 《计算机研究与发展》 *
王媛媛 等: "基于扩展足迹矩阵的一致性检测", 《山东科技大学学报(自然科学版)》 *
田银花 等: "基于Petri网的批量迹与过程模型校准", 《计算机学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046820A (zh) * 2019-04-17 2019-07-23 山东科技大学 基于结构替换的流程模型修复方法
CN110046820B (zh) * 2019-04-17 2020-02-21 山东科技大学 基于结构替换的流程模型修复方法
WO2020211295A1 (zh) * 2019-04-17 2020-10-22 山东科技大学 基于结构替换的流程模型修复方法
CN110084517A (zh) * 2019-04-28 2019-08-02 西安理工大学 一种面向教育数据日志的工作流方法
CN110084517B (zh) * 2019-04-28 2024-01-30 北京第一因科技有限公司 一种面向教育数据日志的工作流方法
CN112231944A (zh) * 2020-10-16 2021-01-15 山东科技大学 带里程碑活动的业务过程对齐方法
CN112231944B (zh) * 2020-10-16 2022-12-20 山东科技大学 带里程碑活动的业务过程对齐方法
CN112612764A (zh) * 2020-12-18 2021-04-06 云南大学 一种基于执行者过程树的双维度遗传过程挖掘方法

Also Published As

Publication number Publication date
CN109102150B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN109102150A (zh) 一种基于阶梯矩阵和过程树的过程模型修正方法
Li et al. Stacked-autoencoder-based model for COVID-19 diagnosis on CT images
CN102165453B (zh) 用于融合临床和图像特征进行计算机辅助诊断的系统和方法
KR100794516B1 (ko) 사례 기반 기계학습 추론을 이용한 질환 진단 및 검사 항목선정 시스템 및 방법
CN106951719A (zh) 临床诊断模型的构建方法及构建系统、临床诊断系统
CN107038343A (zh) 临床诊断模型的构建方法及构建系统、临床诊断系统
CN112199425A (zh) 基于混合数据库结构的医疗大数据中心及其建设方法
CN113113152B (zh) 针对新型冠状病毒肺炎的疾病数据集样本获取处理方法、系统、装置、处理器及其存储介质
CN117036112B (zh) 一种土地规划用的地理信息系统及方法
CN117034142B (zh) 一种不平衡医疗数据缺失值填充方法及系统
CN109325062A (zh) 一种基于分布式计算的数据依赖挖掘方法及系统
CN106557420B (zh) 测试db数据生成方法及装置
US20240233916A1 (en) Data Aggregation, Integration and Analysis System and Related Devices and Methods
CN117079815A (zh) 一种基于图神经网络的心血管疾病风险预测模型构建方法
CN110610766A (zh) 基于症状特征权重推导疾病概率的装置和存储介质
CN109192317A (zh) 基于逻辑Petri网的循环并发结构的过程模型修正方法
CN102156772A (zh) 基于逻辑相容性的数字电路故障诊断方法及系统
Salih et al. A Review of Evaluation Approaches for Explainable AI With Applications in Cardiology
CN105759782B (zh) 一种基于危害度的车辆故障诊断策略构建方法
CN114783587A (zh) 严重急性肾损伤智能预测系统
CN110704697B (zh) 一种基于选择分支构建的用于提高业务流程效率的方法
CN114898859A (zh) 急性主动脉夹层院内预后预测系统
CN109509547B (zh) 选择嵌套并发的过程模型修正方法
CN113792798A (zh) 基于多源数据的模型训练方法、装置及计算机设备
CN117747124B (zh) 基于网络激发图分解的医学大模型逻辑反演方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210618

CF01 Termination of patent right due to non-payment of annual fee