宋金鳳 聞立杰 王建民
(清華大學(xué)軟件學(xué)院 北京 100084)
(632230913@qq.com)
流程模型對于一個企業(yè)來說,具有十分重要的價值,它的作用不僅僅是對企業(yè)業(yè)務(wù)流程的具體刻畫,而且有利于企業(yè)對業(yè)務(wù)流程進(jìn)行分析、驗證和優(yōu)化[1].流程模型的管理包括模型分析、模型檢索和模型重用等方面[2].流程模型相似性度量在流程模型管理的各個方面都發(fā)揮著非常重要的作用.目前的流程模型相似性算法主要分為3類[2]:1)元素標(biāo)簽映射的相似性度量;2)模型結(jié)構(gòu)的相似性度量;3)行為語義的相似性度量.
元素標(biāo)簽映射的相似性度量,是基于節(jié)點的成對標(biāo)簽比較.它是通過定義2個模型的節(jié)點標(biāo)簽之間的映射,從而計算出相似性.標(biāo)簽匹配相似度等于匹配的節(jié)點數(shù)除以總節(jié)點數(shù).為了檢測標(biāo)簽的相似性,常常運用模式匹配算法[3]和本體匹配算法[4].Dijkman等人[5]在相似性度量方面做出了很多研究,提出了較多的相似性度量算法,最簡單的一種叫標(biāo)簽對齊的相似性度量算法.Ehrig等人[6]提出了基于標(biāo)簽語義的相似性度量方法.該類算法思路簡單、計算快速,但未對模型的拓?fù)浣Y(jié)構(gòu)和行為語義加以考慮,導(dǎo)致計算結(jié)果不夠精準(zhǔn).
結(jié)構(gòu)相似性度量方法,是把模型看作一個圖,利用公共子圖同構(gòu)和圖編輯距離對模型的相似性進(jìn)行度量.圖編輯距離詳細(xì)定義了從一個圖轉(zhuǎn)換到另一個圖所需的最小原子級圖操作.Dijkman等人[7]提出了一種結(jié)構(gòu)相似性度量方法,該方法定義了進(jìn)行每一種編輯操作都必須付出相應(yīng)代價,通過從一個模型到另一個模型的編輯距離,達(dá)到求出相似性的目的.基于上述算法,La Rosa等人[8]又提出了一種算法,結(jié)合了圖的編輯距離和活動匹配的方法.Li等人[9]提出了一種基于高級變更操作來計算模型相似性的方法,這種高級變更操作可以確保模型的完整性,并且使圖的編輯距離具有了高層語義上的特征.該類算法往往無法辨別行為相同或相近而結(jié)構(gòu)有較大差異的模型對兒.
基于行為語義的相似性度量主要從模型的行為語義(如執(zhí)行序列、任務(wù)關(guān)系)角度去考慮提取模型的行為關(guān)系,進(jìn)而進(jìn)行相似性的計算.Weidlich等人[10]提出了行為輪廓(behavioral profile,BP)算法的概念,行為輪廓主要是弱順序關(guān)系、嚴(yán)格順序關(guān)系、互斥關(guān)系、交叉關(guān)系等一系列關(guān)系的統(tǒng)稱.在行為輪廓概念定義的基礎(chǔ)上,作者提出了基于行為輪廓度量模型相似性的算法,即行為輪廓算法.該算法雖然可以在一定程度上高效提取行為關(guān)系,但是其粒度過粗,往往不能區(qū)分一些特殊結(jié)構(gòu),如互斥與循環(huán)、不可見任務(wù)等.Polyvyanyy等人[11]提出了4C(co-occurrence,conflict,causality,concurrency)算法,該算法提出了一系列關(guān)系的定義,包括共現(xiàn)關(guān)系、沖突關(guān)系、因果關(guān)系以及并發(fā)關(guān)系,統(tǒng)稱為4C關(guān)系,但由于關(guān)系過多且復(fù)雜,導(dǎo)致了其不易于計算和理解.Zha等人[12]提出了一種變遷毗鄰關(guān)系(transition adjacent relations,TAR)算法,但該算法只考慮到了變遷的緊鄰關(guān)系而忽略了變遷間接影響的關(guān)系,因此導(dǎo)致自由選擇結(jié)構(gòu)與非自由選擇結(jié)構(gòu)可能產(chǎn)生相同的結(jié)果.Wang等人[13]提出基于主變遷序列(principal transition sequences,PTS)的相似性計算方法,該算法可以有效處理循環(huán)結(jié)構(gòu),但是在并發(fā)分支較多的情況下會導(dǎo)致空間爆炸問題.汪抒浩等人[14]提出了SSDT算法(shortest succession distance between tasks),該算法定義了任務(wù)最短跟隨距離,并在此基礎(chǔ)上定義過程模型的任務(wù)最短跟隨距離矩陣,將2個過程模型的對應(yīng)距離矩陣進(jìn)行同維化后可以進(jìn)行相似性計算.Dijkman等人[5]提出一種用因果足跡(casual footprints,CF)計算相似性的方法,該算法的主要思路是把過程模型用向量表示,但是由于向量中有過多的冗余信息,因此高維度的向量導(dǎo)致計算非常低效.
因此,鄭州市必須優(yōu)化城市發(fā)展規(guī)劃,提供完善的城市創(chuàng)新基礎(chǔ)設(shè)施,對標(biāo)國際一流創(chuàng)新型城市各項指標(biāo),著力解決短板問題,與國內(nèi)外知名研發(fā)機(jī)構(gòu)建立產(chǎn)學(xué)研用創(chuàng)新平臺,依托平臺培養(yǎng)人才、聯(lián)合創(chuàng)新和布局“鄭州智造”產(chǎn)業(yè),加快鄭州高新技術(shù)產(chǎn)業(yè)的價值鏈攀升。
針對BP算法和4C算法的不足,本文提出了新的行為相似性度量方法TOR(task occurrence relations),即基于任務(wù)發(fā)生關(guān)系的流程模型相似性算法.首先定義了完全前綴展開中的前驅(qū)、公共前驅(qū)、最近公共前驅(qū)等一系列概念,并且設(shè)計了節(jié)點編號算法、最近公共前驅(qū)求解算法,提出了任務(wù)間3種發(fā)生關(guān)系,即因果、并行和互斥,據(jù)此給出了相似性計算方法.TOR算法可以很好地處理不可見任務(wù)和非自由選擇結(jié)構(gòu),并且可以有效提取存在于任務(wù)間的多關(guān)系.
定義1. Petri網(wǎng)[15].Petri網(wǎng)是三元組N=(P,T,F),其中P和T是不相交的有限集合,P是所有庫所的集合,而T是所有變遷的集合,它們之間的連接關(guān)系用F表示,F(xiàn)?(P×T)∪(T×P).Petri網(wǎng)中所有的節(jié)點集合為X=P∪T,對于任意節(jié)點x∈X,x的前置集合為·x={y∈X|(y,x)∈F},同理x的后置集合為x·={y∈X|(x,y)∈F}.
定義2. Petri網(wǎng)系統(tǒng)[15].二元組S=(N,M0)是Petri網(wǎng)系統(tǒng),其中N=(P,T,F)為Petri網(wǎng),M0
⑦ for eachn∈node· do
定義3. 就緒[15].給定Petri網(wǎng)系統(tǒng)S=(N,M0),對于任意變遷t∈T,M是從M0可達(dá)的標(biāo)識,當(dāng)?p∈·t滿足M(p)≥1時,則稱t就緒,記為(N,M)[t〉.若S的任意可達(dá)標(biāo)識M和庫所p都滿足M(p)≤n(n為任意正整數(shù)),則稱S是有界的.
定義4. 觸發(fā)[15].給定Petri網(wǎng)系統(tǒng)S=(N,M0),M是從M0可達(dá)的標(biāo)識,若t∈T且(N,M)[t〉,則t可被觸發(fā),并得到新的標(biāo)識M′=M-·t+t·.
McMillan等人[16]最先提出了一種新技術(shù)來避免Petri網(wǎng)系統(tǒng)驗證中無限狀態(tài)造成的空間爆炸問題.他首先提出一種網(wǎng)展開的概念,即完全有限前綴,之后基于分支進(jìn)程這一概念,對該理論進(jìn)行了進(jìn)一步闡述[17].該算法的創(chuàng)新之處在于:通過記錄已經(jīng)存在的標(biāo)記狀態(tài),提出了截斷事件的概念(即如果一個標(biāo)記狀態(tài)已經(jīng)存在過,那么就對其之后的部分進(jìn)行截斷),從而避免同一狀態(tài)重復(fù)出現(xiàn)多次的現(xiàn)象,確保了展開結(jié)構(gòu)的簡潔性.因此,該算法有著較高的效率和比較小的展開規(guī)模,在解決Petri網(wǎng)狀態(tài)空間爆炸問題方面有著比較出色的表現(xiàn).Esparza等人[18]對McMillan等人[16-17]的算法進(jìn)行了改進(jìn),提出了一種新的規(guī)模更小的展開方法,即完全前綴展開.
下面對該完全前綴展開(complete prefix unfolding,CPU)技術(shù)的一些基本概念進(jìn)行簡要的介紹,更多相關(guān)概念和示例詳見文獻(xiàn)[18].
⑩ addntostartNodes;
1)O是無環(huán)的,C為條件(即庫所)的集合,E為事件(即變遷)的集合,邊集G?(C×E)∪(E×C);
2) ?c∈C,滿足|·c|≤1,即任意條件的輸入都小于等于1;
3) 對于所有x∈C∪E,都有(x#x),即所有的元素都不能是自沖突的;
4) ?x∈C∪E滿足{y∈C∪E|yx}必須是有限的.
在給定出現(xiàn)網(wǎng)中,因果關(guān)系xy表示x與y之間為偏序關(guān)系,即存在從x到y(tǒng)的路徑,沖突關(guān)系x#y表示二者所在的不同路徑開始于某公共條件或庫所c,且從c到x的路徑與從c到y(tǒng)的路徑不相交.
高校場館的運營管理對提高大學(xué)生體質(zhì)健康水平、促進(jìn)公眾健身參與和營造健康向上氛圍發(fā)揮著至關(guān)重要的作用,如何提高高校場館運營的綜合效益,使其真正與使用需求掛鉤,與城市生活、產(chǎn)業(yè)發(fā)展緊密相連已成為重要的理論和實踐命題。高校體育場館的運營困境,源于長期以來缺乏真正科學(xué)理性的綜合策劃和可行性研究,研究通過對高校運營管理的現(xiàn)實基礎(chǔ)和綜合環(huán)境分析,提出發(fā)展參考路徑,以期增強(qiáng)復(fù)合經(jīng)營能力,拓展服務(wù)領(lǐng)域,延伸配套服務(wù),建立適宜我國國情的高校場館發(fā)展方式。
定義6. 分支進(jìn)程[18].對于網(wǎng)系統(tǒng)S=(N,M0),其中N=(P,T,F),出現(xiàn)網(wǎng)為O=(C,E,G),則π=(O,h)為S的一個分支進(jìn)程,當(dāng)且僅當(dāng)滿足如下條件:
1)h為一個映射:C∪E|→P∪T,同時h(C)?P且h(E)?T;
⑤ whilestartNodes.size()>0 do
3)h使得Min(O)和M0之間為雙射,Min(O)表示根據(jù)偏序關(guān)系得到的C∪E中的所有最小元素集合;
把好加工關(guān)。按工藝流程規(guī)范操作,并做好以下幾點:不使用腐敗變質(zhì)、含有毒有害物質(zhì)的食品原料,不得回收餐廚廢棄物;嚴(yán)格實行“生熟分開”,避免食品受到各種致病菌的污染;需要熟制加工的食品要做到“燒熟煮透”,其中心溫度不得低于70℃,以保證殺滅食品中的有害微生物和有毒成分,對半成品和剩余食品進(jìn)行二次烹調(diào)加工時,中心溫度亦不能低于70℃;制定詳細(xì)的清洗消毒制度及操作規(guī)程,嚴(yán)格實施清洗消毒程序;對高風(fēng)險食品按規(guī)定程序進(jìn)行留樣。
4) 對于所有e,f∈E,當(dāng)h(e)=h(f)且·e=·f時,則必須滿足e=f.
定義7. 配置[18].S=(N,M0)是Petri網(wǎng)系統(tǒng),其中N=(P,T,F),π=(O,h)是S的一個分支進(jìn)程,其中O=(C,E,G),分支進(jìn)程π的某個配置C′是一組事件,滿足如下關(guān)系:
1) ?e1∈C′,e2e1?e2∈C′,即C′是因果關(guān)系的事件組成的閉包;
2) ?e1,e2∈C′滿足(e1#e2),即e1和e2不沖突.
其中,任意事件e∈E的局部配置指的是,滿足條件xe∨x=e的所有事件x的集合,記作[e].
定義8. 割集[18].對于π=(O,h)的某有窮配置C′,Cut(C′)=(Min(O)∪C′·)·C′被稱為一個割集.
定義9. 充分關(guān)系[19].充分關(guān)系是在局部配置上的嚴(yán)格偏序關(guān)系,對于任意2個事件e,f∈E,如果有[e]?[f],那么[e][f],且通過有窮擴(kuò)展得以保持(即如果[e][f]且Mark([e])=Mark([f]),則對于[e]的所有有窮擴(kuò)展[e]⊕E,存在同構(gòu)變換使得[e]⊕E[f]⊕則意味著e和f之間為充分關(guān)系.
根據(jù)《意見》要求,各高校對創(chuàng)新創(chuàng)業(yè)教育理論和實踐都進(jìn)行了有益的探索,如開發(fā)就業(yè)創(chuàng)業(yè)課程體系、制定學(xué)分轉(zhuǎn)換政策、搭建創(chuàng)新創(chuàng)業(yè)實踐平臺、建立創(chuàng)客空間等,為大學(xué)生進(jìn)行個性化指導(dǎo)和持續(xù)性幫扶,并取得了一定的成績。在校創(chuàng)業(yè)學(xué)生可以享受到專業(yè)導(dǎo)師指導(dǎo)、固定場地保障、濃厚創(chuàng)業(yè)氛圍等有利條件??梢坏┊厴I(yè),這些學(xué)生即將面臨優(yōu)厚待遇“失效”的窘境。這也使學(xué)生的創(chuàng)業(yè)面臨更多困難,高校不能充分發(fā)揮“扶上馬,送一程”的責(zé)任。這時就需要社區(qū)創(chuàng)客空間發(fā)揮其服務(wù)終身學(xué)習(xí)、致力創(chuàng)新創(chuàng)業(yè)繼續(xù)教育的優(yōu)勢。
其中,Mark(C)表示從原網(wǎng)的初始標(biāo)識開始,依次觸發(fā)配置C中的每個事件,最終得到可達(dá)標(biāo)識.
定義10. 截斷事件、截斷條件[18].對于π=(O,h)中的一個事件e∈E,如果有一個對應(yīng)事件f∈E,滿足Mark([e])=Mark([f]),并且[f][e],那么e就是截斷事件,f是其對應(yīng)事件,記作f=corr(e).此時,e·被稱作截斷條件集合.通常來說,對于任意截斷條件c∈e·,滿足c·=?,即其后的事件均被截斷了.
定義11. 完全前綴展開[18].對于有界的網(wǎng)系統(tǒng)S=(N,M0),其分支進(jìn)程π=(O,h)是S基于截斷技術(shù)得到的前綴展開,則π是完全的當(dāng)且僅當(dāng)對于S中的每個可達(dá)標(biāo)識M,都存在π的一個配置C,使得:
1)Mark(C)=M,即M在π中得以表達(dá);
2) 對于M下就緒的每個變遷t,都存在一個事件e,滿足e?C且h(e)=t且C∪{e}構(gòu)成一個配置.
例1. 如圖1(a)所示的Petri網(wǎng),圖1(b)為其完全前綴展開,也是該網(wǎng)的一個分支進(jìn)程,其中:局部配置[A]={A},[C]={A,C},[E]={A,B,C,E},而割集Cut([A])={P1,P2},Cut([C])={P41},Cut([E])={P5};針對C與D組成的互斥結(jié)構(gòu),事件D為截斷事件,其對應(yīng)事件corr(D)=C,而P42為截斷事件,其對應(yīng)條件為P41;針對H和I構(gòu)成的循環(huán)結(jié)構(gòu),事件I為截斷事件,其對應(yīng)事件corr(I)=F,而P72為截斷條件,P71為對應(yīng)條件,這是由于Mark([F])=Mark([I])且[F]={A,B,C,E,F}[I]={A,B,C,E,F,H,I}.
基于任務(wù)間發(fā)生關(guān)系的模型相似性度量算法TOR的主要步驟如下:
1) 基于完全前綴展開.首先把給定的Petri網(wǎng)模型進(jìn)行完全前綴展開,這樣可以保持流程模型的所有標(biāo)識及任務(wù)間發(fā)生關(guān)系,便于后續(xù)提取流程模型的行為特征.
2) 節(jié)點遍歷編號.逐層廣度優(yōu)先遍歷得到的完全前綴展開,對其節(jié)點按照遍歷的層次編號,并存儲節(jié)點和其對應(yīng)的編號.
3) 求出任務(wù)發(fā)生關(guān)系.根據(jù)最近公共前驅(qū)算法求出每2個任務(wù)的最近公共前驅(qū)并作相應(yīng)的存儲,從而進(jìn)一步求出任務(wù)發(fā)生關(guān)系.根據(jù)求出的最近公共前驅(qū)以及特殊結(jié)構(gòu)的處理方式,確定任務(wù)之間的發(fā)生關(guān)系.
浩亭正從物理連接向數(shù)字連接的變革中轉(zhuǎn)變,產(chǎn)品設(shè)計理念上就要圍繞新的方向,包括模塊化、標(biāo)準(zhǔn)化和數(shù)字化。對此,浩亭電氣與浩亭信息技術(shù)軟件開發(fā)行政總裁烏弗·格拉夫(Uwe Graff)先生解釋說,“在模塊化方面,Smart Han連接器是浩亭模塊化產(chǎn)品的典型代表,可靈活搭配,以響應(yīng)交通和機(jī)械領(lǐng)域的客戶需求,可顯著縮短基礎(chǔ)連接的現(xiàn)場時間;數(shù)字化的代表性產(chǎn)品就是MICA,這是一個數(shù)字化采集平臺,可對狀態(tài)環(huán)境進(jìn)行現(xiàn)場數(shù)據(jù)采集,還有RFID產(chǎn)品也是擴(kuò)展數(shù)字連接的產(chǎn)品線之一,關(guān)鍵是要貼近客戶實現(xiàn)技術(shù)落地?!?/p>
4) 模型相似性計算.在相應(yīng)的任務(wù)間關(guān)系集合的基礎(chǔ)上,通過關(guān)系集合之間的加權(quán)相似性計算出模型之間的相似性.
本節(jié)主要介紹圍繞任務(wù)發(fā)生關(guān)系的一系列定義,包括完全前綴展開圖中任意2個節(jié)點的前驅(qū)、公共前驅(qū)、最近公共前驅(qū)以及任務(wù)發(fā)生關(guān)系.
定義12. 路徑.S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).a,b∈C∪E,有一條路徑從a到b,即存在一條從a到b的有向通路.
例2. 在圖1(b)中,A經(jīng)過P1到B,則A到B可達(dá),即存在一條從A到B的路徑.
在對商品的包裝進(jìn)行責(zé)任追究時,主要的問題是對經(jīng)濟(jì)損失如何計量。當(dāng)侵權(quán)事件發(fā)生時,責(zé)任一方要對受害者進(jìn)行賠償,賠償?shù)臄?shù)目應(yīng)合理,這是在處理現(xiàn)實事件時首先應(yīng)考慮的問題。按照我國的處罰慣例,不會采取懲罰性的措施,只是通過一定的補(bǔ)償將損失降到最小。
指一物鏡處在工作狀態(tài),用轉(zhuǎn)換器轉(zhuǎn)至另一物鏡時,視野中心的偏移量。如用10×物鏡調(diào)焦后,以其中心為基準(zhǔn),再轉(zhuǎn)換至40×物鏡時,中心位移不得超過該視場半徑的2/3,以40×物鏡為基準(zhǔn),轉(zhuǎn)換至100×物鏡時,中心位移不得超過該視場半徑的3/4。
為了計算任務(wù)間發(fā)生的關(guān)系,需要對CPU節(jié)點的前驅(qū)、公共前驅(qū)以及最近公共前驅(qū)進(jìn)行定義.
Fig. 1 An example for task occurrence relations圖1 任務(wù)發(fā)生關(guān)系示例
定義13. 前驅(qū).S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).從p到e存在一條路徑,其中p∈C∪E,e∈E,那么p是e的一個前驅(qū),記為p∈pre(e),pre(e)表示e的所有前驅(qū)節(jié)點集合.特別地,有e∈pre(e).
對于截斷存在的情況,如果有一條路徑從c到e,并且c,c′∈C,e∈E,如果有c=corr(c′),那么認(rèn)為有一條路徑從c′到e,且所有c′的前驅(qū)節(jié)點也是e的前驅(qū),即?p∈pre(c′),有p∈pre(e).
例3. 在圖1(b)中,有一條路徑從B到E,B是E的前驅(qū).同樣地,有一條路徑從C到E,那么C也是E的前驅(qū).特別地,D雖然沒有直接到E的路徑,但是可以通過截斷條件P42跳轉(zhuǎn)到P41后使得從D到E有路徑相連,所以D也是E的前驅(qū).同理,有一條路徑從G到J,G是J的前驅(qū);有一條路徑從H到J,H也是J的前驅(qū).雖然沒有直接從I到J的路徑,但是,可以通過截斷條件P72跳轉(zhuǎn)到P71后使得從I到J有路徑相連,因此,I也是J的前驅(qū).
定義14. 公共前驅(qū).S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).對任意e1,e2∈E,如果存在cp∈C∪E,并且有cp∈pre(e1)∩pre(e2),那么cp就是e1,e2的公共前驅(qū),記作cp∈cmPre(e1,e2).
定義15. 最近公共前驅(qū).S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).對任意e1,e2∈E和lcp∈cmPre(e1,e2),若不存在lcp′∈cmPre(e1,e2),滿足lcp′≠lcp而且lcp∈pre(lcp′),那么lcp是e1和e2的最近公共前驅(qū),記為lcp∈lcPre(e1,e2).
例4. 在圖1(b)中,節(jié)點A既是B的前驅(qū),也是C的前驅(qū),則A是B和C的公共前驅(qū).雖然A也是C和D的公共前驅(qū),但P2才是C和D的最近公共前驅(qū).
定義16. 因果關(guān)系.S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).e1,e2∈E,t1,t2∈T,h(e1)=t1且h(e2)=t2,則t1和t2存在因果關(guān)系,當(dāng)且僅當(dāng)e1∈lcPre(e1,e2)(記作t1→t2或t2←t1,即逆序關(guān)系)或者e2∈lcPre(e1,e2)(記作t2→t1或t1←t2).
當(dāng)日平均氣溫穩(wěn)定回升到2~3℃時,小麥開始返青和恢復(fù)生長。日平均氣溫達(dá)到8~10℃時,小麥進(jìn)入光照階段,是小穗分化時期,也是提高成穗率的關(guān)鍵時段。此時,日平均氣溫>16℃,不利于長大穗,并要求適宜溫度持續(xù)時間長,同時要有充足的光照和適宜的土壤水分條件。
定義17. 并行關(guān)系.S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).e1,e2∈E,t1,t2∈T,h(e1)=t1且h(e2)=t2,則t1和t2存在并行關(guān)系,當(dāng)且僅當(dāng)存在e∈E,使得e≠e1且e≠e2且e∈lcPre(e1,e2),記作t1‖t2或者t2‖t1.
定義18. 互斥關(guān)系.π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G).e1,e2∈E,t1,t2∈T,h(e1)=t1且h(e2)=t2,則t1和t2存在互斥關(guān)系,當(dāng)且僅當(dāng)存在c∈C,使得c∈lcPre(e1,e2),記作t1#t2或者t2#t1.
例5. 在圖1(b)中,A和E存在因果關(guān)系,B和C存在并行關(guān)系,C和D存在互斥關(guān)系;而對于I和J,由于lcPre(I,J)={P9},二者之間存在明顯的互斥關(guān)系.
通過大量的研究表明中醫(yī)藥對功能性便秘的治療有較好的效果[6],主要是通過潤滑腸道,增加腸道運動,調(diào)節(jié)腸道神經(jīng)遞質(zhì)和胃腸道激素的分泌。還通過調(diào)養(yǎng)肝臟之氣血來治療便秘[7],國內(nèi)外通過研究腸道微生態(tài)與功能性便秘的關(guān)系,也為便秘的治療提供新的途徑[8]。叢麗敏[9]等觀察益生菌干預(yù)大鼠動物模型便秘的效果,證明有一定效果。
定義19. 任務(wù)發(fā)生關(guān)系.S=(N,M0)是有界系統(tǒng),π=(O,h)是其包含截斷事件的CPU,任務(wù)發(fā)生關(guān)系集合TOR={←,→,‖,#},統(tǒng)稱為S的任務(wù)發(fā)生關(guān)系.
以上定義了與任務(wù)發(fā)生關(guān)系有關(guān)的一系列定義,基于上述定義才可以進(jìn)行后續(xù)的模型相似性計算.
本節(jié)介紹任務(wù)發(fā)生關(guān)系的計算方法,包括節(jié)點編號算法、最近公共前驅(qū)算法以及任務(wù)發(fā)生關(guān)系的確定.
節(jié)點編號算法(其偽代碼如算法1所示)主要是通過遍歷CPU,確定每個節(jié)點的層級編號,是后續(xù)高效計算任意2節(jié)點最近公共前驅(qū)的基礎(chǔ).
算法1. 節(jié)點編號算法generateLevel.
輸入: 有界系統(tǒng)S=(N,M0),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G);
輸出:Map(node,level).*每個節(jié)點node及其對應(yīng)編號level的散列表Map*
① 查找π中所有源節(jié)點并放入隊列startNodes;
四是人大發(fā)揮了越來越大的監(jiān)督作用,各省都建立了省政府向人大匯報環(huán)境保護(hù)工作的機(jī)制,既包括在政府工作報告中匯報,也包括政府向地方人大常委會專門匯報,但是形式重于實質(zhì),少有問責(zé)的現(xiàn)象,如對于專門匯報方面,大多數(shù)情況是,政府的代表先在常委會全會上匯報,然后由人大常委會分組討論,提出意見,但是并不付諸于全會表決,監(jiān)督作用有限;人大的監(jiān)督在人大的信息公開方面不全面不系統(tǒng),還有很大的提升空間。在市縣層面,一些領(lǐng)導(dǎo)人的認(rèn)識不到位,仍然有一些政府沒有建立向地方人大常委會專門匯報環(huán)境保護(hù)工作的機(jī)制。這和《環(huán)境保護(hù)法》修改時規(guī)定不具體有關(guān)。
② for eachv∈startNodesdo
③Map.put(v,1);
④ end for
2) 對于所有e∈E,·e和·h(e)之間是雙射,e·和h(e)·之間是雙射,即h保留了變遷的外延;
⑥ 從startNodes中取出第1個元素,其編號為level;
是Petri網(wǎng)的初始標(biāo)識,M0:P→,是自然數(shù)集合.
⑧ ifn?MaporMap.get(n) ⑨Map.put(n,level+1); 定義5. 出現(xiàn)網(wǎng)[18].出現(xiàn)網(wǎng)為一類特殊的Petri網(wǎng)O=(C,E,G),當(dāng)且僅當(dāng)滿足如下條件: 綜上所述,該工程地質(zhì)特點為擬建場地人工填土層厚度較大,為2.40~2.80m,土質(zhì)雜亂,填墊年限小于10年,不能作為持力層使用。下部④1層黏土土質(zhì)一般,強(qiáng)度尚可,但厚度較薄,其下分布厚層淤泥質(zhì)黏土(地層編號⑥2),土質(zhì)軟,壓縮性高,為淺基礎(chǔ)軟弱下臥層,故本工程采用樁承臺基礎(chǔ)。樁型選用混凝土C80級PHC預(yù)應(yīng)力高強(qiáng)混凝土管樁,樁端持力層為⑨1粉質(zhì)黏土層,樁長27m。承臺埋深為-2.55m,承臺高度950mm,承臺頂標(biāo)高為-1.60m。 Arzberg在 1920 年末與Hermann Gretsch大師合作推出新系列“1382”而名垂千史,該系列產(chǎn)品從1931 年便炙手可熱,有一位評論家給“1382”極高的評價,稱之“實用、樸實,簡潔的風(fēng)格比膚淺的時尚更具經(jīng)典意義”。 應(yīng)該說,無論哪一種“生理性水腫”都與疾病無太大關(guān)聯(lián),但是我們依舊可以通過改善生活習(xí)慣來減緩甚至避免。大家應(yīng)當(dāng)保持樂觀情緒,堅持適當(dāng)鍛煉以增強(qiáng)體質(zhì),提高適應(yīng)能力;飲食應(yīng)堅持低脂肪、低膽固醇,少糖、少鹽,多吃瓜果蔬菜和豆制品等;避免久坐久站,經(jīng)?;顒酉轮蛔詈?,保證良好的睡眠,起居有律。 節(jié)點編號算法的步驟簡介如下:1)取出全部首節(jié)點(一般有且僅有1個),編號為第1層;2)按照廣度優(yōu)先的原則,不斷取出同一層次的后繼節(jié)點,按照同一層編號相同的原則進(jìn)行編號.同時,由于節(jié)點可從不同路徑可達(dá),因此必要時需要更新某節(jié)點及其后繼節(jié)點的編號,取較大的編號作為該節(jié)點最終的編號;如果遇到循環(huán)節(jié)點,則不進(jìn)行編號更新.遍歷的同時,把節(jié)點和其對應(yīng)的編號信息存儲在散列表Map中,當(dāng)所有節(jié)點遍歷完成后,算法結(jié)束.針對圖2(a)所示Petri網(wǎng)的CPU圖應(yīng)用節(jié)點編號算法,所得結(jié)果如圖2(b)所示. Fig. 2 An example for Algorithm 2圖2 算法2步驟舉例 最近公共前驅(qū)可以在一定程度上反映任務(wù)之間的發(fā)生關(guān)系,函數(shù)computeLCP主要用于完成CPU中2節(jié)點最近公共前驅(qū)的計算,其偽代碼如算法2所示,其主要思路如下: 1) 把事件e1和事件e2分別放入事件數(shù)組array1和array2中(行①~②). 2) 遍歷array1求出編號最大的節(jié)點,記這個節(jié)點為node1,記最大編號為max1;同理,遍歷array2求出編號最大的節(jié)點node2,記最大編號為max2(行④~⑦). 3) 比較max1和max2.若max1>max2,則node1向前回溯一步;否則node2向前回溯一步(行⑧~). 4) 不斷重復(fù)思路2和思路3,直到找到公共前驅(qū)節(jié)點為止(行③~). 5) 返回公共前驅(qū)節(jié)點,這些公共節(jié)點就是e1,e2的最近公共前驅(qū)(行). 算法2. 最近公共前驅(qū)算法computeLCP. 輸入: 有界系統(tǒng)S=(N,M0),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G);e1∈E,e2∈E;存儲CPU節(jié)點編號結(jié)果的散列表Map; 輸出: 最近公共前驅(qū)數(shù)組lcpSet. ① adde1toarray1; ② adde2toarray2; ③ whilearray1∩array2=? do ④ getnode1fromarray1with the max number; ⑤max1=Map.get(node1); ⑥ getnode2fromarray2with the max number; ⑦max2=Map.get(node2); ⑧ ifmax1>max2then ⑨stepBackward(node1,array1); ⑩ else 回溯一步算法stepBackward(其偽代碼如算法3所示)的主要思想是從startNode節(jié)點開始,向前回溯一步,同時更新數(shù)組array,把startNode的所有前驅(qū)節(jié)點加入數(shù)組array中,并把startNode節(jié)點從數(shù)組中移除. 算法3. 回溯一步算法stepBackward. 輸入: 有界系統(tǒng)S=(N,M0),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G);startNode∈C∪E;存儲待遍歷節(jié)點的數(shù)組array. ① for eachn∈·startNodedo ② addntoarray; ③ end for ④ ifstartNode∈Cthen ⑤ for eachc∈Cdo ⑥ ifstartNode=corr(c) then ⑦ addctoarray; ⑧ end if ⑨ end for ⑩ end if 下面用一個具體的流程模型來說明2節(jié)點最近公共前驅(qū)的求解過程. 例6. 以圖2(a)中的流程模型為例,求解其CPU中事件T2和T8的最近公共前驅(qū)的計算過程如下: 1) 將該模型進(jìn)行完全前綴展開,并用編號算法對所有進(jìn)行編號,得到的CPU如圖2(b)所示; 2) 把T8放入array1中,把T2放入array2中,此時array1中節(jié)點的最大編號max1=8,array2中節(jié)點的最大編號max2=6,由于max1>max2,應(yīng)該從T8向前回溯一步,調(diào)用函數(shù)stepBackward,此時array1更新為{P9},array2不變,仍為{T2}; 3) 此時max1=7,max2=6,由于max1>max2,應(yīng)該從P9向前回溯一步,調(diào)用函數(shù)stepBackward,此時array1更新為{T7}; 4) 此時max1=6,max2=6,由于max1=max2,T2向前回溯一步,調(diào)用函數(shù)stepBackward,此時array2更新為{P3}; 5) 此時max1=6,max2=5,由于max1>max2,應(yīng)該從T7向前回溯一步,調(diào)用函數(shù)stepBackward,此時array1更新為{P2}; 6) 此時max1=5,max2=5,由于max1=max2,應(yīng)該從P3向前回溯一步,調(diào)用函數(shù)stepBackward,此時array2更新為{T1}; 7) 此時max1=5,max2=4,由于max1>max2,應(yīng)該從P2向前回溯一步,調(diào)用函數(shù)stepBackward,此時array1更新為{T1}; 8) 到此為止,已經(jīng)找到最近公共前驅(qū)集合{T1},算法結(jié)束. 根據(jù)求出的事件間最近公共前驅(qū)集合以及之前對于任務(wù)發(fā)生關(guān)系的定義,可以確定任意2個給定任務(wù)間的發(fā)生關(guān)系,對應(yīng)算法的偽代碼如算法4所示. 算法4. 任務(wù)發(fā)生關(guān)系的確定算法computeTOR. 輸入: 有界系統(tǒng)S=(N,M0),π=(O,h)是其包含截斷事件的CPU,其中N=(P,T,F),O=(C,E,G);t1,t2∈T; 輸出: 任務(wù)發(fā)生關(guān)系集合TOR. ① for eache1∈E∧h(e1)=t1do ② for eache2∈E∧h(e2)=t2do ③lcp=computeLCP(e1,e2).get(0); ④ iflcp=e1then ⑤TOR.add(t1,t2,→); ⑥ else iflcp=e2then ⑦TOR.add(t1,t2,←); ⑧ else iflcp∈Ethen ⑨TOR.add(t1,t2,‖); ⑩TOR.add(t2,t1,‖); 通過該算法,可以基于CPU中任意2個事件間的最近公共前驅(qū),確定流程模型中每對兒任務(wù)之間的發(fā)生關(guān)系,進(jìn)一步可以求出流程模型的任務(wù)發(fā)生關(guān)系矩陣. 通過2.1節(jié)和2.2節(jié)介紹的算法和定義,已經(jīng)可以確定模型的關(guān)系矩陣,基于關(guān)系矩陣可以計算過程模型的相似性.相似性計算主要思路為:首先分別介紹并行關(guān)系、互斥關(guān)系以及因果關(guān)系的權(quán)重和相似度;然后用權(quán)重乘以對應(yīng)的關(guān)系相似度,從而得出整個模型的相似性. 并行關(guān)系、互斥關(guān)系以及因果關(guān)系的權(quán)重分別用如下公式計算,其中P,Q為給定的2個流程模型,P‖,P#,P→,P←分別為P的并行關(guān)系、互斥關(guān)系、因果關(guān)系和逆序關(guān)系集合.對于模型Q,亦有對應(yīng)的關(guān)系集合. w1為并行關(guān)系的權(quán)重,其計算為 (1) w2為互斥關(guān)系的權(quán)重,其計算為 (2) w3為因果關(guān)系的權(quán)重,其計算為 (3) 在上述權(quán)值計算公式中,借鑒了Weidlich等人[10]在BP算法中的思路,直接采用各類二元關(guān)系個數(shù)在所有二元關(guān)系總數(shù)中的比重,認(rèn)為并行關(guān)系、互斥關(guān)系和因果關(guān)系具有相同的重要性,這些權(quán)值支持用戶自定義. 根據(jù)Jaccard系數(shù),并行關(guān)系、互斥關(guān)系以及因果關(guān)系的相似性分別用如下公式計算.本文假定前任務(wù)名稱、發(fā)生關(guān)系、后任務(wù)名稱分別相同,為判定關(guān)系集合中元素相同的標(biāo)準(zhǔn),如T1#T2≠T1#T3. 對于并行關(guān)系的相似性,用P模型和Q模型所有并行關(guān)系的交集元素數(shù)除以P模型和Q模型所有并行關(guān)系的并集元素數(shù): (4) 對于互斥關(guān)系的相似性,用P模型和Q模型所有互斥關(guān)系的交集元素數(shù)除以P模型和Q模型所有互斥關(guān)系的并集元素數(shù): (5) 對于因果關(guān)系的相似性,用P模型和Q模型所有因果關(guān)系的交集元素數(shù)除以P模型和Q模型所有因果關(guān)系的并集元素數(shù): (6) 2個模型P和Q的相似性為并行關(guān)系的權(quán)重乘以并行關(guān)系相似性、互斥關(guān)系的權(quán)重乘以互斥關(guān)系的相似性、因果關(guān)系的相似性乘以因果關(guān)系的權(quán)重這三者的累加和,其計算為 sim(P,Q)=w1×sim‖(P,Q)+ (7) 圖3展示了包含多關(guān)系的典型實例,同時該例也體現(xiàn)了TOR算法對非自由選擇結(jié)構(gòu)的有效處理.圖3(a)為Petri網(wǎng)表達(dá)的原模型,圖3(b)是其對應(yīng)的CPU.在一個分支進(jìn)程里,T2和T3是并行關(guān)系,在另一分支進(jìn)程里面,T2和T3是因果關(guān)系,這2種關(guān)系都是有效的.在算法的設(shè)計中已充分考慮了不同分支進(jìn)程的情況,因此,在關(guān)系的提取過程中,這2種關(guān)系都會被提取出來,對應(yīng)的任務(wù)發(fā)生關(guān)系矩陣如表1所示. Fig. 3 An example for multiple occurrence relations between tasks圖3 任務(wù)間多發(fā)生關(guān)系實例 Table 1 TOR Matrix of the Process Model in Fig.3表1 圖3中模型的任務(wù)發(fā)生關(guān)系矩陣 Notes: →means causality; ←means inverse causality; #means conflict; ‖means concurrency. 在實際業(yè)務(wù)過程模型中會出現(xiàn)一種特殊的任務(wù),稱作不可見任務(wù)[19],即空標(biāo)簽任務(wù),這種任務(wù)的存在會影響模型的行為.然而,現(xiàn)有的模型相似性算法大多忽略了不可見任務(wù)的處理,本文給出其具體處理方法.主要處理3種類型的不可見任務(wù),分別是SKIP類型、REDO類型以及SWITCH類型.SKIP類型不可見任務(wù)用于跳過某些任務(wù),如圖4所示;REDO類型用于重復(fù)執(zhí)行某些任務(wù),如圖5所示;SWITCH類型不可見任務(wù),用于在過程模型的不同可選分支間進(jìn)行執(zhí)行順序切換,如圖6所示.關(guān)于不可見任務(wù)的詳細(xì)分類,讀者可參閱文獻(xiàn)[19]. 對于SKIP類型的不可見任務(wù),可以看出在圖4所示模型中,不可見任務(wù)(稱其為Inv1)跳過了任務(wù)B,也就是該不可見任務(wù)的存在,導(dǎo)致了B被跳過.換個角度來說,該不可見任務(wù)和B是互斥關(guān)系,二者不能同時執(zhí)行.在處理這一類不可見任務(wù)的時候,只需要考慮該不可見任務(wù)與其跳過范圍內(nèi)的可見任務(wù)的互斥關(guān)系即可.確定這個范圍,就需要通過該不可見任務(wù)的輸入輸出邊來確定其作用范圍.也就是說,在SKIP類型的不可見任務(wù)處理時,不可見任務(wù)只參與互斥關(guān)系的計算,在圖4中體現(xiàn)為B#Inv1.該模型的關(guān)系矩陣如表2所示. Fig. 4 An invisible task of SKIP type圖4 SKIP類型不可見任務(wù) Fig. 5 An invisible task of REDO type圖5 REDO類型不可見任務(wù) Fig. 6 An invisible task of SWITCH type圖6 SWITCH類型不可見任務(wù) Table 2 TOR Matrix Involving an Invisible Task of SKIP Type表2 SKIP類型不可見任務(wù)的任務(wù)發(fā)生關(guān)系矩陣 Notes: →means causality; ←means inverse causality; #means conflict. 對于REDO類型的不可見任務(wù),需要考慮任務(wù)間因果關(guān)系的變化.可以看出在圖5所示模型中,不可見任務(wù)(稱其為Inv2)和任務(wù)B構(gòu)成了循環(huán)結(jié)構(gòu),導(dǎo)致了任務(wù)B可以重復(fù)執(zhí)行.在處理這類不可見任務(wù)的時候,只需要考慮該不可見任務(wù)作用范圍內(nèi)可見任務(wù)的因果關(guān)系即可.雖然有Inv2→B和B→Inv2,但是最終填寫矩陣的時候不考慮這2個依賴關(guān)系,而只考慮B→B.確定不可見任務(wù)的作用范圍時,同樣需要借助其輸入輸出邊.將這個范圍內(nèi)的可見任務(wù)彼此之間的關(guān)系更新為正確的因果關(guān)系即可.該模型的關(guān)系矩陣如表3所示: Table 3 TOR Matrix Involving an Invisible Task of REDO Type表3 REDO類型不可見任務(wù)的任務(wù)發(fā)生關(guān)系矩陣 Notes: →means causality; ←means inverse causality; #means conflict. 對于SWITCH類型的不可見任務(wù),可以看出在圖6所示模型中,不可見任務(wù)(稱之為Inv3)導(dǎo)致了A和D之間多了一條可達(dá)路徑.這種情況下,導(dǎo)致了A和D因果關(guān)系的產(chǎn)生.而不可見任務(wù)本身是不參與因果、并行和互斥3種關(guān)系中計算的.而該不可見任務(wù)的存在,使A和D之間多了一種因果關(guān)系.確定該不可見任務(wù)的作用范圍,只需檢測其導(dǎo)致了哪些任務(wù)從不可達(dá)變?yōu)榭蛇_(dá)(即因果關(guān)系).該模型的關(guān)系矩陣如表4所示: Table 4 TOR Matrix Involving an Invisible Task ofSWITCH Type Notes: →means causality; ←means inverse causality; #means conflict. 以上是對不可見任務(wù)造成影響的處理,通過這種方式可以很好地計算在不可見任務(wù)存在情況下的模型相似性,從而使結(jié)果更加合理和全面. 本文的實驗環(huán)境如下:MacBook Pro,Intel Dual Core i5 CPU@2.6 GHz,8 GB DDR3@1 600 MHz,操作系統(tǒng)為OS X 10.8.3,Java Development Kit 1.8,Java虛擬機(jī)最大內(nèi)存設(shè)置為2 GB. 實驗所涉及的工業(yè)數(shù)據(jù)集主要包括3個: 1) 唐山軌道客車有限責(zé)任公司數(shù)據(jù)集(TC).本文實驗的工業(yè)數(shù)據(jù)集包含從TC收集的91個流程模型.TC是中國第1家軌道交通制造企業(yè),具有100多年的悠久歷史,具有著超強(qiáng)的創(chuàng)新能力和研發(fā)能力,從動車組到中低速客車,從城軌車到特種車,有著完備的生產(chǎn)制造技術(shù)平臺,其設(shè)備通用度高并且注重流程規(guī)范. 2) 東方鍋爐股份有限公司數(shù)據(jù)集(DG).在本文實驗的工業(yè)數(shù)據(jù)集包含從DG收集的82個流程模型.DG是國資委下屬中國東方電氣集團(tuán)子公司下屬公司,是一個熱力發(fā)電系統(tǒng)設(shè)備、核能系統(tǒng)設(shè)備、煤氣化設(shè)備等于一體的制造和服務(wù)供銷商,擁有鍋爐、核能發(fā)電、焊接、環(huán)境保護(hù)、材料、熱強(qiáng)、自動化控制等科研機(jī)構(gòu). 3) SAP參考過程模型數(shù)據(jù)集(SAP).本文實驗的工業(yè)數(shù)據(jù)集包含從SAP收集的流程381個模型.SAP是全球最大的企業(yè)資源規(guī)劃和智能化解決方案的提供商,其業(yè)務(wù)包括高科技企業(yè)資源規(guī)劃、消費品企業(yè)資源規(guī)劃、零售企業(yè)資源規(guī)劃、醫(yī)療企業(yè)資源規(guī)劃、金融企業(yè)資源規(guī)劃、公共事業(yè)企業(yè)資源規(guī)劃、化工企業(yè)資源規(guī)劃等. 表5列出了上述3個工業(yè)數(shù)據(jù)集的基本結(jié)構(gòu)特征,可以看到每個模型集中的平均最大變遷數(shù)、平均最大庫所數(shù)和平均最大弧數(shù). Table 5 The Basic Structural Features of ThreeIndustrial Datasets 下面通過對比TAR算法、PTS算法、BP算法、CF算法、SSDT算法及TOR算法在TC,DG,SAP這3個工業(yè)數(shù)據(jù)集上的運行時間,來評估TOR算法在實際工業(yè)數(shù)據(jù)集上的性能表現(xiàn),具體實驗結(jié)果如表6所示: Table 6 Time Costs of Different Algorithms on theThree Industrial Datasets 可以看出CF算法的時間復(fù)雜度較高,時間消耗遠(yuǎn)遠(yuǎn)高于其他算法;TAR算法、PTS算法、BP算法、SSDT算法、TOR算法基本在一個數(shù)量級上;TOR算法略優(yōu)于BP算法、SSDT算法,與TAR算法持平,略慢于PTS算法.因此,TOR算法在實際工業(yè)數(shù)據(jù)集上運行性能表現(xiàn)良好. 汪抒浩等人[14]給出了流程模型行為相似性算法應(yīng)當(dāng)滿足的5個性質(zhì),這些性質(zhì)一定程度上可以作為評估不同相似性算法的依據(jù).利用這5個性質(zhì)比較TOR算法與主流模型行為相似性算法,結(jié)果如表7所示: Table7TheSatisfactionofDifferentAlgorithmsontheFivePropertiesthataGoodSimilarityMeasureShouldHave 表7 各個算法針對流程模型相似度的5個性質(zhì)滿足情況 Notes: √means satisfaction; ×means unsatisfaction. 可以看出,TAR算法只滿足一條性質(zhì),即互斥無關(guān)遞減性;PTS算法滿足3條性質(zhì),不滿足循環(huán)長度負(fù)相關(guān)性和互斥無關(guān)遞減性;BP算法滿足4條性質(zhì),不滿足互斥長度負(fù)相關(guān)性;而CF算法只滿足2條性質(zhì);只有SSDT算法和TOR算法滿足全部5條性質(zhì).由此可以看出,TOR算法的表現(xiàn)非常好,SSDT算法雖然也能滿足全部5條性質(zhì),但其性能上表現(xiàn)得有所欠缺,且計算相似性時需要先對SSDT矩陣做同維化處理. dist(M1,M2)≤dist(M1,M3)+dist(M2,M3); (8) dist(M1,M3)≤dist(M1,M2)+dist(M2,M3); (9) dist(M2,M3)≤dist(M1,M2)+dist(M1,M3). (10) (11) TAR算法、PTS算法、SSDT算法、BP算法、CF算法以及TOR算法的三角不等式滿足率如表8所示: Table 8 The Satisfaction Rate of Different Algorithmson the Triangle Inequality 可以看出并不是所有的算法都滿足三角不等式.TAR算法在DG數(shù)據(jù)集上不滿足三角不等式;PTS算法在DG和TC數(shù)據(jù)集上不滿足三角不等式;SSDT在TC和DG數(shù)據(jù)集上不滿足三角不等式;CF算法在DG以及SAP數(shù)據(jù)集上不滿足三角不等式;而BP算法和TOR算在3個數(shù)據(jù)集上均滿足三角不等式.而與BP算法相比,TOR算法具有能處理不可見任務(wù)、區(qū)分循環(huán)和并發(fā)造成的任務(wù)間行為差異等優(yōu)點. 針對現(xiàn)有流程模型行為相似性算法的不足,本文提出了一種能準(zhǔn)確提取模型行為關(guān)系而又高效的算法——基于任務(wù)發(fā)生關(guān)系的模型相似性度量算法TOR.TOR算法首先把給定Petri網(wǎng)模型進(jìn)行完全前綴展開,以清晰地表達(dá)模型的行為特征;接著,通過遍歷對CPU圖中的節(jié)點進(jìn)行編號,以便于后續(xù)關(guān)系的求解;然后,對兩兩節(jié)點求解最近公共前驅(qū),以確定節(jié)點對應(yīng)的任務(wù)間的發(fā)生關(guān)系;最后,通過相應(yīng)的公式計算模型的相似性.在算法的適用性上,TOR算法可以有效區(qū)分并發(fā)和循環(huán)的行為差異,高效處理非自由選擇結(jié)構(gòu)、不可見任務(wù)等復(fù)雜結(jié)構(gòu),TOR算法同時還可以有效地提取任務(wù)間多關(guān)系.基于來自3個企業(yè)的過程模型集的實驗表明,TOR算法具有很好的性能優(yōu)勢,能滿足相似性度量算法的全部5個優(yōu)良性質(zhì),且其對應(yīng)距離滿足三角不等式. 在流程模型相似性算法評估方面,仍然缺乏一個權(quán)威的公認(rèn)評估框架,在未來的工作中,將嘗試提出一個合理評價相似性算法優(yōu)劣的評估框架.同時,在進(jìn)一步改進(jìn)TOR算法以提升性能的同時,嘗試將其應(yīng)用于大量模型的索引方面.2.3 流程模型相似性計算
w2×sim#(P,Q)+w3×sim→(P,Q).2.4 任務(wù)間多發(fā)生關(guān)系處理
2.5 不可見任務(wù)處理
3 實驗設(shè)計與分析
4 總結(jié)與展望