国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于邏輯Petri網(wǎng)的循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型修復(fù)方法

2024-01-09 09:13:32薄玉娟杜玉越孫紅偉
關(guān)鍵詞:日志變遷偏差

劉 偉,薄玉娟,杜玉越,孫紅偉

(山東科技大學(xué) 計算機科學(xué)與工程學(xué)院,山東 青島 266590)

如今多數(shù)企業(yè)使用信息系統(tǒng)管理業(yè)務(wù)流程,而過程挖掘主要從信息系統(tǒng)中抽取信息[1]。過程挖掘可分為過程發(fā)現(xiàn)、一致性檢查和過程增強等階段[2]。過程發(fā)現(xiàn)通過算法從事件日志中挖掘模型;一致性檢查是將日志與模型進(jìn)行比對[3-4],若出現(xiàn)偏差說明過程模型不能反映現(xiàn)實,需要對過程模型進(jìn)行修復(fù);過程增強使用現(xiàn)有事件日志對原始模型進(jìn)行改進(jìn)或擴展,以適應(yīng)更多事件日志。

現(xiàn)有模型修復(fù)方法主要使用校準(zhǔn)獲得偏差[5]。比如,最具代表性的Fahland方法[6]根據(jù)過程發(fā)現(xiàn)算法挖掘子過程,修復(fù)后的模型無限次重復(fù)子過程,然而這種子過程通常不允許重復(fù);Knapsack方法[7]通過設(shè)置模型移動和日志移動成本,比較多種不同方案得到最小總成本,獲得最佳模型修復(fù)方法,但該方法修復(fù)的模型包含不可見變遷。這兩種方法修復(fù)的過程模型雖然提高擬合度,但不能保證模型的簡潔度,不能獲得很好的修復(fù)效果。文獻(xiàn)[8]基于Petri網(wǎng)的過程模型修復(fù)方法,針對循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu),提出模型偏差域識別方法, 該方法雖然保證了簡潔度,但沒有考慮各結(jié)構(gòu)間的邏輯關(guān)系。為了解決該問題,基于邏輯Petri網(wǎng),文獻(xiàn)[9]提出構(gòu)造自由循環(huán)結(jié)構(gòu)過程模型的修復(fù)方法,可根據(jù)事件日志識別有問題的變遷構(gòu)造循環(huán)結(jié)構(gòu)。

現(xiàn)有模型修復(fù)方法很少考慮包含間接依賴關(guān)系的過程模型。如含循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)的過程模型,由兩個循環(huán)塊和一個選擇塊組成,第二個循環(huán)體的循環(huán)次數(shù)取決于第一個循環(huán)體的循環(huán)次數(shù)和執(zhí)行的選擇分支[10]。隨著業(yè)務(wù)流程愈加復(fù)雜,流程出現(xiàn)了各種特殊事件日志,如第一個循環(huán)塊沒有執(zhí)行完就執(zhí)行選擇塊,選擇分支混合執(zhí)行,間接依賴關(guān)系發(fā)生改變等?,F(xiàn)有修復(fù)方法通過添加不可見變遷或自循環(huán)修復(fù)模型,但簡潔度不高,修復(fù)結(jié)果不能滿足要求。因此,本研究針對循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu),提出一種基于邏輯Petri網(wǎng)的過程模型修復(fù)方法。首先,針對循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu),提出從事件日志中提取循環(huán)子日志和選擇子日志的算法,判斷模型中的循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu);其次,提出兩個定理用于發(fā)現(xiàn)事件日志和原始模型中關(guān)于循環(huán)和選擇結(jié)構(gòu)的偏差,找到偏差位置并提出修復(fù)算法進(jìn)行模型修復(fù);然后,引入關(guān)聯(lián)規(guī)則表達(dá)不同結(jié)構(gòu)間的間接依賴關(guān)系;最后,對建筑公司工程項目過程進(jìn)行模擬實驗,驗證提出方法的合理性和可行性。

1 基本概念

首先介紹一些基本概念,包括跡和事件日志、Petri網(wǎng)、過程模型、邏輯Petri網(wǎng)等。

定義1(跡和事件日志)[11]A是一個活動集合,A*表示集合A上所有有限序列,B(A*)表示集合A上的多集集合,σ∈A*為一個跡,L∈B(A*)為一個事件日志。

定義2(前驅(qū)與后繼)[11]σ∈A*為一個跡,活動a∈σ,且在σ中a的位置為i,#a是a的前驅(qū),在σ中的位置為i-1;a#是a的后繼,在σ中的位置為i+1。

定義3(Petri網(wǎng))[12-14]PN=(P,T;F,M)為一個Petri網(wǎng),當(dāng)且僅當(dāng):

1)N=(P,T;F)為一個網(wǎng),P為庫所集,T為變遷集;

2)F?(P×T)∪(T×P)表示有向連接弧集合;

3)M:P→N為一個標(biāo)識。

定義4(前集和后集)[14]PN=(P,T;F,M)為一個Petri網(wǎng),?x={y∈P∪T∧(y,x)∈F}為x的前集,x?={y∈P∪T∧(x,y)∈F}為x的后集。

定義5(過程模型)[15]Ns=(PN,a,Mi,Mf)為一個過程模型,其中:

1)PN=(P,T;F,M)為一個Petri網(wǎng);

2)a:T→A∪{τ}是變遷到活動的映射函數(shù),τ為不可見變遷;

3)mi=[pi]∈Mi是初始標(biāo)識,mf=[po]∈Mf是終止標(biāo)識。

圖1為一個基于Petri網(wǎng)的過程模型實例。

圖1 基于Petri網(wǎng)的過程模型實例

定義6(過程樹)[16]A為活動集合,⊕={→,×,∧,}為操作符集合,τ為不可見變遷,其中:

1)a∈A∪{τ}為一棵過程樹;

2) 若PT1,PT2,…,PTn為n棵過程樹,則⊕(PT1,PT2,…,PTn)也是一棵過程樹,→表示順序關(guān)系,×表示選擇關(guān)系,∧表示并發(fā)關(guān)系,表示循環(huán)關(guān)系。

圖1過程模型可表示為過程樹PT1:→(a,(b,c),d,×(→(e,g),→(f,h)))。

定義7(邏輯Petri網(wǎng))[17]LPN=(P,T;F,I,O,M)為一個邏輯Petri網(wǎng),其中:

1)P是有限庫所集;

2)T=TI∪TO∪TD是有限變遷集,P∪T≠?,P∩T=?;若t∈TI∪TO,?t∩t?=?;其中,TI為邏輯輸入變遷集,TO為邏輯輸出變遷集,TD為經(jīng)典Petri網(wǎng)變遷集;

3)F?(P×T)∪(T×P)為有向連接弧集合;

4)I是從邏輯輸入變遷到邏輯輸入函數(shù)的映射,對?t∈TI,I(t)=fI(t);

5)O是從邏輯輸出變遷到邏輯輸出函數(shù)的映射,對?t∈TO,O(t)=fO(t);

6)M:P→N為一個標(biāo)識函數(shù)。

2 循環(huán)選擇及其驅(qū)動循環(huán)序列確定算法

本部分介紹循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu),并劃分為循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)分別進(jìn)行分析。圖2為一個循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型,使用關(guān)聯(lián)規(guī)則表示不同結(jié)構(gòu)之間的間接依賴關(guān)系,比如關(guān)聯(lián)規(guī)則〈b,c〉2∧〈e,g〉1?〈j,k〉1表示循環(huán)活動b、c發(fā)生兩次后執(zhí)行e、g選擇分支,則第二個循環(huán)塊執(zhí)行一次循環(huán)。

圖2 循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型

2.1 循環(huán)序列確定算法

對循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)進(jìn)行修復(fù),首先要找到模型中所有循環(huán)結(jié)構(gòu)。假設(shè)每個過程模型都有一個唯一的過程樹,過程樹中每個操作符代表模型的一個結(jié)構(gòu)。例如在模型中有一個循環(huán)結(jié)構(gòu),則相應(yīng)過程樹節(jié)點n=“”。為方便起見,Fi(n)表示n節(jié)點處第i個子樹的所有葉節(jié)點。

定義8(活動發(fā)生次數(shù)) σ∈L為日志中的一個跡,s∈σ為一個序列,對于任意活動a∈σ,num(a,σ)表示活動a在跡中出現(xiàn)的次數(shù),num(s,σ)表示序列s在跡中出現(xiàn)的次數(shù)。

定義9(循環(huán)活動) σ∈L為日志中的跡,a∈σ為一個活動,若num(a,σ)>1,則a為循環(huán)活動。

循環(huán)活動集合SLA={a∈σ|?σ∈L∧num(a,σ)>1}。

定義10(活動集)A為活動集合,對任意序列s∈A*,κ(s)為序列s中的活動集。

定義11(循環(huán)序列)SLA為循環(huán)活動集合,s=〈s[1],s[2],…,s[i],…,s[n]〉∈SLA*為一個循環(huán)序列,其中s[i]∈SLA,i∈{1,2,…,n-1}。以|s|表示序列s的長度。若:

1)κ(s)=1,s為自循環(huán)序列;

2)κ(s)=2,且s[1]>Ls[2],s為短循環(huán)序列,|s|=2;

3)κ(s)>2,且s[i]>Ls[i+1],|s|-2>i>0,s為長循環(huán)序列。

Ls為所有循環(huán)序列集合。

定義12(循環(huán)開始活動和循環(huán)結(jié)束活動)SLA為循環(huán)活動集合,s∈SLA*為一個循環(huán)序列,循環(huán)開始活動為SLA_s,循環(huán)結(jié)束活動為SLA_e,其中:

算法 1 循環(huán)序列確定算法 輸入:事件日志 L 輸出:循環(huán)序列 Ls 1) SLA←?;s←?; 2) For (i = 1,σi∈L,i++; | L | ) do 3) For (j = 1,aj∈σ;j++; | σ| ) do 4) if (num(aj,σi) >1) then 5) SLA = SLA∪aj 6) For (k = 1,ak∈SLA ;k++; | SLA | ) do 7) SLA←SLA -ak 8) s←s+ak 9) For (?a,b∈SLA )do 10) if (a>L b and b = s[1]) then 11) s←a+s 12) SLA←SLA -a 13) if (a>L b and a = s[ | s| ]) then 14) s←s+b 15) SLA←SLA -b 16) Ls←Ls∪s 17) return Ls

1)SLA_s=(ai∈SLA|ai=si[1]);

2)SLA_e=(ai∈SLA|ai=si[n]),i∈{1,2,…,m}。

算法1為循環(huán)序列確定算法。步驟1)初始化循環(huán)序列;步驟2)、3)遍歷日志和跡;步驟4)~5)表明若跡σi中的活動aj出現(xiàn)次數(shù)>1,則活動aj為循環(huán)活動;步驟6)~8)遍歷循環(huán)活動集合,添加循環(huán)活動到循環(huán)序列s中;步驟9)~12)表示若循環(huán)活動a,b為順序關(guān)系且活動b為s的第一個活動,把活動a添加到s中且在活動b之前;步驟13)~15)表示若循環(huán)活動a,b為順序關(guān)系且活動a為s的最后一個活動,則把活動b添加到s中且在活動a之后;步驟16)、17)把得到的循環(huán)序列s添加到循環(huán)序列集合Ls中并返回Ls。

例1L={〈a,b,c,g〉,〈a,b,c,d,e,g〉,〈a,b,c,d,e,b,c,d,e,g〉}。num(b,σ3)=2,num(c,σ3)=2,num(d,σ3)=2,num(e,σ3)=2,所以SLA={b,c,d,e}。根據(jù)算法1,SLA=SLA-b={c,d,e},s=〈b〉,因為b>Lc,有s=s+c=〈b,c〉,SLA=SLA-c={d,e},同理得到s=〈b,c,d,e〉。

2.2 選擇序列確定算法

提取出事件日志中的循環(huán)序列后,下一步確定事件日志中的選擇序列。

定義13(選擇活動) σ1,σ2∈L為日志中的兩個跡,a∈σ為跡中的一個活動,若a∈σ1,a?σ2且a?SLA,則a為選擇活動。選擇活動集合SCA={a∈A|?σ1,σ2∈L∧a∈σ1∧a?2∧a?SLA}。

定義14(選擇序列)SCA為選擇活動集合,f∈SCA*為一個選擇序列,其中?f[i]∈SCA,若:

1)κ(f)=1,f為只包含一個活動的選擇序列;

2)κ(f)≥2,且f[i] >Lf[i+1],i∈{1,2,…,n-1},f為長度為n的選擇序列;

Lf為所有選擇序列集合。

定義15(選擇開始活動和選擇結(jié)束活動)SCA為選擇活動集合,f∈SCA*為一個選擇序列,選擇開始活動為SCA_s,選擇結(jié)束活動為SCA_e,其中:

1)SCA_s=(ai∈SCA|ai=fi[1]);

2)SCA_e=(ai∈SCA|ai=fi[n]),i∈{1,2,…,m}.

定義16(選擇分支)Ns=(PN,a,Mi,Mf)為一個過程模型,PT為對應(yīng)過程樹,CB=(t1,t2,…,tn)是一個選擇分支元組,其中:

1) ?n=“×”∈PT;

2)tk∈Fi(n),1≤k≤m,1≤i≤n。

選擇分支集合SCB={(t1,t2,…,tn)|tk∈Fi(n),1≤k≤m,1≤i≤n,?n=“×”∈PT}。

算法2為選擇序列確定算法。步驟1)初始化選擇序列f,選擇活動集合SCA;步驟2)遍歷日志;步驟3)~4)表明若活動a屬于L,但不屬于跡σi,則a為選擇活動;步驟5)~9)遍歷SCA,若活動a,b為順序關(guān)系且a不屬于SCA,b是選擇活動,則添加b到f;步驟10)~12)表示若活動a,b為順序關(guān)系且a屬于SCA,b不是選擇活動,則添加a到f;步驟13)~14)把f添加到選擇序列集合Lf中并返回Lf。

例2事件日志L={σ1,σ2}={〈a,b,d,f〉,〈a,c,e,f〉},選擇活動集合SCA={b,c,d,e}。對于σ1,有a>Lb且b∈SCA,a?SCA。根據(jù)算法2,f=〈b〉,SCA={c,d,e},d>Lf且d∈SCA,f?SCA,選擇序列f=〈b,d〉,SCA={c,e}。同理可得選擇序列集合Lf={〈b,d〉,〈c,e〉}。

算法 2 選擇序列確定算法 輸入:事件日志 輸出:選擇序列 Lf 1) SCA ← ?,f ← ?; 2) For (i = 1,σi ∈ L;i + +; L ) do 3) if a ∈ L ∧ a ?σi then 4) SCA ←SCA ∪ a 5) For (i = 0;i < | SCA | ;i + +) do 6) For ?a,b ∈ A do 7) if (a > L b ∧ a ?SCA ∧ b ∈SCA ) then 8) f ← f + b 9) SCA ←SCA - b 10) if (a > L b ∧ a ∈SCA ∧ b ?SCA ) then 11) f ← f + a 12) SCA ←SCA - a 13) Lf ←Lf ∪ f 14) return Lf

2.3 循環(huán)選擇驅(qū)動循環(huán)序列確定算法

定義17(切分子跡) σ=〈r1,s,r2,…,rn〉∈L為日志上的一個跡,del(s,σ)={〈r1〉,〈r2,…,rn〉}。

算法3為循環(huán)選擇驅(qū)動循環(huán)序列確定算法。步驟1)初始化關(guān)聯(lián)對集合A?s,循環(huán)選擇驅(qū)動循環(huán)序列Llc→l;步驟2)、3)遍歷事件日志和循環(huán)序列集合;步驟4)~7)表明若有循環(huán)序列sj屬于σi,活動a屬于sj,且a是循環(huán)結(jié)束活動,記錄a出現(xiàn)次數(shù),同時切分子跡σi為λ1;步驟8)遍歷選擇序列集合;步驟9)~12)表明若有選擇序列fk屬于λ1[2],活動b屬于fk,且b是選擇開始活動,記錄b出現(xiàn)次數(shù),同時切分子跡λ1[2]為λ2;步驟13)遍歷循環(huán)序列集合;步驟14)~16)表明若有循環(huán)序列sm屬于λ2[2],活動c屬于sm,且c是循環(huán)結(jié)束活動,記錄c出現(xiàn)次數(shù);步驟17)、18)得到A?s;步驟19)、20)得到并返回Llc→l。

3 循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型修復(fù)方法

對于循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu),不同循環(huán)次數(shù)和選擇分支執(zhí)行會影響第二個循環(huán)塊的執(zhí)行。在實際過程中,可能會發(fā)生循環(huán)結(jié)構(gòu)沒有執(zhí)行完就執(zhí)行選擇結(jié)構(gòu)、選擇塊的選擇分支交叉執(zhí)行等情況。此時跡中沒有包含完整循環(huán)活動,或跡中選擇活動來自不同的選擇分支。本節(jié)給出含循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型修復(fù)算法,在確定過程模型中的偏差位置后,對循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)進(jìn)行修復(fù)。

3.1 偏差位置確定算法

本研究將循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)分為不同結(jié)構(gòu)分別確定偏差位置。步驟為:①判斷循環(huán)結(jié)構(gòu)是否存在偏差。若某循環(huán)結(jié)構(gòu)不存在循環(huán)前進(jìn)路徑[1]、循環(huán)活動出現(xiàn)次數(shù)不同且出現(xiàn)次數(shù)大于1,則確定循環(huán)結(jié)構(gòu)存在偏差;②判斷選擇結(jié)構(gòu)是否存在偏差。若某跡中選擇活動來自不同的選擇分支,說明選擇結(jié)構(gòu)存在偏差;③通過關(guān)聯(lián)規(guī)則判定原過程模型的間接依賴關(guān)系是否正確,若存在錯誤,則利用關(guān)聯(lián)規(guī)則進(jìn)行改進(jìn)。

定理1若a∈SLA是一個沒有循環(huán)前進(jìn)路徑的循環(huán)結(jié)構(gòu)中的循環(huán)活動,且存在某個跡有num(a,σ)>num(a#,σ)>1,則偏差位置在循環(huán)結(jié)構(gòu)且a為偏差變遷。

證明:循環(huán)活動a有num(a,σ)>1,即在某跡中出現(xiàn)次數(shù)大于1,說明循環(huán)體執(zhí)行了多次,同時num(a, σ)>num(a#,σ),a的出現(xiàn)次數(shù)大于a的后繼變遷出現(xiàn)次數(shù),說明a執(zhí)行完后沒有執(zhí)行a#,循環(huán)體沒有執(zhí)行完,確定循環(huán)結(jié)構(gòu)存在偏差。

定理2a、b∈SCA為兩個選擇活動,且a、b屬于不同的選擇分支,若存在某個跡同時含有a、b兩個選擇活動,則選擇結(jié)構(gòu)含有偏差,偏差變遷為a、b。

算法 4 偏差變遷確定算法 輸入:事件日志,循環(huán)活動 SLA ,選擇活動 SC A ; 輸出:偏差變遷 Dt l,Dt c . 1) Dt l,Dt c ← ? 2) For (i = 1,σi ∈ L;i + +;i ≤| L | ) do 3) if (a,a # ∈SLA ∧ num(a,σ) > num(a # ,σ) > 1) then 4) Dt l ← a 5) if (b,c ∈SCA ∧ b ∈SCBi ∧ c ∈SCBj) then 6) Dt c ← b,c 7) return Dt l,Dt c

證明:a、b∈SCA為兩個選擇活動,且a、b選擇分支不同,說明a和b不能同時出現(xiàn)在一個跡中,因為選擇結(jié)構(gòu)的每次執(zhí)行只會執(zhí)行一個選擇分支,若存在某個跡同時含有a、b兩個選擇活動,說明a、b所屬的選擇分支同時混合執(zhí)行,確定選擇結(jié)構(gòu)含有偏差。

算法4為偏差變遷確定算法。步驟1)初始化偏差變遷Dtl、Dtc;步驟2)遍歷日志;步驟3)~4)表明若活動a,a#屬于循環(huán)活動SLA,并且a在跡中出現(xiàn)次數(shù)大于a#在跡中出現(xiàn)次數(shù)大于1,則a為循環(huán)偏差變遷;步驟5)~6)表明若活動b、c屬于選擇活動SCA,b和c屬于不同選擇分支,則b、c為選擇偏差變遷;步驟7)返回偏差變遷。

3.2 循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型修復(fù)方法

算法5為循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型修復(fù)算法。步驟1)初始化LPN′;步驟2)根據(jù)算法4找到偏差變遷Dtl,Dtc;步驟3)~9)表明若存在循環(huán)偏差變遷Dtk,遍歷Dtl,確定偏差位置DP=(ti,po),其中ti=Dtk,po=?Dtk;步驟10)~16)表明若存在選擇偏差變遷Dti和Dtj,同時Dti不是選擇結(jié)束活動,Dtj不是選擇開始活動,確定偏差位置DP=(ti,po),其中ti=Dti,po=?Dtj;步驟17)返回LPN′。

例3L1={σ1,σ2,σ3,σ4}={〈a,b,c,d,e,g,j,l〉, 〈a,b,c,b,c,b,d,e,h,i,j,k,j,k,j,k,j,l〉, 〈a,b,c,b,c,d,e,g,i,j,k,j,l〉〈a,b,c,b,c,b,c,d,f,h,i,j,k,j,k,j,l〉}。在過程模型NS2中,循環(huán)活動為{b,c,j,k},選擇活動為{e,f,g,h}。對于跡σ2,包含活動b和c的循環(huán)塊中b的發(fā)生次數(shù)比c的發(fā)生次數(shù)多并且兩個活動發(fā)生了多次,說明循環(huán)結(jié)構(gòu)發(fā)生偏差。根據(jù)算法4確定偏差變遷為b,b的前集庫所為p2,根據(jù)算法5確定偏差位置DP=(b,p2)。添加一條從偏差變遷b到前集庫所p2的弧,修改b為邏輯輸出變遷,O(b)=p2?p3。跡σ2中的選擇活動來自兩個不同的選擇分支,根據(jù)算法4確定偏差變遷為e和h,e的后集庫所為p5,h的前集庫所為p6。因為h為選擇結(jié)束活動,根據(jù)算法5確定偏差位置DP=(e,p6), 添加一條從偏差變遷e到前集庫所p6的弧,修改e為邏輯輸出變遷,O(e)=p5?p6,得到圖3。Fahland方法添加了一個重復(fù)變遷,兩個不可見變遷和六條弧重放L1中的跡,如圖4。相對于只添加了兩條弧的圖3,Fahland方法比較復(fù)雜,并且不能表示過程模型不同結(jié)構(gòu)間的間接依賴關(guān)系。

圖3 基于邏輯Petri網(wǎng)的過程模型修復(fù)方法修復(fù)的模型

4 模擬實驗

本研究選用Fahland方法進(jìn)行對比實驗,評估提出方法的正確性和有效性。基于邏輯Petri網(wǎng)的模型修復(fù)采用手工模擬方式,Fahland方法已在過程挖掘工具Prom6.6(http://www.promtools.org/prom6/)中實現(xiàn)。

4.1 實驗數(shù)據(jù)與模型

以建筑公司工程項目實施過程為例,如圖5所示。建筑公司首先投標(biāo),中標(biāo)后監(jiān)理單位對施工方案進(jìn)行專業(yè)評審,如果評審不通過需要對施工方案進(jìn)行修改,重新確定施工方案。確定方案后需要準(zhǔn)備施工材料,建筑公司有兩種方案選擇材料公司:競爭性談判或者招標(biāo),談判可直接確定材料公司并確定材料,招標(biāo)則要實地考察材料后才能確定材料。確定施工材料后要對材料送檢后施工,施工時要定期質(zhì)檢,最后完成工程項目。通過算法3可以發(fā)現(xiàn)日志中存在間接依賴關(guān)系,比如在修改方案、確定方案發(fā)生一次后,選擇競爭性談判確定材料公司可以使施工質(zhì)檢階段執(zhí)行3次等,故可以確定此模型為含循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型。

圖5 建筑公司工程項目實施過程模型

實際過程可能會出現(xiàn)一些情況:對施工方案進(jìn)行修改,修改完成后不需要再進(jìn)行評審、經(jīng)過競爭性談判選擇的材料公司依舊需要實地考察等。此時原始模型不能滿足這些情況,需要修復(fù)模型。從某建筑公司系統(tǒng)中獲取10組事件日志L1~L10,如表1所示(可以通過鏈接https://www.aliyundrive.com/s/BWaeSsq1zQv獲取)。本研究基于這10組事件日志進(jìn)行模型修復(fù)。

表1 事件日志信息

4.2 模型修復(fù)實驗

通過與Fahland方法對比,驗證本研究方法的合理性和正確性。圖6為利用Fahland方法修復(fù)后的模型,比圖5增加了1個重復(fù)變遷、2個不可見變遷和6條流關(guān)系?;谶壿婸etri網(wǎng)的修復(fù)方法如圖7所示,比圖5增加了2條弧和2個邏輯函數(shù),同時根據(jù)關(guān)聯(lián)規(guī)則添加了新的間接依賴關(guān)系。

圖6 基于Fahland方法修復(fù)的模型

圖7 基于邏輯Petri網(wǎng)的過程模型修復(fù)方法修復(fù)的模型

4.3 模型分析

本節(jié)從擬合度、精確度、簡潔度三方面對兩種修復(fù)方法得到的模型進(jìn)行分析。擬合度用于確保事件日志中行為的發(fā)生,模型的擬合度越高,說明模型重復(fù)事件日志的能力越強,模型的質(zhì)量越好;精確度是指過程模型不會發(fā)生除事件日志外其他行為的能力,模型的精確度越高,模型生成外部事件日志的跡就越少,模型的質(zhì)量也越好;簡潔度是用簡單的模型重演日志中所有跡的能力,簡潔度太低會影響模型的可讀性。邏輯Petri網(wǎng)模型擬合度、精確度的計算方法見文獻(xiàn)[18]。

不同日志情況下,兩種方法修復(fù)的模型擬合度、精確度分別如圖8、圖9所示。相較于Fahland方法,本研究方法修復(fù)后模型的擬合度、精確度更高,修復(fù)效果更好。Fahland 方法在修復(fù)過程模型時增加了自循環(huán),導(dǎo)致過程模型產(chǎn)生許多事件日志之外的跡,使得修復(fù)后的模型擬合度、精確度降低。本研究基于邏輯Petri網(wǎng),針對循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu),提出修復(fù)方法,在修復(fù)循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)的同時可以表達(dá)結(jié)構(gòu)間的間接依賴關(guān)系,提高了修復(fù)后模型的擬合度和精確度。

圖8 擬合度變化曲線

圖9 精確度變化曲線

從修復(fù)模型的庫所、變遷、流關(guān)系上對兩種方法進(jìn)行簡潔度對比,結(jié)果如表2所示,可以看出,本研究方法得到的模型簡潔度更高。與Fahland方法相比,本研究方法提高了模型的簡潔度,同時也表示了不同結(jié)構(gòu)之間的間接依賴關(guān)系。

表2 模型簡潔度比較

5 結(jié)論

本研究針對循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)過程模型提出一種新的模型修復(fù)方法,將循環(huán)選擇驅(qū)動循環(huán)結(jié)構(gòu)分成三部分分別進(jìn)行修復(fù)。由于不同結(jié)構(gòu)確定偏差的方式不同,提出兩個定理判斷各個結(jié)構(gòu)是否存在偏差。在使用確定偏差變遷算法得到循環(huán)偏差變遷和選擇偏差變遷后,在不添加不可見變遷和重復(fù)變遷的情況下,使用提出的修復(fù)算法進(jìn)行模型修復(fù)。實驗表明,本研究方法不僅能夠保持原始結(jié)構(gòu),而且能夠正確描述各結(jié)構(gòu)之間的間接依賴關(guān)系。下一步將研究更加復(fù)雜的組合結(jié)構(gòu),進(jìn)行模型修復(fù)并研究之間的間接依賴關(guān)系。

猜你喜歡
日志變遷偏差
一名老黨員的工作日志
華人時刊(2021年13期)2021-11-27 09:19:02
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
如何走出文章立意偏差的誤區(qū)
兩矩形上的全偏差
40年變遷(三)
40年變遷(一)
40年變遷(二)
游學(xué)日志
清潩河的變遷
關(guān)于均數(shù)與偏差
榆树市| 祁门县| 吉木萨尔县| 大竹县| 丰都县| 麟游县| 瑞金市| 穆棱市| 盖州市| 乌拉特后旗| 南和县| 邹城市| 崇阳县| 金湖县| 青河县| 广丰县| 兴业县| 库车县| 惠安县| 南京市| 乌审旗| 南郑县| 韩城市| 惠东县| 蒙山县| 五华县| 临汾市| 巴林左旗| 南投市| 格尔木市| 西藏| 雷山县| 乐业县| 横山县| 天祝| 丹阳市| 衡阳市| 正宁县| 澜沧| 大邑县| 牟定县|