Thuật toán khai phá quy trình Alpha

Một phần của tài liệu GHIÊN CỨU KỸ THUẬT KHAI PHÁ QUY TRÌNH VÀ ỨNG DỤNG XÂY DỰNG QUY TRÌNH KIỂM ĐỊNH CHẤT LƯỢNG GIÁO DỤC TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG (Trang 39)

CHƯƠNG 2 MỘT SỐ THUẬT TỐN KHAI PHÁ QUY TRÌNH

2.1.Thuật toán khai phá quy trình Alpha

Thuật toán Alpha được Wil van der Aalst, Ton Weijters và Laura. Maruster đề xuất vào năm 2003. Thuật tốn Alpha có thể xem là mợt trong những thuật tốn khái phá quy trình đầu tiên có thể giải quyết thỏa đáng đối với các hoạt động đồng thời. Tuy nhiên, thực tế hiện nay thuật tốn Alpha khơng được xem là mợt kỹ thuật khai phá quy trình tốt bởi vì nó có nhiều giới hạn. Mặc dù vậy, sau này nhiều ý tưởng của nó đã được tích hợp vào các thuật tốn phức tạp và mạnh mẽ hơn. Ở mợt khía cạnh khác thuật tốn Alpha là mợt thuật tốn đơn giản, việc tìm hiểu nó giúp chúng ta dễ dàng hiểu được ý tưởng của khai phá quy trình.

2.1.1. Đầu vào của thuật toán

Đầu vào của thuật toán Alpha là bản ghi sự kiện. Tuy nhiên, thuật toán Alpha cơ bản chỉ xem xét đến trường mã trường hợp và trường hoạt động mà không xem xét đến các trường nhãn thời gian và nguồn lực. Bên cạnh đó, đối với thuật tốn Alpha thứ tự

của các sự kiện trong phạm vi mợt trường hợp có liên quan với nhau cịn thứ tự giữa các trường hợp khác nhau là khơng quan trọng. Ngồi ra, để khám phá ra cấu trúc của mợt quy trình, thuật tốn Alpha khơng sử dụng tần suất xuất hiện của một vết sự kiện trong bản ghi sự kiện, tức là tần suất xuất hiện của một vết sự kiện không cung cấp thêm thông tin cho quá trình khai phá.

Xét bản ghi sự kiện được mô tả trong bảng 1.2 ta có tập các vết sự kiện W = {ABCD, ACBD, AED}. Lưu ý rằng trường hợp 1 và 3 có cùng một vết sự kiện là ABCD, trường hợp 2 và 4 có cùng vết sự kiện là ACBD và trường hợp 5 chỉ có mợt vết sự kiện AED.

Để tìm mợt mơ hình quy trình cơ bản của mợt bản ghi sự kiện, thì bản ghi nên được phân tích dựa vào mối quan hệ nhân quả. Để phân tích những mối quan hệ này chúng ta cần tìm hiểu các quan hệ thứ tự cơ bản sau đây.

Định nghĩa 2.1: (Các quan hệ thứ tự cơ bản): Cho a, b ∊ T và W là một bản ghi

sự kiện trên T, tức là W ⊆ (T*). Với T là tập các hoạt đợng hay cịn gọi là các chuyển tiếp [11]. Khi đó:

a >W b nếu và chỉ nếu có mợt vết sự kiện 𝜎 = t1t2t3..tn v{ I ∊ {1, …, n- 1} tức là σ ∊ W, ti = a v{ ti+1 = b,

a →W b nếu và chỉ nếu a >W b và b ≱W a, a #W b nếu và chỉ nếu a ≱W b, b ≱W a v{ a ||W b nếu và chỉ nếu a >W b v{ b >W a

Xét bản ghi sự kiện được mô tả trong bảng 1.2 W={ABCD, ACBD, AED}, khi đó các quan hệ của W được xác định theo định nghĩa 2.1 có thể được biểu diễn như bảng 1.3, được gọi là bảng in vết của W.

Bảng 2.1: Ví dụ về một bảng in vết A B C D E A # → → # → B ← # || → # C ← || # → # D # ← ← # ← E ← # # → # 2.1.2. Thuật toán

Thuật toán Alpha sử dụng các khái niệm như >W, →W, ||W v{ #W để thu được thơng tin về quy trình cơ bản. Thuật tốn Alpha miêu tả việc khám phá quy trình dựa trên mạng Petri. Cho W là một bản ghi sự kiện trên T. α (W) được định nghĩa như sau: 1. TW = {t ∊ T |       (tập các hoạt đợng có trong bản ghi),

2. TI = {t ∊ T |         (tập các hoạt động ban đầu),

3. To = {{t ∊ T |            (tập các hoạt động cuối cùng),

4. X = {(A, B) | A ⊆ TW ˄ B ⊆ TW ˄ ∀a∊A ∀b∊B a→W b ˄ ∀a1,a2∊A a1 #W a2 ˄ ∀b1,b2∊B b1 #W b2} (tập tất cả các mối quan hệ nhân quả),

5. Y = {(A, B) ∊ X | ∀(A’, B’) ∊ X A ⊆ A’ ˄ B ⊆ B’ (A, B) = (A’, B’)} (tập các mối quan

hệ nhân quả tối thiểu),

6. PW = {p(A, B) | (A, B) ∊ Y} ∪ {iW, oW} (tập hợp các vị trí trong mạng Petri kết quả, p(A, B)

là điểm chuyển tiếp từ A đến B, iw là đầu vào duy nhất biểu thị sự bắt đầu của quy trình và ow là đầu ra duy nhất biểu thị sự kết thúc của quy trình),

7. FW = {(a, p(A, B)) | (A, B) ∊ Y ˄ a ∊ A} ∪ {(p(A, B), b) | (A, B) ∊ Y ˄ b ∊ B} ∪ {(iW, t) | t ∊ TI ∪ {(t, oW) | w ∊ TO (tập các cung kết nối trong mạng Petri kết quả).

8. α(W) = (PW, TW, FW) (mạng Petri kết quả với tập các vị trí Pw, chuyển tiếp Tw và các cung Fw).

Thuật tốn Alpha biến đổi mợt bản ghi sự kiện W thành mợt mạng Petri (Pw, Tw, Fw). Thuật tốn chỉ sử dụng phép tính tốn học cơ bản, những mối quan hệ >W, →W, ||W v{ #W; các chức năng first và last để lấy các phần tử đầu tiên và cuối cùng từ một vết sự kiện.

Để minh họa các bước của thuật toán Anpha ta xét bản ghi sự kiện được mô tả trong bảng 1.2 W = {ABCD, ACBD, AED}. Ta có:

Bảng 2.

1 Thể hiện dấu vết của bản ghi sự kiện W. 1. TW = {A, B, C, D, E}, 2. TI = {A}, TO = {D},

3. X = {({A}, {B}), ({A}, {C}), ({A}, {E}), ({B}, {D}), ({C}, {D}), ({E}, {D}), ({A}, {B, E}) ({A}, {C, E}), ({B, E}, {D}), ({C, E}, {D})}, 4. Y = {({A}, {B, E}), ({A}, {C, E}), ({B, E}, {D}), ({C, E}, {D})},

5. PW = {iW, oW, P({A}, {B, E}), P({A}, {C, E}), P({B, E}, {D}), P({C, E},{D})},

6. FW = {(iW, A), (A, P({A}, {B, E})), (P({A}, {B, E}), B), (P({A},

{B, E}), E), (A, P({A}, {C, E})), (P({A}, {C, E}), C), (P({A}, {C, E}), E), (B, P({B, E}, {D})), (E, P({B, E}, {D})), (P({B, E}, {D}), D), (C, P({C, E},{D})), (E, P({C, E},{D})), (P({C, E},{D}), D), (D, oW)} và

7. α(W) = (PW, TW, FW) (như mơ tả trong hình 2.1) Mạng Petri kết quả α (W) (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.1: Một mơ hình quy trình được khai phá từ bản ghi sự kiện được mô tả như bảng 1.2 bằng thuật toán Alpha.

B

E C

2.1.3. Ý tưởng của thuật tốn Alpha

Thuật tốn Alpha cho rằng hai hoạt đợng x và y kết nối được với nhau thông qua mợt vị trí nếu và chỉ nếu x →W y (hình 2.2 a). Nếu hoạt đợng x và y xảy ra đồng thời, thì chúng có thể xảy ra theo bất kỳ thứ tự nào, tức là x có thể nối tiếp theo y hoặc ngược lại. Vì vậy, thuật tốn Alpha cho rằng hoạt động x và y xảy ra đồng thời nếu và chỉ nếu x ||W y. Điều này được minh họa bằng hình 2.2 (b). Nếu x →W y và x →W z, thì phải có mợt hoặc nhiều vị trí để nối chúng lại với nhau sao cho x với y trên một nhánh và x với z trên một nhánh khác. Điều này có thể là mợt vị trí hoặc có thể nhiều vị trí. Nếu y || w z thì nên có nhiều điểm để có thể thực hiện đồng thời (hình 2.2 b). Nếu y #w z thì nên có mợt điểm để đảm bảo rằng chỉ có duy nhất mợt nhánh được chọn (hình 2.2 c). Lưu ý rằng trong trường hợp thứ hai y và z không bao giờ thực hiện nối tiếp nhau một cách trực tiếp và được biểu diễn là y #w z (tức là y ≯W z v{ z ≯W y).

Hình 2.2 (d) mơ tả phép nối AND-join (đối xứng của AND-split được mơ tả trong hình

2.2 (b)) và hình 2.2 (e) mô tả XOR-join (đối xứng với XOR- split được mô tả trong hình 2.2 (c) X Y X Y, X Z X Y, X Z X Z, Y Z X Y, X Z

Hình 2.2: Mối liên hệ giữa bản ghi sự kiện với cấu trúc mạng Petri cơ bản dựa trên các mối quan hệ >W, →W, ||W và #W

2.1.4. Giới hạn của thuật toán Alpha.

Trong phần này, luận văn chỉ xem xét thuật toán Alpha cơ bản để minh họa cho khái niệm khai phá quy trình. Thuật toán Alpha chỉ tập trung dành riêng cho quan điểm điều khiển luồng, không thể sử dụng để phân tích các quan điểm khác. Mặc dù vậy, thuật tốn Alpha cơ bản vẫn không thể khám phá thành công đối với một số vấn đề thường gặp trong khai phá quy trình. Hai lớp vấn đề mà thuật tốn Alpha cơ bản khơng giải quyết được đó là: (i) các vấn đề về logic và (ii) các vấn đề về kết quả từ các sự kiện ghi nhận bị lỗi, các sự kiện hiếm có khơng đúng với các trạng thái “bình thường” và các sự kiện khơng đầy đủ.

Z Y (b) X (e) X Y Z Z Y (c) X (a) X Y (d) X Y Z

a. Các vấn đề về logic

Lớp các mạng mà thuật tốn Alpha có thể khai phá mợt cách chính xác. Trong phần này luận văn sẽ tập trung tìm hiểu về những hạn chế của thuật toán Alpha.

Các hoạt động ẩn

Một yêu cầu cơ bản của khai phá quy trình là mỗi sự kiện xảy ra phải được ghi lại trong bản ghi sự kiện. Rõ ràng thuật tốn Alpha cơ bản khơng thể phát hiện ra những hoạt động không xuất hiện trong bản ghi sự kiện.

Các hoạt động trùng lặp

Vấn đề của các hoạt đợng trùng lặp đề cập đến tình huống mợt mơ hình quy trình có nhiều hơn mợt nút cùng đề cập đến một hoạt động. Giả sử rằng trong bảng 1.2 hoạt động E được đổi tên thành B (như hình 2.3). Rõ ràng, bản ghi thay đổi có thể là kết quả của việc mơ hình quy trình thay đổi. Tuy nhiên, sẽ rất khó khăn để xây dựng tự đợng mợt mơ hình quy trình từ bảng 1.2 với hoạt đợng E được đổi tên thành hoạt đợng B bởi vì nó khơng thể phân biệt được “B” trong trường hợp 5 với “B” trong các trường hợp khác.

Hình 2.3: Một mơ hình quy trình với các hoạt động trùng lặp.

Cấu trúc khơng tự do lựa chọn (cấu trúc phụ thuộc khoảng cách xa)

Các cấu trúc khơng tự do lựa chọn có thể được sử dụng để biểu diễn cho cấu trúc “lựa chọn có điều khiển” tức là vị trí mà ở đó sự lựa chọn giữa hai hoạt đợng không được xác định bên trong một số nút trong mơ hình quy trình nhƣng có thể phụ tḥc vào sự lựa chọn được thực hiện trong các phần khác của mơ hình quy trình. Rõ ràng, trạng thái khơng xác định vị trí như vậy sẽ gây khó khăn cho phương pháp khai phá quy trình chủ yếu dựa trên thơng tin nhị phân (a>w b) như thuật tốn Alpha.

B B

A D

Hình 2.4: Một mơ hình quy trình với cấu trúc khơng tự do lựa chọn

Hình 2.4 mơ tả mợt cấu trúc không tự do lựa chọn. Sau khi thực hiện hoạt đợng C thì có mợt sự lựa chọn giữa hoạt động D và E. Tuy nhiên, sự lựa chọn giữa D và E được điều khiển bởi hai hoạt đợng trước đó là A và B. Những cấu trúc như vậy khó để khai phá vì sự lựa chọn là khơng xác định được vị trí và thuật tốn khai phá phải “ghi nhớ" các sự kiện được đó. Mợt cải tiến của thuật tốn Alpha là Alpha ++ có thể đối phó được với các cấu trúc khơng tự do lựa chọn.

Mơ hình với vịng lặp ngắn

Thuật tốn Alpha khơng thể khai phá thành công những cấu trúc có vịng lặp ngắn, tức là các vịng lặp với đợ dài là 1 hoặc 2 [11]. Đối với vịng lặp có đợ dài 1, được minh họa bởi mơ hình WF-net trong hình 2.5 (a), nó mơ tả kết quả của việc áp dụng thuật toán Alpha cơ bản vào bản ghi sự kiện W1 = [(A, C)2, (A, B, C)3, (A, B, B, C)2, (A, B, B, B, B, C)1].

Kết quả mơ hình khơng phải là mợt WF-net, bởi vì chuyển tiếp B khơng liên thơng với phần cịn lại của mơ hình. Điều này không phù hợp với bản ghi sự kiện.. Bằng cách sử dụng một phiên bản cải tiến của thuật tốn Alpha, chúng ta có thể khám phá ra mơ hình WF- net như trong hình 2.5(b).

Hình 2.5: Mơ hình quy trình có vịng lặp ngắn độ dài 1

Vấn đề với các vịng lặp có đợ dài 2 được minh họa bởi mạng Petri như hình 2.7(a). Hình 2.6 (a) mơ tả kết quả của việc áp dụng thuật toán Alpha cơ bản vào W2=

a. Mạng Workflow W1 có vịng lặp ngắn độ dài 1 khai phá khơng chính xác (adsbygoogle = window.adsbygoogle || []).push({});

b. Mạng Workflow W1 có vịng lặp ngắn độ dài 1 được khai phá chính xác

B A D C E a c b a c b

[(A, B, D)3, (A, B, C, B, D)2, (A, B, C, B, C, B, D)1]

a. Mạng Workflow W2 có vịng lặp ngắn

độ dài 2 khai phá khơng chính xác.

b. Mạng Workflow W2 có vịng lặp

ngắn độ dài 2 được khai phá chính xác Hình 2.6: Mơ hình quy trình có vịng lặp ngắn độ dài 2

b. Sự kiện lỗi, sự kiện hiếm có và sự kiện khơng đầy đủ

Trong thực tế các bản ghi sự kiện hiếm khi đầy đủ và/hoặc khơng chứa lỗi. Vì thế, sẽ rất khó khăn để quyết định mối quan hệ giữa hai hoạt động A và B (thuộc một trong ba mối quan hệ cơ bản A→WB, A #W B, A ||W B). Ví dụ như mối quan hệ nhân quả được sử dụng trong thuật toán Alpha (A →W B) chỉ có hiệu lực khi và chỉ khi trong bản ghi sự kiện có lưu mợt vết A nối trực tiếp theo sau bởi B (tức là mối quan hệ A >w B có hiệu lực) và không lưu vết B nối trực tiếp theo A (tức là khơng có B >w A). Tuy nhiên, trong một trạng thái lỗi chỉ cần mợt trường hợp lưu vết sai cũng có thể làm đảo lợn hồn tồn việc rút ra mợt kết luận đúng đắn. Thậm chí, nếu chúng ta có hàng ngàn vết sự kiện trong đó thể hiện A nối trực tiếp theo sau bởi B thì chỉ cần mợt vết sự kiện ghi lại không đúng rằng B >w A sẽ ngăn cản chúng ta đưa ra mợt kết luận đúng. Bởi vì thuật tốn Alpha cơ bản khơng quan tâm đến tần suất xuất hiện thơng tin. Vì lý do này, thuật tốn khai phá quy trình Heuristic [2] được phát triển để khắc phục bản ghi sự kiện lỗi và không đầy đủ bằng cách sử dụng tần suất xuất hiện thông tin.

2.2. Thuật tốn khai phá quy trình Heuristic (HM)

Thuật tốn khai phá quy trình Heuristic được A.J.M.M. Weijters, W.M.P. van der Aalst và A.K.A. de Medeiros đề xuất vào năm 2006 [2], sau đó được chính A.J.M.M. Weijters và J.T.S Ribeiro cải tiến thành thuật toán khai phá quy trình. Heuristic linh hoạt (FHM) vào tháng 12 năm 2010 [1]. HM cũng tập trung khai phá quan điểm điều khiển luồng của mợt mơ hình quy trình. HM chỉ xem xét thự tự của các sự kiện trong một trường hợp, thứ tự của các sự kiện giữa các trường hợp là không quan trọng. Tuy nhiên, HM quan tâm đến tần suất xuất hiện của mợt vết sự kiện trong bản ghi sự kiện. Chính điều này đã giúp HM dễ dàng đối phó với các sự kiện lỗi, sự kiện có tần suất thấp, sự kiện không đầy đủ, v.v

2.2.1. Đầu vào và đầu ra của thuật toán

Cũng giống như thuật toán Alpha đầu vào của HM là một bản ghi sự kiện và đầu ra của nó là mợt mơ hình quy trình được biểu diễn dưới dạng mạng Causal thay vì

a b

c

d a d

b

biểu diễn dưới dạng mạng Petri như thuật toán Alpha. HM quan tâm đến tần suất xuất hiện của một vết sự kiện trong bản ghi sự kiện, do đó bản ghi sự kiện được [2] định nghĩa lại như sau:

Định nghĩa 2.2: Cho T là tập các hoạt động và P(T*) là tập hợp các tập con có

thể có của T được gọi là một powerset của T. σ ∈ T* là một vết sự kiện và W ⊆ T∗ là một bản ghi sự kiện, tức là một multiset của các vết sự kiện.

Lưu ý rằng vì W là mợt multiset nên mỗi vết sự kiện có thể xuất hiện nhiều lần trong một bản ghi sự kiện. Nếu chúng ta sử dụng định nghĩa này để mô tả bản ghi sự kiện như trong bảng 1.2 thì W = [ABCD, ABCD, ACBD, ACBD, AED].

Bên cạnh việc định nghĩa lại bản ghi sự kiện, để tìm hiểu HM chúng ta cần tìm hiểu mợt số khái niệm khác như:

Định nghĩa 2.3: (Mạng quan hệ nhân quả C-net) Một C-net là mợt bợ ba (T, I,

O), trong đó:

- T là tập hữu hạn các hoạt động, - I: T ⟶ ((T)) là đầu vào hàm sơ đồ, - O: T ⟶ ((T)) là đầu ra hàm sơ đồ.

Nếu e ∊ T thì •e = ∪I(e) biểu thị các hoạt động đầu vào của e và e• = ∪O(e)

biểu thị các hoạt động đầu ra của e.

Định nghĩa 2.4: (Đồ thị phụ thuộc DG) Nếu C-net = (T, I, O) là mợt mạng quan

hệ nhân quả thì đồ thì phụ tḥc tương g ứng là một mối quan hệ trên T (DG ⊆ T x T),

với: DG = *(a, b)| (a ∊ T∧ b ∊ a•) ∨ (b∊ T ∧ a ∊ •b)}. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.7: Mơ hình mạng Petri được sử dụng để tạo ra một bản ghi sự kiện, trong đó các hoạt động D1, D2 và D3 không được ghi lại trong bản ghi sự kiện

B A D C I J K F E G L D1 Exception Exception D2 H D3

Ví dụ, chúng ta dễ dàng biểu diễn mạng Petri như hình 2.7 thành mợt C- net như bảng 2.2. Mạng Petri trong hình 2.7 có 12 hoạt đợng (A, B,..., L), vì vậy tập hoạt đợng tương ứng T = {A, B,., L}.

Bảng 2.2: Chuyển đổi một mạng Petri trong hình 2.8 thành một C-net

I Hoạt động (T) O {} A {{B, C}} {{A}} B {{E}, {D}} {{A}, {L}} C {{I}} {{B}, {F}, {G}} D {{F}, {K}} {{B}, {F}, {G}} E {{G}} {{D}} F {{D}, {E}, {H}} {{E}} G {{D}, {E}, {H}} {{F}, {G}} H {{K}} {{C}, {I}} I {{I}, {J}} {{I}} J {{K}, {L}} {{J, H}, {J, D}} K {}

Một phần của tài liệu GHIÊN CỨU KỸ THUẬT KHAI PHÁ QUY TRÌNH VÀ ỨNG DỤNG XÂY DỰNG QUY TRÌNH KIỂM ĐỊNH CHẤT LƯỢNG GIÁO DỤC TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG (Trang 39)