[发明专利]一种具有循环返回结构的过程模型构建和修复方法有效
申请号: | 201811329252.3 | 申请日: | 2018-11-09 |
公开(公告)号: | CN109637638B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 杜玉越;张希泽;亓亮;张福新;栾文静;王路 | 申请(专利权)人: | 山东科技大学 |
主分类号: | G16H40/20 | 分类号: | G16H40/20;G07C11/00 |
代理公司: | 青岛锦佳专利代理事务所(普通合伙) 37283 | 代理人: | 朱玉建 |
地址: | 266590 山东省青岛*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具有 循环 返回 结构 过程 模型 构建 修复 方法 | ||
1.一种具有循环返回结构的过程模型构建和修复方法,其特征在于,包括如下步骤:
定义1
S是一个集合,集合S上的多重集D是一个映射D:
其中,用来表示一个正整数集合,B(S)表示集合S上所有多重集的集合;
对于m1∈B(S),m1(z)表示第z个多重集,m1表示集合S上一个多重集的集合;
定义2
设是就诊流程所有活动的集合,
其中,C表示一个就诊流程活动的集合,C*表示集合C上的有限序列集合;
若一个活动序列σ∈C*,则称σ是一条迹;若存在L∈B(C*)是迹的一个多重集,则称L为一个事件日志;用Φ(σ)表示迹σ中所有活动所构成的集合;
定义3
设N=(P,T;F)为一个Petri网;
二元组(c,t)∈{C×T}\{(,)}是一个移动,代表在就诊模型或者日志中没有移动;
C表示日志中所有的活动加上,T表示就诊模型中所有的变迁加上,其中:
(1)若c∈C且t=,则(c,t)是一个日志动作,代表以下含义:
在真实就诊过程中有些就诊活动发生了,而未按照医院流程图发生,表示现有的医院流程图并未随着患者的需求改变而改变,现有的医院流程图没有满足患者的真实要求;
(2)若t∈T且c=,则(c,t)是一个模型动作,代表以下含义:
在真实就诊过程中有些就诊活动没有发生,是按照医院流程图发生的;
(3)若t∈T且c∈C,则(c,t)是一个同步动作,代表以下含义:
医院流程图与真实就诊过程相符合;
(4)否则(c,t)是一个非法动作;
定义4
设PN=(P,T;F,M0),M0表示网PN的一个初始标识;
校准γ∈(C×T)*是迹σ与模型PN之间的移动序列(c,t)*,且满足:
(1)π1(γ)↓C=σ,即就诊模型的移动序列产生该就诊活动的轨迹;
(2)即模型的移动序列产生一个完整的引发序列;
其中,mi0表示模型移动序列的输入,mf0表示模型移动序列的输出;
π2(γ)↓T表示就诊流程模型中经过的活动,>>代表在流程中的活动没有发生;
Γσ,PN是迹σ和模型PN之间所有校准的集合;
定义5
设表示一个操作符集合,τ表示不可见变迁,则一个过程树PT通过以下条件进行构建:
(1)c∈C∪{τ}表示一个节点;
(2)若存在过程树1和过程树2,则(过程树1,过程树2)也表示一个过程树;
定义6
设六元组LPN=(P,T;F,I,O,M)为一个逻辑Petri网,当且仅当:
(1)户是一个有限库所集;
(2)T=TI∪TO∪TD是一个有限变迁集,而且
若t∈TI∩TO,则其中:
a)TI表示逻辑输入变迁集;
对于t的输入库所·t会受到逻辑输入表达式fI(t)的限制;
b)TO表示逻辑输出变迁集;
对于t的输出库所t·会受到逻辑输出表达式fO(t)的限制;
c)TD表示经典Petri网中的变迁集;
(3)是一个有限弧集;
(4)I是由逻辑输入变迁到逻辑输入函数的映射,对于I(t)=fI(t);
(5)O是由逻辑输出变迁到逻辑输出函数的映射,对于O(t)=fO(t);
(6)M:P→{0,1}是Petri网的标识函数,对于M(p)表示的是p中的托肯个数;
(7)变迁引发规则:
a)对表示I(t)=fI(t);若fI(t)|M=.T.,即在标识为M时,逻辑输入变迁t的逻辑输入表达式fI(t)为真,则逻辑输入变迁t能够引发,记做M[t>M′,且对M′(p)=0;对M′(p)=1;对M′(p)=M(p);M′(p)表示引发之后的库所数;
b)对表示O(t)=fO(t);若M(p)=1,则逻辑输出变迁t能够引发,且对M′(p)=0;对M′(p)=M(p);对需满足fO(t)|M′=.T.,即在标识为M′时,逻辑输出变迁t的逻辑输出表达式fO(t)为真;.T.表示逻辑表达式为真;
c)对变迁引发规则与经典Petri网一致;
定义7
对于日志L∈B(C*),若活动a∈(σ),将日志迹中的活动a投影到模型中的相对应的位置变迁t,则称η(a,t)是一个日志活动到模型变迁的投影;
定义8
给定一个工作流网WFN=(P,T;F,M,ip,op),日志L∈B(C*)是WFN的一个完全事件日志,当且仅当迹σ中总存在一条从初始库所ip到终止库所op的完全变迁触发序列;
定义9
如果一个活动a∈σ且称该活动为新活动;引入这一概念,是为了通过日志活动到模型中变迁的投影得到日志中的新活动,将日志中的活动和模型中的变迁标记相同;
步骤1.发现在就诊中新活动的集合;
(1)初始化新活动集合Anew和变迁集合TR;
(2)遍历就诊过程模型中的所有变迁;
(3)将变迁ti1添加到变迁集合TR中;
(4)遍历日志中的每一条迹;
(5)循环查看每一条迹中的每一个活动bj1;
(6)将日志中的活动bj1投影到就诊过程模型中的变迁tk1;
(7)如果该变迁tk1不存在于变迁集合TR中,执行下一步;
(8)将日志中的该活动bj1添加到新活动集合Anew中;
(9)将得到的新活动集合Anew返回;
其中,length表示变迁集合的长度,1=i1=length;
bj1表示日志中的活动,tk1表示就诊模型中的变迁,TR表示变迁集合;
定义10
设PT是PN的过程树,如果存在N∈PT且N=∧,一个二元组(tci,tcf)介意称为一个并发起止对;如果tci=·(·(NS)),tcf=((NS)·)·,NS则是N的子节点;
其中,N表示节点,∧表示并发关系操作符;
tci和tcf分别表示并行结构的初始变迁和终止变迁;
并发起止对集SCIFP为包含所有并发起止对的集合,即:
定义11
设m2和n2是两个变迁,σ,σ’∈L是两个迹;
如果n2,m2∈Φ(σ):n2m2且n2,m2∈(σ’):n2m2,那么m2和n2是并发变迁;
步骤2.搜集在就诊过程模型中并发结构的并发变迁集合SC和并发起止对集SCIFP;
(1)初始化并发起止对集SCIFP和并发变迁集合SC;
(2)如果非叶子节点Nnl属于操作符集合并且不为空,执行下一步;
(3)如果非叶子节点Nnl为“∧”,执行下一步;
(4)得到并发结构的初始变迁·(·(NS))和终止变迁((NS)·)·,将并发起止对添加到并发起止对集SCIFP中;
(5)否则进行下一步;
(6)遍历该非叶子节点的所有子节点;
(7)收集代表并发结构中的变迁的子节点Ns;
(8)将该子节点添加到并发变迁集合SC中;
(9)将得到的就诊过程模型中并发结构的并发变迁集合SC和并发起止对集SCIFP返回;
搜集到并发变迁集之后,随后通过日志中的迹到并发变迁集投射得到只含有并发变迁的子迹,然后将子迹组成子迹日志;下面给出迹到变迁集合的投射的定义:
定义12
设ST是一个变迁集合,是集合ST的一个子集;
σi∈D*,σi|D={t|t∈T∧t∈ST}表示σi到D的投射;
定义13
设LPN=(P,T;F,I,O,M);
逻辑校准γ∈(C×T)*是迹σ与模型PN之间的移动序列(c,t)*,且满足:
(1)π1(γL)↓C=σ,即迹的移动序列产生该迹;
(2)即校准中模型的引发序列根据LPN定义中的变迁引发规则,产生一个完整的引发序列;
Гσ,LPN是迹σ和模型LPN之间所有校准的集合;
定义14
设lc:(C∪{})×(T∪{})→IR表示对于日志移动和模型移动的可能成本函数;
如果Σ(c,t)∈γlc((c,t))≤Σ(c’,t’)∈γ’lc((c’,t’)),逻辑Petri网LPN和迹σ之间的逻辑校准γ∈(C×T)*是逻辑最优校准;其中,γ’表示最优校准以外的其他校准;Φσ,LPN表示迹σ和模型PN之间所有校准的集合;∑(c,t)∈γlc((c,t))表示最优校准的可能性代价函数最小的集合;Σ(c’,t’)∈γ’lc((c’,t’)表示非最优校准的可能性代价函数最小的集合;
定义15
设成本函数δ∈C→N为合法移动分配成本,N表示正整数;
δ(γ)=Σ(c,t)∈γδ((c,t))表示一个校准γ∈(C×T)*的成本;
定义16
给定一个事件日志L∈B(C*),并且σ∈L:o,u∈Φ(σ),o和u是两个变迁;
Φ(σ)表示迹σ中所有活动所构成的集合;
得到o和u的关系如下:
(1)直接依赖关系:
如果σ=a1,a2,a3,...,anl,I∈{1,...,nl-1}:σ∈L,aI=o且aI+1=u,那么ou;
(2)间接依赖关系r:
如果存在a1,a2,a3,...,anl∈Φ(σ):a1a2…anl,那么a1ranl;
(3)选择关系#:
如果σ∈L:o∈Φ(σ)且或者o∈Φ(σ)且那么o#u;
(4)直接因果关系→:
如果σ∈L,o,u∈Φ(σ):ou并且u≯o,那么o→u;
(5)间接因果关系
如果存在a1,a2,a3,...,anl∈Φ(σ):a1→a2→…→anl,那么
(6)并行关系||:
给定两条迹σ,σ’∈L,如果存在o,u∈σ:ou且存在o,u∈σ’:uo,那么o||u;
步骤3.收集基于事件日志的依赖关系的集合RL;
(1)初始化跟随关系集合R和基于事件日志的依赖关系的集合RL;
(2)对于日志中的每一条迹,判断该迹中的活动之间的跟随关系;
(3)将所有的直接跟随关系和间接跟随关系添加到跟随关系集合R中;
(4)如果两个活动v和w不存在于同一条迹中,执行下一步;
(5)将v#w添加到基于事件日志的依赖关系的集合RL中;
(6)如果w不直接跟随v,而v直接跟随w,执行下一步;
(7)将v→w添加到基于事件日志的依赖关系的集合RL中;
(8)如果w→q且v→w,其中q表示一个活动,执行下一步;
(9)将添加到基于事件日志的依赖关系的集合RL中;
(10)如果v→w且其中d表示一个活动,执行下一步;
(11)将添加到基于事件日志的依赖关系的集合RL中;
(12)如果且其中e表示一个活动,执行下一步;
(13)将添加到基于事件日志的依赖关系的集合RL中;
(14)如果w直接跟随v,且v直接跟随w,执行下一步;
(15)将v||w添加到基于事件日志的依赖关系的集合RL中;
(16)将得到的基于事件日志的依赖关系的集合RL返回;
定义17
设一个循环子迹LST是校准γ上的一个连续的日志动作(ai,>>),…,(aj,>>)的最大序列,LST=<ai…,aj>,且满足初始活动为模型中不存在的活动即且ai+1,…,aj均已重演过;
若存在LSL∈B(C*)是循环子迹的一个多重集,称LSL为一个循环子日志;
循环子日志中包括循环体的开始和终止活动;
步骤4.发现循环子日志LSL;
(1)初始化循环子日志LSL;
(2)遍历最优校准γ,若ai∈C,ti=>>,且存在连续的日志动作{(ai,),…,(aj,)};
(3)循环遍历日志中的每一条迹;
(4)如果且ai+1,…,aj∈σe1,执行下一步,1=e1=count;
(5)将ai,…,aj添加到循环子日志LSL中;
(6)否则,如果两个活动ai+k,bi+k存在于两个不同的迹中,执行下一步;
(7)如果bi+k#ai+k或者bi+k||ai+k,执行下一步;
(8)将活动ai+k添加到循环子日志LSL中;
(9)将得到的循环子日志LSL返回;
其中,count表示日志中迹的个数,i、j、k均为自然数;
下面给出步骤5来定位偏差位置,首先,先介绍以下定义:
定义18
设LST是一个循环子迹,LSL是一个循环子日志;p∈P,将Pbef|p={p|p∈·ti∧ti∈LSL}定义为p的前序库所集,|Pbef|p|表示集合Pbef|p中所有元素的个数;
前序库所集主要针对存在并行关系的循环结构如何寻找循环变迁的后集库所的情况;
Pbef|p包含循环子日志中的所有前集库所;
步骤5.确定就诊流程偏差位置DL(pi,po),其中,pi为偏差开始位置,po为偏差结束位置;
(1)初始化偏差位置DL(pi,po);
(2)调用步骤4收集循环子日志LSL,遍历最优校准γ,对于ai∈A,ti=;
(3)如果存在{ai,…,aj}∈LSL且
其中,PL表示所有前序变迁的后集库所,执行下一步;
(4)如果所有前序变迁的后集库所的个数大于1,执行下一步;
(5)偏差位置的起始位置为偏差位置的结束位置为PL;
(6)否则执行下一步;
(7)偏差位置的起始位置为偏差位置的结束位置为·ai+1;
(8)如果变迁且ai-1的后集库所与ai+1的前集库所相同,执行下一步;
(9)偏差位置的起始位置为p,偏差位置的结束位置为·ai-1;
(10)否则执行下一步;
(11)偏差位置的起始位置为偏差位置的结束位置为·ai+1;
(12)如果变迁ai∈T,执行下一步;
(13)偏差位置的起始位置为偏差位置的结束位置为·ai;
(14)对于日志移动ai=,ti∈T;
(15)偏差位置的起始位置为·ai,偏差位置的结束位置为
(16)将得到的就诊流程偏差位置DL(pi,po)返回;
通过调用步骤5,得到循环变迁ai的所有后集库所;
若循环结构中存在并行结构,则首先收集循环子日志中活动的前序库所集,然后找到所有前序变迁的后集库所的个数,若大于1,则变迁对应的后集库所为并行结构的前集库所,由此找到所有的并行结构的前集库所,然后定位偏差;
定义19
给定一个Petri网PN=(P,T;F,M),对于tp∈T,若p∈·t and tp∈·p,则tp是t的前序变迁;Tbef|t={tp|p∈·t and tp∈·p}表示所有的逻辑前序变迁的集合;
定义20
给定一个Petri网PN=(P,T;F,M),对于t∈T,Tbef|t表示所有逻辑前序变迁的集合;(AI|t)[m3][m3](m3=|Tbef|t|)表示逻辑前序矩阵;
其中,m3表示所有逻辑前序变迁的集合中逻辑前序变迁的个数;
对于o,p∈[0,m3],若o≠p,则(AI|t)[o][p]=lr(o,p);否则
基于以上定义的逻辑关系lr(r,c)被定义如下:
(1)若t被触发,Tbef|t允许r或者c其中一个触发;
(2)r||c:若t被触发,Tbef|t允许r和c触发,但不能同时触发;
(3)r∨c:若t被触发,Tbef|t允许r和c触发;
(4)r∧c:若t被触发,r和c将同时触发;
将变迁的逻辑关系转化为逻辑前序矩阵(AI|t)[m3][m3](m3=|Tbef|t|),得到逻辑前序变迁表达式λ(T′,AI|t),继而得到逻辑输入函数I(t)=pl(λ);
步骤6.修正就诊模型,得到修正后的逻辑Petri网模型LPN″′=(P″′,T″′;F″′,I″′,O″′,M″′);
(1)初始化原始模型、就诊流程偏差位置DL(pi,po)和循环子日志LSL;
(2)调用步骤1得到新活动,调用步骤3得到循环子日志中变迁之间的关系,调用步骤4收集循环子日志LSL,遍历最优校准γ,调用步骤5定位偏差;
(3)如果ai=>>,ti∈T且(4)将不可见变迁τ添加到变迁集T″′中,将流关系(·ai→τ)和添加到流关系集合F″′中;
(5)否则如果ai∈A,ti=>>,执行下一步;
(6)如果存在偏差位置执行下一步;
(7)将变迁ai添加到变迁集T″′中,将库所p添加到库所集P″′中,将流关系(ai-1→p)、(p→ai)和添加到流关系集合F″′中;
(8)如果存在偏差位置执行下一步;
(9)将不可见变迁τ添加到变迁集T″′中,将流关系和(τ→·ai)添加到流关系集合F″′中;
(10)如果存在偏差位置执行下一步;
(11)将变迁ai添加到变迁集T″′中,将流关系和(ai→·ai+1)添加到流关系集合F″′中;
(12)调用步骤2得到并发起止对集SCIFP和并发变迁集SCT;
(13)如果(tci,tcf)存在于并发起止对集SCIFP中,两个变迁tj,tk属于并发变迁集SCT,而且tci的后集库所与tj和tk的前集库所都相同,执行下一步;
(14)将逻辑输入表达式添加到逻辑输入表达式集合I″′中;
(15)将逻辑输出表达式O(ai)=·tj∧·tk和添加到逻辑输出表达式集合O″′中;
(16)将得到的修正后的逻辑Petri网模型LPN″′=(P″′,T″′;F″′,I″′,O″′,M″′)返回;
通过步骤6确定现实情况与给定业务流程之间的偏差位置,然后在偏差位置修复原就诊模型,添加流关系,通过LPN挖掘算法挖掘逻辑输入输出函数得到最终修正的就诊模型;
修正后的就诊模型是一个时间最优化的业务流程模型,表示就诊过程与就诊模型的完全拟合,优化了循环返回结构的活动,缩短了患者在就诊时的等待时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东科技大学,未经山东科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811329252.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于区块链的医疗管理系统
- 下一篇:一种医院病床辅助管理信息系统