KIỂM TRA SỰ PHÙ HỢP MÔ HÌNH QUÁ TRÌNH VÀ NH T KÝ S …

66
ĐẠI HC QUC GIA HÀ NI TRƢỜNG ĐẠI HC CÔNG NGHPhạm Văn Thắng KIM TRA SPHÙ HP MÔ HÌNH QUÁ TRÌNH VÀ NHT KÝ SKIN BẰNG PHƢƠNG PHÁP PHÁT LẠI KHOÁ LUN TT NGHIỆP ĐẠI HC HCHÍNH QUY Ngành: Công nghthông tin HÀ NI - 2013

Transcript of KIỂM TRA SỰ PHÙ HỢP MÔ HÌNH QUÁ TRÌNH VÀ NH T KÝ S …

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Phạm Văn Thắng

KIỂM TRA SỰ PHÙ HỢP

MÔ HÌNH QUÁ TRÌNH VÀ NHẬT KÝ SỰ KIỆN

BẰNG PHƢƠNG PHÁP PHÁT LẠI

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI - 2013

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Phạm Văn Thắng

KIỂM TRA SỰ PHÙ HỢP

MÔ HÌNH QUÁ TRÌNH VÀ NHẬT KÝ SỰ KIỆN

BẰNG PHƢƠNG PHÁP PHÁT LẠI

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

Cán bộ hƣớng dẫn: PGS.TS. Hà Quang Thụy

Cán bộ đồng hƣớng dẫn: TS. Nguyễn Cẩm Tú

HÀ NỘI - 2013

VIETNAM NATIONAL UNIVERSITY, HANOI

UNIVERSITY OF ENGINEERING AND TECHNOLOGY

Pham Van Thang

CONFORMANCE CHECKING

PROCESS MODEL AND EVENT LOG

USING REPLAY METHOD

Major: Information Technology

Supervisor: Assoc.Prof. Ha Quang Thuy

Co-Supervisor: Dr. Nguyen Cam Tu

HA NOI - 2013

Lời cảm ơn

Trước tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc tới Thầy giáo

PGS.TS Hà Quang Thụy và TS. Nguyễn Cẩm Tú đã tận tình chỉ bảo, hướng dẫn, động

viên và giúp đỡ em trong suốt quá trình thực hiện đề tài khóa luận.

Em xin gửi lời cảm ơn sâu sắc tới Thầy Cô trong Khoa Công nghệ thông tin đã

truyền đạt kiến thức quý báu cho em trong bốn năm học vừa qua.

Em cũng xin gửi lời cảm ơn tới các thầy cô, các anh chị, các bạn và các em sinh

viên trong phòng thí nghiệm KT-Sislab đã giúp đỡ em rất nhiều trong việc hỗ trợ kiến

thức chuyên môn để hoàn thành tốt khóa luận.

Con xin nói lên lòng biết ơn vô hạn đối với Cha Mẹ luôn là nguồn động viên,

chăm sóc và khích lệ con trên mỗi bước đường học vấn.

Cuối cùng, xin chân thành cảm ơn các Anh Chị, và Bạn Bè, các thành viên lớp

K54CD, K54CLC đã ủng hộ, giúp đỡ tôi trong suốt thời gian học tập trên giảng đường

đại học và thực hiện khóa luận.

Tôi xin chân thành cảm ơn!

Hà Nội, ngày 15 tháng 05 năm 2013

Sinh viên

Phạm Văn Thắng

KIỂM TRA SỰ PHÙ HỢP MÔ HÌNH QUÁ TRÌNH VÀ NHẬT KÝ SỰ KIỆN

BẰNG PHƢƠNG PHÁP PHÁT LẠI

Phạm Văn Thắng

Khóa QH-2009-I/CQ, ngành công nghệ thông tin

Tóm tắt khóa luận tốt nghiệp:

Theo WMP Van der Aalst, 2011 [1], trong thập kỷ vừa qua, khai phá quá trình

hay còn gọi đầy đủ hơn là “khai phá dữ liệu quá trình”, nổi lên như là một lĩnh vực

nghiên cứu mới, tập trung vào phân tích quá trình dựa trên những dữ liệu sự kiện sẵn

có. Hiện nay, những nghiên cứu trong lĩnh vực này ngày càng trở thành một chủ đề

nóng, và được rất nhiều nhà khoa học trên thế giới quan tâm, nghiên cứu, trong đó nổi

bật và có nhiều đóng góp hơn cả là nhóm của WMP Van der Aalst và cộng sự tại

trường đại học công nghệ Eindhoven. Kiểm tra sự phù hợp là một trong ba bài toán

chính của khai phá quá trình (bao gồm: phát hiện quá trình, kiểm tra sự phù hợp, và

tăng cường mô hình).

Dựa trên quá trình tìm hiểu một số nghiên cứu của WMP Van der Aalst và Anne

Rozinat [1, 6, 13, 14, 16] về một số hướng tiếp cận giải quyết bài toán kiểm tra sự phù

hợp, khóa luận trình bày về hướng tiếp cận dựa trên phương pháp phát lại, một hướng

tiếp cận tăng cường, trong đó thực hiện phát lại từng dấu vết (phiên làm việc của người

dùng trong hệ thống) trong nhật ký sự kiện. Đồng thời, khóa luận cũng đưa ra một ý

tưởng thay đổi về việc xác định không gian trạng thái của mô hình lưới Petri trong quá

trình phát lại.

Thực nghiệm mô hình giải quyết bài toán và ý tưởng thay đổi với plugin

Conformance Checker được phát triển và tích hợp trong bộ công cụ mã nguồn mở

ProM 5.2 cho kết quả độ đo precision trung bình tăng lên.

Từ khóa: process mining, conformance checking, replay method.

CONFORMANCE CHECKING OF PROCESS MODEL AND EVENT LOG

USING REPLAY METHOD

Thang Pham Van

QH-2009-I/CQ course, information technology faculty.

Abtract:

According to WMP Van der Aalst, 2011 [1], in the last decade, Process mining

emerged as a new research field, that focus on process analysis based on the available

event data. Today, the research in this field has increasingly become a hot topic, and

received attention of many scientists around the world. The most active group of

scientists, which has many contributions in this field is group of WMP Van der Aalst

and colleagues at Technische Universiteit Eindhoven. Conformance checking is one of

the three major types of process mining (including: process discovery, conformance

checking, and enhance the model).

Based on learning some researches of WMP van der Aalst and Anne Rozinat [1,

6, 13, 14, 16] about some approaches to solving the conformance checking, this thesis

presents an approach based on the replay method. An enhanced approach,

implementation replay each trace (the session of the user in the system) in the event

log. At the same time, this thesis also gives an change of idea in defining state space of

Petri nets model during replay.

Experimenting problem solving model and change of ideas by Conformance

Checker plugin, which is developed and integrated on open source toolkit ProM 5.2,

result of increased average measurement precision.

Keywords: process mining, conformance checking, replay method.

Lời cam đoan

Tôi xin cam đoan mô hình giải quyết bài toán kiểm tra sự phù hợp giữa mô hình

quá trình và nhật ký sự kiện bằng phương pháp phát lại, cũng như đề xuất thay đổi và

thực nghiệm được trình bày trong khóa luận là do tôi thực hiện dưới sự hướng dẫn của

PGS.TS. Hà Quang Thụy và TS. Nguyễn Cẩm Tú.

Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc

một cách rõ ràng từ danh mục tài liệu tham khảo. Trong khóa luận, không có việc sao

chép tài liệu, công trình nghiên cứu của người khác mà không ghi rõ tài liệu tham

khảo.

Hà Nội, ngày 15 tháng 05 năm 2013

Tác giả

Phạm Văn Thắng

Mục Lục

Mở đầu ............................................................................................................................. 1

Chương 1: GIỚI THIỆU CHUNG .................................................................................. 3

1.1. Giới thiệu khái quát về khai phá quá trình ......................................................... 3

1.1.1. Tổng quan về khai phá quá trình ................................................................. 3

1.1.2. Ba bài toán chính trong lĩnh vực khai phá quá trình ................................... 6

1.2. Giới thiệu bài toán kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự

kiện …………………………………………………………………………………8

1.2.1. Giới thiệu về bài toán kiểm tra sự phù hợp ................................................. 8

1.2.2. Tổng quan một số nghiên cứu về bài toán kiểm tra sự phù hợp ................. 9

1.3. Một số khái niệm cơ bản về nhật ký sự kiện và mô hình quá trình ................. 10

1.3.1. Nhật ký sự kiện ......................................................................................... 10

1.3.2. Mô hình quá trình ...................................................................................... 11

1.3.3. Mô hình quá trình được biểu diễn bởi lưới Petri....................................... 14

1.3.4. Ánh xạ mô hình quá trình và nhật ký sự kiện ........................................... 16

1.4. Quan hệ giữa kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm toán ...... 18

1.5. Một số ứng dụng khác của kiểm tra sự phù hợp .............................................. 19

1.6. Tóm tắt chương một ......................................................................................... 19

Chương 2: HƯỚNG TIẾP CẬN GIẢI QUYẾT BÀI TOÁN ....................................... 20

2.1. Độ đo đánh giá sự phù hợp của mô hình quá trình và nhật ký sự kiện ............ 20

2.2. Hướng tiếp cận dựa trên phương pháp phát lại trong bài toán kiểm tra sự phù

hợp của mô hình quá trình và nhật ký sự kiện. .......................................................... 23

2.2.1. Fitness........................................................................................................ 24

2.2.2. Precision .................................................................................................... 29

2.2.3. Structure .................................................................................................... 31

2.3. Tóm tắt chương hai .......................................................................................... 33

Chương 3: MÔ HÌNH GIẢI QUYẾT BÀI TOÁN........................................................ 34

3.1. Giải thuật phát lại ............................................................................................. 34

3.2. Phát biểu bài toán ............................................................................................. 41

3.3. Mô hình giải quyết bài toán ............................................................................. 42

3.4. Tóm tắt chương ba ........................................................................................... 44

Chương 4: THỰC NGHIỆM ......................................................................................... 45

4.1. Dữ liệu thực nghiệm ........................................................................................ 46

4.1.1. Dữ liệu sử dụng trong bước một của quá trình thực nghiệm (DL1) ......... 46

4.1.2. Dữ liệu sử dụng trong bước hai của quá trình thực nghiệm (DL2) .......... 48

4.2. Thực nghiệm .................................................................................................... 48

4.3. Kết quả thực nghiệm ........................................................................................ 49

4.3.1. Kết quả thực nghiệm Bước 1 .................................................................... 49

4.3.2. Kết quả thực nghiệm Bước 2 .................................................................... 50

4.4. Đánh giá ........................................................................................................... 51

Kết luận và định hướng nghiên cứu tiếp theo ............................................................... 52

Tài liệu tham khảo ......................................................................................................... 53

Danh sách hình vẽ

Hình 1.1: Vòng đời BPM ................................................................................................ 6

Hình 1.2. Ngữ cảnh khai phá quá trình ........................................................................... 6

Hình 1.3: Ba bài toán trong khai phá quá trình ............................................................... 8

Hình 1.4: Ý tưởng của bài toán kiểm tra sự phù hợp ...................................................... 8

Hình 1.5: Ví dụ nhật ký sự kiện .................................................................................... 10

Hình 1.6: Ví dụ quá trình của một công ty A ................................................................ 11

Hình 1.7: Mô hình quá trình trực quan của quy trình trong công ty A ......................... 12

Hình 1.8: Mô hình quá trình trực quan .......................................................................... 13

Hình 1.9: Ví dụ mô hình lưới Petri ................................................................................ 15

Hình 1.10: Minh họa không gian ánh xạ của mô hình và nhật ký sự kiện .................... 17

Hình 2.1: Ví dụ mô hình lưới Petri mô tả quá trình bồi thường của một công ty ......... 20

Hình 2.2: Những nhật ký sự kiện của quá trình bồi thường .......................................... 21

Hình 2.3: Ví dụ về mô hình quá chính xác và quá chung chung................................... 21

Hình 2.4: Những góc độ đánh giá sự phù hợp ............................................................... 22

Hình 2.5: Ý tưởng phương pháp phát lại ....................................................................... 23

Hình 2.6: Quá trình phát lại của dấu vết ABDEA ......................................................... 25

Hình 2.7: Quá trình phát lại dấu vết ACHDFA ............................................................. 27

Hình 2.8: Minh họa quá trình xây dựng tập quan hệ ..................................................... 30

Hình 2.9: Ví dụ mô hình lưới Petri có chứa các cấu trúc lặp, ẩn. ................................. 32

Hình 3.1: Mô hình giải quyết bài toán ........................................................................... 42

Hình 4.1: Nhật ký sự kiện L1 của DL1 ......................................................................... 46

Hình 4.2: Mô hình quá trình N1 của DL1 ..................................................................... 47

Hình 4.3: Mô hình quá trình N2 của DL1 ..................................................................... 47

Hình 4.4: Mô hình quá trình N3 của DL1 ..................................................................... 47

Hình 4.5: Mô hình quá trình N4 của DL1 ..................................................................... 47

Hình 4.6: Đồ thị tổng hợp kết quả thực nghiệm Bước 1 ............................................... 49

Hình 4.7: Đồ thị tổng hợp kết quả thực nghiệm Bước 2 ............................................... 50

Danh sách bảng biểu

Bảng 3.1: Ví dụ ánh xạ mô hình quá trình và nhật ký sự kiện ...................................... 43

Bảng 4.1: Cấu hình hệ thống thử nghiệm ...................................................................... 45

Bảng 4.2: Các phần mềm sử dụng ................................................................................. 45

Bảng 4.3: Kết quả thực nghiệm Bước 1, với giải thuật phát lại chưa thay đổi ............. 49

Bảng 4.4: Kết quả thực nghiệm Bước 1, với giải thuật phát lại thay đổi ...................... 49

Bảng 4.5: Kết quả thực nghiệm Bước 2, với giải thuật phát lại chưa thay đổi ............. 50

Bảng 4.6: Kết quả thực nghiệm Bước 2, với giải thuật phát lại thay đổi ...................... 50

Danh sách các từ viết tắt

BPI Business Process Intelligence

BPM Business Process Management

PPM Process Performance Manager

WF Work Flow

WFM Work Flow Management

1

Mở đầu

Ngày nay, hầu hết các tổ chức đều tài liệu hóa quá trình sản xuất kinh doanh theo

một số mẫu (mô hình), nhằm trợ giúp hoạt động quản lý doanh nghiệp, đồng thời điều

chỉnh, cải tiến hoạt động kinh doanh. Trong khi một số tổ chức chỉ trình bày mô hình

quá trình trên giấy, thì nhiều tổ chức đã đầu tư khá lớn vào công nghệ mô hình hóa quá

trình, và giờ đây, kho dữ liệu của các tổ chức này có thể có tới hàng trăm mô hình quá

trình. Ngoài ra những dữ liệu sự kiện được ghi nhận lại trong hệ thống thông tin của

những tổ chức đó cũng ngày một tăng lên, và phản ánh tốt hơn thực tiễn quá trình hoạt

động sản xuất kinh doanh của những tổ chức đó. Thực tiễn trên đặt ra một đòi hỏi mới,

dẫn tới hình thành và phát triển hướng nghiên cứu khai phá quá trình (process mining),

một nội dung tích hợp khai phá dữ liệu với quản lý quá trình kinh doanh (business

process management: BPM) nhằm phát hiện những tri thức mới về quá trình kinh

doanh, từ những dữ liệu ghi nhận quá trình kinh doanh trong các nhật ký sự kiện

(event logs). Kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự kiện là một bài

toán cơ bản trong lĩnh vực khai phá quá trình.

Lý do cần phải đặt ra bài toán kiểm tra sự phù hợp là do: trong thực tiễn sản xuất,

kinh doanh của một tổ chức nào đó, những quy trình thực tế khó có thể luôn luôn giữ

nguyên, không bao giờ thay đổi, mà trái lại, nó cần phải được cập nhật thường xuyên

theo những yêu cầu mới, tức là chúng cần được thay đổi cho một mục tiêu kinh doanh

cụ thể. Trong trường hợp đó, các mô hình trong kho dữ liệu của tổ chức đó không còn

có thể đảm bảo phản ánh đúng thực tế sản xuất kinh doanh nữa. Thậm chí ngay cả các

hệ thống WFM (Work Flow Management: quản lý dòng công việc), trong đó mô hình

quá trình được sử dụng trực tiếp để thiết lập, cấu hình những thi hành quá trình được

phép, độ sai lệch vẫn có thể xảy ra. Vì vậy, đặt ra một vấn đề rất quan trọng là tự động

kiểm tra tính thống nhất của mô hình quá trình hệ thống với quá trình thực tế được

phản ánh trong các nhật ký sự kiện.

Theo W.M.P. van der Aalst, 2011 [1], kiểm tra sự phù hợp có thể giúp kiểm

chứng tính thống nhất của mô hình quá trình và nhật ký sự kiện tương ứng. Bài toán

trả lời câu hỏi về sự phù hợp phát sinh khi cả hai yếu tố: nhật ký sự kiện và mô hình

quá trình đều đã sẵn có (hành vi được quan sát và hành vi được mô hình hóa phù hợp

tốt với nhau như thế nào?). Nếu mô hình là mô hình mô tả hay mô hình quy tắc thì

kiểm tra sự phù hợp cung cấp một giải pháp để đo lượng, và xác định vị trí sai lệch.

Nếu mô hình được tạo ra thông qua bài toán phát hiện quá trình, thì kiểm tra sự phù

2

hợp trở nên quan trọng để thẩm định và đánh giá chất lượng của mô hình được phát

hiện [6].

Trong khóa luận, chúng tôi sử dụng phương pháp phát lại nhật ký sự kiện trên

mô hình quá trình, dựa theo một số nghiên cứu của A. Rozinat và W.M.P. van der

Aalst [6, 13, 14], để đo lượng cũng như đánh giá sự phù hợp giữa mô hình quá trình và

nhật ký sự kiện đã cho. Theo đó, mỗi dấu vết (một phiên làm việc của người dùng

trong hệ thống) trong nhật ký sự kiện được phát lại tuần tự trên mô hình quá trình, với

mỗi lần phát lại, những tham số để tính toán độ phù hợp, độ chính xác của những dấu

vết đó so với mô hình được lưu lại. Cuối cùng dựa vào những công thức của từng độ

đo để tính toán mức độ phù hợp chung cho cả nhật ký sự kiện với mô hình quá trình.

Đồng thời chúng tôi cũng đề xuất một ý tưởng thay đổi trong việc xác định không gian

trạng thái trong phương thức phát lại để có thể thu được những kết quả phân tích đầy

đủ và chính xác hơn.

Nội dung của khóa luận được chia thành các chương như sau:

Chƣơng 1: Giới thiệu khái quát về lĩnh vực khai phá quá trình và bài toán kiểm

tra sự phù hợp của mô hình quá trình và nhật ký sự kiện (một trong ba bài toán chính

trong lĩnh vực khai phá quá trình). Ngoài ra chương này cũng trình bày về một số khái

niệm cơ bản trong bài toán kiểm tra sự phù hợp, về quan hệ giữa kiểm tra sự phù hợp

với phù hợp kinh doanh và hoạt động kiểm toán kinh doanh của doanh nghiệp. cũng

như một số ứng dụng của bài toán kiểm tra sự phù hợp.

Chƣơng 2: Trình bày về những độ đo cơ sở để đánh giá sự phù hợp của mô hình

quá trình và nhật ký sự kiện. Đồng thời, cũng trình bày về hướng tiếp cận giải quyết

bài toán dựa trên phương pháp phát lại áp dụng để tính toán những độ đo đó.

Chƣơng 3: Chương này trình bày về giải thuật phát lại, đưa ra ý tưởng thay đổi

trong giải thuật phát lại đó, và xây dựng mô hình giải quyết bài toán.

Chƣơng 4: Trình bày giải pháp thực nghiệm đánh giá sự phù hợp của mô hình

quá trình và nhật ký sự kiện, cũng như đánh giá ý tưởng thay đổi với thực nghiệm dựa

trên việc thay đổi phương thức phát lại của plugin Conformance Checker trong bộ

công cụ mã nguồn mở ProM 5.2.

Phần kết luận: Tóm lược kết quả đạt được của khóa luận và định hướng phát

triển tương lai.

3

Chƣơng 1: GIỚI THIỆU CHUNG

1.1. Giới thiệu khái quát về khai phá quá trình

1.1.1. Tổng quan về khai phá quá trình

Khai phá quá trình (process mining) là một chuyên ngành nghiên cứu mới, phát

triển mạnh mẽ trong thập kỷ gần đây. Theo WMP Van der Aalst, 2011 [1], khai phá

quá trình là một lĩnh vực nghiên cứu đặt giữa học máy và khai phá dữ liệu ở một bên

và mô hình hóa và phân tích quá trình ở bên kia, nhằm chiết xuất thông tin có giá trị,

liên quan đến quá trình từ các nhật ký sự kiện, bổ sung các phương pháp tiếp cận hiện

có tới quản lý quá trình kinh doanh (Business Process Management: BPM). Khai phá

quá trình đóng một vai trò quan trọng là cầu nối giữa khai phá dữ liệu và mô hình hóa

quá trình, một thành phần của quản lý quá trình kinh doanh.

Theo Michael Hammer, 2010 [5], quản lý quá trình kinh doanh được thể hiện cả

ở mặt quản lý lẫn ở mặt công nghệ. Về mặt quản lý, quản lý quá trình kinh doanh là

cách tiếp cận có hệ thống nhằm giúp các tổ chức, doanh nghiệp tiêu chuẩn hóa và tối

ưu hóa các quy trình hoạt động với mục đích giảm chi phí, tăng chất lượng hoạt động

nhằm đạt được các mục tiêu cần thiết. Về mặt công nghệ, quản lý quá trình kinh doanh

là bộ công cụ trợ giúp tổ chức, doanh nghiệp thiết kế, mô hình hóa, triển khai, giám

sát, vận hành và cải tiến các quy trình kinh doanh linh hoạt. Có thể coi quản lý quá

trình kinh doanh là công nghệ thúc đẩy hợp tác giữa công nghệ thông tin và người

dùng nhằm xây dựng các ứng dụng có khả năng tích hợp con người, quy trình và thông

tin trong tổ chức, doanh nghiệp

Có hai yếu tố chính khiến lĩnh vực khai phá quá trình ngày càng nhận được nhiều

sự quan tâm. Một mặt, ngày càng có nhiều dữ liệu sự kiện được ghi nhân lại trong các

hệ thống thông tin, giúp cung cấp tốt hơn những thông tin chi tiết về quy trình thực tế,

và mặt khác, đó là do yêu cầu đặt ra cần phải hỗ trợ và cải tiến những quy trình kinh

doanh trong môi trường kinh doanh cạnh tranh và có nhiều thay đổi nhanh chóng như

hiện nay.

Cũng theo WMP Van der Aalst, 2011 [1], dưới không gian chung của lĩnh vực

kinh doanh thông minh (Business Intelligence – BI), có nhiều thuật ngữ thông dụng đề

cập đến những kỹ thuật được sử dụng trong việc phân tích, hỗ trợ và cải tiến quy trình

kinh doanh như: Theo dõi hoạt động kinh doanh (Business Activity Monitoring –

BAM) đề cập đến kỹ thuật cho phép theo dõi quy trình thời gian thực, Xử lý sự kiện

4

phức tạp (Complex Event Processing – CEP) đề cập đến kỹ thuật xử lý với một lượng

sự kiện lớn, sử dụng chúng để theo dõi, chỉ đạo, và tối ưu hóa kinh doanh, Quản lý

hiệu suất công ty (Corporate Performance Management – CPM) đề cập đến cách đo

lượng hiệu suất của một quy trình hay tổ chức. Ngoài ra cũng có những thuật ngữ khác

liên quan đến hướng quản lý quá trình kinh doanh như: Cải tiến quá trình liên tục

(Continuous Process Improvement – CPI), Cải tiến quá trình kinh doanh (Business

Process Improvement – BPI), Quản lý chất lượng toàn diện (Total Quanlity

Management – TQM), và Six Sigma – một triết lý quản lý, quản trị dựa theo quá trình

hơn là theo chức năng, và đưa ra quyết định dựa theo những sự kiện thực tế chứ không

phải cố hữu. Những phương pháp trên đều có điểm chung là các quá trình luôn là đối

tượng được xem xét để tìm ra những cải tiến có thể. Khai phá quá trình là một kỹ thuật

thúc đẩy CMP, BPI, TQM, Six Signa và những phương pháp tương tự.

Trong thập kỷ gần đây, dữ liệu sự kiện đã trở nên sẵn có, và những kỹ thuật khai

phá quá trình đã phát triển nhanh chóng. Hơn nữa như đã đề cập, những xu hướng

quản lý liên quan đến cải tiến quy trình (như Six Sigma, TQM, CPI, và CPM) và tuân

thủ (BAM) có thể được hưởng lợi từ khai phá quá trình. Do đó, không ít thuật toán

khai phá quá trình đã được thực thi trong nhiều hệ thống thương mại hay phi thương

mại khác nhau nhằm trợ giúp cho những xu hướng quản lý kinh doanh. Hiện nay, một

nhóm tích cực những nhà nghiên cứu làm việc trong lĩnh vực khai phá quá trình

(IEEE-TfoPM: xin xem dưới đây) và nó đã trở thành một trong những chủ đề nóng

trong nghiên cứu Quản lý quy trình kinh doanh (Business Process Management -

BPM).

Hơn nữa, cũng có một sự quan tâm rất lớn từ ngành công nghiệp đến lĩnh vực

khai phá quá trình. Và càng ngày càng có nhiều nhà cung cấp phần mềm bổ xung thêm

chức năng khai phá quá trình vào công cụ của họ. Ví dụ như ARIS Process

Performance Manager (Software AG), Process Discovery Focus (Iontas/Verint),

Comprehend (Open Connect), Flow (Fourspark), Interstage Automated Process

Discovery (Fujitsu), OKT Process Mining suite (Exeura), ProcessAnalyzer (QPR),

ProM (TU/e), Reflect|one (Pallas Athena), Rbminer/Dbminer (UPC).

Sự quan tâm tăng lên trong phân tích quá trình đã thúc đẩy việc thành lập Đội

đặc nhiệm IEEE về khai phá quá trình (IEEE Task Force on Process Mining: IEEE-

TFoPM). Kể từ khi IEEE-TFoPM được thành lập năm 2009 bởi Ủy ban kỹ thuật khai

phá dữ liệu (Data Mining Technical Committee – DMTC) trong Hiệp hội CIS –

Computational Intelligence Society của Viện IEEE – Institute of Electrical and

5

Electronic Engineers, IEEE-TFoPM hiện tại đã thu hút được sự tham gia của nhiều

nhà cung cấp phần mềm (ví dụ, Pallas Athena, Software AG, Futura Process

Intelligence, HP, IBM, Infosys, Fluxicon, Businesscape, Iontas/Verint, Fujitsu, Fujitsu

Laboratories, Business Process Mining, Stereologic) những công ty tư vấn (ví dụ:

ProcessGold, Business Process Trends, Gartner, Deloitte, Process Sphere, Siav SpA,

BPM Chile, BWI Systeme GmbH, Excellentia BPM, Rabobank) và những trường-viện

nghiên cứu (ví dụ, TU/e, University of Padua, Universitat Politècnica de Catalunya,

New Mexico State University, IST - Technical University of Lisbon, University of

Calabria, Penn State University, University of Bari, HumboldtUniversität zu Berlin,

Queensland University of Technology, Vienna University of Economics and Business,

Stevens Institute of Technology, University of Haifa, University of Bologna, Ulsan

National Institute of Science and Technology, Cranfield University, K.U. Leuven,

Tsinghua University, University of Innsbruck, University of Tartu).

Đã có rất nhiều những hoạt động khác được tổ chức liên quan đến chủ đề trên. Ví

dụ như đã có một số hội thảo được IEEE-TFoPM tổ chức hay đồng tổ chức. Ví dụ như

những hội thảo về quy trình kinh doanh thông minh (Business Process Intelligence –

BPI: BPI 2009, 2010, 2011, 2012, 2013) và những hội nghị chính của IEEE như

CIDM 2011. Ngoài những hội thảo và hội nghị, kiến thức về khai phá quá trình cũng

được phổ biến thông qua những hướng dẫn (WCCI 2010 và PMPM 2009), những

trường hè (ESSCaSS 2009, ACPN 2010, CICH 2010), những video qua trang web

www.processmining.org, và một số ấn phẩm gần đây về khai phá quá trình trên

Springer. IEEE-TFoPM còn tổ chức và đồng tổ chức những cuộc thi Business Process

Intelligence Challenge (BPIC 2011, 2012, 2013) nhằm yêu cầu những đội tham gia

phải trích xuất được những thông tin hữu ích từ lượng lớn những nhật ký sự kiện phức

tạp. Trong năm 2010, IEEE-TFoPM còn chuẩn hóa XES (www.xesstandard.org), một

chuẩn định dạng nhật ký sự kiện và được hỗ trợ bởi thư viện OpenXES

(www.openxes.org) và những công cụ như ProM, XESame, Nitro, vv. Những thông

tin thêm về những hoạt động của IEEE-TFoPM có thể tham khảo tại trang web

www.win.tue.nl/ieeetfpm/.

6

1.1.2. Ba bài toán chính trong lĩnh vực khai phá quá trình

Trước khi đề cập tới các bài toán chính trong lĩnh vực khai phá quá trình, chúng

ta xem xét mô hình quá trình có ảnh hưởng như thế nào trong quy trình quản lý kinh

doanh [1].

Hình 1.1: Vòng đời BPM

Hình 1.1 cho thấy vòng đời BPM mô tả các giai đoạn khác nhau của việc quản lý

quá trình kinh doanh. Trong đó, mô hình quá trình đóng vai trò chủ đạo trong các giai

đoạn thiết kế (lại) và cấu hình/thực hiện, trong khi dữ liệu đóng một vai trò chủ đạo

trong các giai đoạn ban hành/ giám sát và chẩn đoán/ yêu cầu. Theo WMP Van der

Aalst [1], cho đến gần đây mới có một vài liên kết giữa dữ liệu được sinh ra khi thực

hiện quá trình với quá trình được thiết kế thực tế. Thực tế trong hầu hết tổ chức thì giai

đoạn chẩn đoán/ yêu cầu không được hỗ trợ một cách có hệ thống và liên tục. Do đó

khai phá quá trình cần phải cung cấp khả năng để thực sự “làm đóng kín” vòng đời

BPM. Dữ liệu được các hệ thống thông tin ghi lại có thể được sử dụng để cung cấp

một cái nhìn tốt hơn lên các quá trình thực tế, tức là những sai lệch có thể được phân

tích và chất lượng của các mô hình có thể được cải thiện.

Hình 1.2. Ngữ cảnh khai phá quá trình

7

Hình 1.2 cho thấy khai phá quá trình thiết lập các liên kết giữa các quá trình thực

tế và dữ liệu ở một bên và các mô hình quá trình ở bên kia. Hệ thống thông tin ngày

nay phải đối mặt với sự gia tăng không ngừng cả về mặt số hóa và vật lý (công nghệ

vật liệu). Nhất là về mặt số hóa, hệ thống thông tin ngày nay ghi lại nhật ký với số

lượng rất lớn các sự kiện. Các hệ thống WFM cổ điển (chẳng hạn, Staffware và Cosa),

các hệ thống BPM (chẳng hạn, BPM|One của Pallas Athena, SmartBPM của

Pegasystems, FileNet, Global 360 và TeamWork của Lombardi Software), hệ thống

ERP (chẳng hạn, SAP Business Suite, Oracle E -Business Suite, và Microsoft

Dynamics NAV)…cung cấp một lượng thông tin chi tiết rất lớn về các hoạt động đã

được thực hiện trong quy trình sản xuất kinh doanh. Và với lượng thông tin vô tận

chứa nhiều tri thức hữu ích đó, yêu cầu đặt ra là làm sao chúng ta có thể sử dụng

chúng để thu nhận được những thông tin cần thiết và hỗ trợ, cải tiến thực tiễn quá sản

xuất kinh doanh. Từ đó theo WMP Van der Aalst [1], khai phá quá trình bao gồm ba

bài toán chinh:

Bài toán thứ nhất là bài toán “phát hiện quá trình”. Đây là một kĩ thuật phát

hiện quá trình từ nhật ký sự kiện và tạo ra một mô hình quá trình mà không sử dụng

bất cứ một thông tin tiền nghiệm nào. Đối với các doanh nghiệp, đây là điều khá bất

ngờ vì việc có thể phát hiện những quá trình thực chỉ đơn thuần dựa trên những ví dụ

hành vi được lưu trữ trong những nhật ký sự kiện.

Bài toán thứ hai là bài toán “kiểm tra sự phù hợp”. Ở bài toán này một mô hình

quá trình hiện có được so sánh với một nhật ký sự kiện tương ứng với nó. Quá trình

kiểm tra sự phù hợp có thể được dùng để kiểm tra xem quá trình thực tế - được ghi lại

trong một nhật ký và mô hình quá trình được mô hình hóa, có thống nhất với nhau hay

không và có thể đưa ra những điểm sai lệch để hỗ trợ việc cải tiến quá trình. Khóa luận

"Kiểm tra sự phù hợp mô hình quá trình và nhật ký sự kiện bằng phương pháp phát

lại" tiến hành nghiên cứu, phân tích giải pháp giải quyết bài toán thứ hai. Nội dung bài

toán thứ hai sẽ được giới thiệu chi tiết hơn ở mục tiếp theo.

Bài toán thứ ba là bài toán “tăng cƣờng mô hình”. Bài toán này hướng tới việc

cải tiến hay mở rộng mô hình trước đó. Ví dụ như, bằng cách sử dụng các mốc thời

gian trong những nhật ký sự kiện, ta có thể mở rộng mô hình để có thể cho thấy những

phần tắc nghẽn, mức độ phục vụ và thời gian thực hiện giữa chúng.

8

Hình 1.3: Ba bài toán trong khai phá quá trình

1.2. Giới thiệu bài toán kiểm tra sự phù hợp của mô hình quá trình và

nhật ký sự kiện

1.2.1. Giới thiệu về bài toán kiểm tra sự phù hợp

Bài toán “kiểm tra sự phù hợp” là một trong ba bài toán chính của lĩnh vực khai

phá quá trình. Trong bài toán này, một mô hình quá trình hiện có được so sánh với một

nhật ký sự kiện tương ứng với nó. Quá trình kiểm tra sự phù hợp có thể được dùng để

kiểm tra xem quá trình thực tế - được ghi lại trong một nhật ký và mô hình quá trình

được mô hình hóa, có thống nhất với nhau hay không và có thể đưa ra những điểm sai

lệch để hỗ trợ việc cải tiến quá trình.

Hình 1.4: Ý tưởng của bài toán kiểm tra sự phù hợp

Với ý tưởng so sánh mô hình quá trình được mô hình hóa và nhật ký sự kiện

tương ứng để kiểm tra tính thống nhất giữa chúng, những hành vi của mô hình quá

9

trình và hành vi được ghi lại trong nhật ký sự kiện được so sánh để tìm ra điểm tương

đồng và khác biệt. Sự thể hiện của không phù hợp phụ thuộc vào mục đích của mô

hình. Nếu mô hình được định hướng để mô tả, thì những khác nhau giữa mô hình và

nhật ký sự kiện thể hiện rằng mô hình cần được cải thiện để đạt được tính thực tế cao

hơn. Nếu mô hình mang tính tiêu chuẩn, thì những khác biệt có thể được giải thích

theo 2 hướng. Một số khác biệt được tìm thấy có thể thể hiện những chênh lệch không

mong muốn, tức là kiểm tra sự phù hợp cho thấy nên cải tiến quy trình để có thể điều

khiển quy trình tốt hơn. Những khác biệt khác có thể thể hiện những chênh lệch mong

muốn. Ví dụ như người lao động có thể sai lệch để phục vụ khách hàng tốt hơn, hay xử

lý những tình huống không lường trước được trong mô hình quá trình. Trong thực tế

tính linh hoạt và không phù hợp thường tương quan tích cực lẫn nhau.

Khi kiểm tra sự phù hợp, điều quan trọng là xem xét độ lệch từ hai góc độ: (a)

mô hình sai và không phản ánh đúng thực tế (làm thế nào để cải tiến mô hình?) và (b)

những trường hợp đi lệch khỏi mô hình và những hành động khắc phục cần thiết. (làm

sao để cải tiến sự điều khiển để thực thi sự phù hợp tốt hơn?), kĩ thuật kiểm tra sự phù

hợp nên hỗ trợ cả 2 quan điểm này.

1.2.2. Tổng quan một số nghiên cứu về bài toán kiểm tra sự phù hợp

Kiểm tra sự phù hợp khởi đầu từ nghiên cứu của Cook và cộng sự [7], người đã

giới thiệu các khái niệm về thẩm định quá trình. Họ đề xuất một kỹ thuật so sánh luồng

sự kiện trong mô hình quá trình với luồng sự kiện trong nhật ký thực thi dựa trên đánh

giá sự khác biệt giữa hai chuỗi. Những khái niệm về sự phù hợp cũng được thảo luận

trong bối cảnh bảo mật và an ninh [8], điều chỉnh kinh doanh [10] và khai phá di

truyền [9, 3]. Nhiều nghiên cứu gần đây về khai phá di truyền cũng đề cập đến vấn đề

mô hình quá trình tạo ra quá nhiều hành vi và thí nghiệm với việc giới thiệu (và đánh

giá) của những hành vi trùng lặp trong những hành vi quan sát được đó [17]. Ngoài ra

cũng có một số nghiên cứu: dựa trên hướng tiếp cận khai phá mờ (Fuzzy mining [18].

Khai phá quá trình và kiểm tra sự phù hợp có thể được thấy trong bối cảnh rộng

hơn của quản lý doanh nghiệp, quá trình kinh doanh thông minh, được đề cập trong

hội nghị BPI 2010 [2], và giám sát hoạt động kinh doanh. Ngoài ra cũng có một số

công cụ BPI, thiết lập dựa trên quy trình quản lý của công ty HP được thực thi [11].

Bộ công cụ BPI bao gồm một công nghệ được gọi là “BPI Process Mining Engine”.

Zur Muehlen cũng mô tả bộ công cụ PISA, có thể được sử dụng để trích xuất giá trị

hiệu xuất từ những nhật ký luồng công việc [12]. Phát hiện tương tự được đưa ra bởi

10

ARIS Process Performance Manager (PPM). Công cụ này sau đó mang tính thương

mại và có một phiên bản tùy biến của PPM là Staffware Process Monitor (SPM), được

thiết kế theo hướng Staffware1. Những công cụ này hỗ trợ kiểm tra sự phù hợp nhưng

thường là đo lường hiệu năng chứ không chú trọng đến giám sát những hành vi mong

muốn hay không mong muốn.

1.3. Một số khái niệm cơ bản về nhật ký sự kiện và mô hình quá trình

1.3.1. Nhật ký sự kiện

Như đã trình bày, dữ liệu đầu vào cho khai phá quá trình là nhật ký sự kiện, chứa

đựng dữ liệu sự kiện về quá trình theo cấu trúc quy định nào đó. Cụ thể, dữ liệu sự

kiện được lưu trữ trong nhật ký sự kiện có cấu trúc như sau:

Hình 1.5: Ví dụ nhật ký sự kiện

1 https://docs.tibco.com/pub/iprocess-engine/11.1.0-september-2009/pdf/tib-iprocess-

objects-server-administrators-guide.pdf

11

Từ cấu trúc nhật ký sự kiện trong Hình 1.5, có thể đưa ra giả định rằng một quá

trình (process) có thể bao gồm nhiều trường hợp (cases) hay cũng có thể gọi là dấu vết,

chúng thể hiện một phiên làm việc của người dùng trong hệ thống. Một trường hợp có

thể chứa nhiều sự kiện (events) được sắp xếp theo trình tự, mỗi sự kiện chứa một số

thuộc tính (attributes). Chẳng hạn như ở ví dụ trên, các thuộc tính điển hình thường

thấy là tên hoạt động (activity), thời gian (time), chi phí (cost)…. Tuy nhiên không

phải lúc nào tất cả các sự kiện đều chứa cùng một tập thuộc tính. Các sự kiện liên quan

đến cùng một hoạt động thì có cùng tập các thuộc tính.

Theo WMP Van der Aalst [1], có thể tổng quát hóa nhật ký sự kiện trên về dạng

nhật ký sự kiện đơn giản được định nghĩa một cách toán học như sau:

Cho A là một tập những hành động trong nhật ký sự kiện, một dấu vết σ là

một chuỗi những hành động, tức là σ ϵ A*. Một nhật ký sự kiện đơn giản L là

một đa tập (multi-set) trên tập A tức là L ϵ B (A*).

Trong đó khái niệm đa tập trên tập A có thể hiểu như là nhật ký sự kiện đơn giản

L là một tập hợp của những dấu vết σ, trong đó mỗi dấu vết σ được thể hiện kèm chỉ

số số lần dấu vết đó được thực thi trong nhật ký sự kiện.

Ví dụ: A = { a,b,c,d,e}, có ba dấu vết σ1 = (a,b,c,d) xảy ra 3 lần, σ2 = (a,c,b,d)

xảy ra 2 lần, và σ3 = (a,e,d) xảy ra 1 lần, khi đó L được biểu diễn như sau:

L=[ (a,b,c,d)3, (a,c,b,d)

2, (a,e,d)]

1.3.2. Mô hình quá trình

Để tường minh hơn khái niệm mô hình quá trình, xem xét một ví dụ minh họa

sau về quy trình hệ thống phục vụ khách hàng của một công ty A. Khi khách hàng có

vấn đề với sản phẩm, họ liên hệ với trung tâm tiếp nhận cuộc gọi của công ty này.

Hình 1.6: Ví dụ quá trình của một công ty A

12

Như mô tả trên Hình 1.6, công ty đó có một bộ phận “Front office” có kiến thức

chung và có thể đối phó với hầu hết các trường hợp chung và đơn giản. Nếu một vấn

đề không thể giải quyết được bởi “Front office”, khách hàng sẽ được giới thiệu đến

một “Back office” chuyên môn. Với mỗi cuộc gọi đến, chúng có một mã số yêu cầu

dịch vụ duy nhất, mà có thể được dùng trong những lần gọi sau của khách hàng để lưu

lại trong quy trình phục vụ hoàn chỉnh. Nếu một sản phẩm thực sự cần sửa chữa và

vẫn còn bảo hành, khách hàng sẽ nhận được một mã số sửa chữa duy nhất và sản phẩm

đó được gửi đến cửa hàng sửa chữa. Ở đó, các sản phẩm đầu vào được sửa chữa nếu

có thể, nếu sửa chữa thành công, nó cần phải được kiểm tra trước khi sản phẩm được

chuyển lại cho khách hàng. Theo nguyên tắc chất lượng, kiểm tra này không được thực

hiện bởi người cùng tham gia sửa chữa. Nếu không thể sửa chữa, thì khách hàng sẽ

nhận được một sản phẩm mới để thay thế.

Mô hình quá trình mô tả quy trình hoạt động trên của công ty A:

Hình 1.7: Mô hình quá trình trực quan của quy trình trong công ty A

Để đơn giản mô hình này được mô tả bởi môt số kí hiệu và cấu trúc không chính

quy. Trong thực tế, có nhiều ngôn ngữ mô hình hóa khác nhau, như Business Process

Modeling Notation (BPMN), Event-driven Process Chains (EPCs), Unified Modeling

Language (UML) Activity diagrams, Petri Nets, Yet Another Workflow Language

(YAWL).

13

Trước khi xem xét một mô hình quá trình từ một ngôn ngữ mô hình hóa cụ thể,

chúng ta xem xét mô hình quá trình ở mức tổng quan và xem xét một số cấu trúc

chung, xuất hiện khi ánh xạ mô hình quá trình với nhật ký sự kiện. Trong khai phá quá

trình, có một tình huống thường gặp là mô hình quá trình và nhật ký sự kiện liên quan

đến cùng một quá trình tương tự, do đó cần thiết lập một ánh xạ tương ứng giữa chúng.

Đó là một trường hợp, ví dụ, khi một mô hình quá trình được phát hiện từ nhật ký sự

kiện, hay khi một mô hình trước đó cần được so sánh với nhật ký sự kiện được quan

sát của mô hình quá trình.

Để thiết lập một quan hệ giữa những mô hình quá trình và nhật ký sự kiện, một

số khái niệm cơ bản được giới thiệu. Trong một mô hình quá trình trực quan, những

tác vụ thể hiện những hành động trong quá trình thực tế được quan sát, và những tác

vụ này được gán với một nhãn, đại diện cho những hành vi quan sát được kích hoạt

khi những tác vụ này được thực thi.

Định nghĩa 1.1 (Mô hình quá trình trực quan): Một mô hình quá trình trực quan

là một bộ ba (T, L, l ) trong đó:

T là tập hữu hạn các tác vụ.

L là tập hữu hạn các nhãn

l() là một hàm ánh xạ từ tập tác vụ đến tập nhãn.

Hình 1.8: Mô hình quá trình trực quan

Xem xét các mô hình quá trình trực quan được mô tả trong Hình 1.8, mô hình

bao gồm 6 tác vụ, tức là T = {t1, t2, t3, t4, t5, t6}, có liên quan đến hoạt động của

“Front office” và “Back office”. Trong thủ tục được mô tả, một cuộc gọi được chuyển

14

từ “Front office” sang “Back office” chỉ sau khi nhận được ý kiến của chuyên gia tư

vấn. Hầu hết những tác vụ trong mô hình quá trình được gán cho môt nhãn, mô tả ở

góc bên phải. Các nhãn này thể hiện cho mã hành động được ghi lại bởi hệ thống

thông tin trong trung tâm tiếp nhận cuộc gọi nếu các hoạt động tương ứng được thực

thi. Ví dụ, nhãn được gán với tác vụ „Redirect to Back Office‟ là R, tức là l(t4) = R.

tổng cộng, có ba nhãn khác nhau được gán cho những tác vụ trong mô hình {F, P, R}

L.

Bởi vì l() là một hàm thành phần, có thể có những tác vụ trong mô hình không

được gán nhãn. Và do đó không thể được quan sát trong nhật ký sự kiện. Các tác vụ

không nằm trong tập những tác vụ được gán nhãn bởi ánh xạ l(), được gọi là tác vụ ẩn,

ngược lại những tá vụ được gán nhãn được gọi là tác vụ hiện.

Trong ví dụ trên, chỉ có t2 là tác vụ ẩn, các tác vụ khác là tác vụ hiện.

Hơn nữa, có thể có nhiều tác vụ trong mô hình quá trình có cùng nhãn, chúng

được gọi là những tác vụ trùng lặp và sự xuất hiện của chúng không thể được phân biệt

trong nhật ký sự kiện. chú ý rằng, tác vụ trùng lặp chỉ xuất hiện từ quá trình gán nhãn,

kể từ khi tác vụ của mô hình quá trình tự phân biệt được (có thể không bằng tên,

nhưng bằn định danh của chúng hay vi trí duy nhất trong đồ thị).

Trong ví dụ trên, t1 và t5, t3 và t6 là những tác vụ trùng lặp, chú ý rằng những

tác vụ trùng lặp luôn là tác vụ hiện.

1.3.3. Mô hình quá trình đƣợc biểu diễn bởi lƣới Petri

Lưới Petri [15] được coi là một mô hình quá trình bao gồm một tập thanh

chuyển, một tập vị trí và một tập cung có hướng nối các thanh chuyển và các vị trí với

nhau. Trong đó, thanh chuyển là một thành phần trong mô hình, liên quan đến một tác

vụ hay hành động nào đó có thể được thực thi trong quá trình và được biểu diễn bởi

hình chữ nhật. Vị trí được thể hiện bởi vòng tròn và có thể giữ một hay nhiều thẻ (thẻ

được biểu diễn bởi một chấm đen), sự phân phối của các thẻ trên các vị trí của mô hình

thể hiện trạng thái của mô hình đó.

Thanh chuyển được kích hoạt khi tất cả các vị trí vào của nó (những vị trí có

cung vào thanh chuyển đó) đều chứa ít nhất một thẻ. Và nếu thanh chuyển được kích

hoạt, nó có thể cháy. Quá trình cháy thanh chuyển là quá trình tiêu thụ một thẻ ở mỗi

vị trí vào, và sinh ra một thẻ ở mỗi vị trí ra của thanh chuyển đó (những vị trí mà thanh

chuyển đó có cung ra).

15

Bằng cách này, quá trình cháy thanh chuyển có thể làm thay đổi các đánh dấu

trong lưới Petri (tức là thay đổi sự phân bố các thẻ trên các vị trí trong mô hình), và do

đó trạng thái của quá trình cũng được thay đổi. Điều này làm cho mô hình lưới Petri có

tính động, khi nó có thể thay đổi trạng thái sau mỗi quá trình cháy thanh chuyển khác

nhau.

Hình 1.9: Ví dụ mô hình lưới Petri

Hình 1.9 mô tả một mô hình lưới Petri của quá trình phục vụ khách hàng đang

được xét. Tại trạng thái khởi đầu, có thể thấy một thẻ trong vị trí đầu tiên của mô hình.

16

Khi thanh chuyển với ký hiệu A cháy, thẻ này sẽ được tiêu thụ và một thẻ khác sẽ

được sinh ra và đặt tại vị trí ra của thanh chuyển A. Sau đó có một sự lựa chọn giữa B

và C, bởi chỉ có một trong hai thanh chuyển này có thể cháy. Bằng cách này, lưới Petri

có thể mô hình hóa cấu trúc lựa chọn. Tương tự như vậy, nhiều nhánh có thể được kích

hoạt trong cùng một thời điểm được minh họa trong phần được bôi sáng với nhãn

“parallel split”. Khi thanh chuyển cháy, hai thẻ sẽ được sinh ra (mỗi thẻ cho một vị trí

ra), cho phép kích hoạt những hành động độc lập trong hai nhánh đó. Trạng thái của

mô hình quá trình chỉ được thể hiện qua sự phân phối của các thẻ trên những vị trí

trong mô hình. Mặc dù lưới Petri được thể hiện bằng đồ họa như trên hình vẽ, tuy

nhiên, chúng cũng có những định nghĩa toán học chính xác trong ngữ cảnh thực thi của

nó, và do đó nó cũng có thể hoàn toàn được sử dụng mà không cần thể hiện đồ họa.

Lưới Petri là một hình thức mô hình hóa thú vị, nó cung cấp một cân bằng tốt

giữa mô hình hóa và khả năng phân tích [1]. Để phục vụ bài toán kiểm tra sự phù hợp,

định nghĩa của lưới Petri được gán nhãn được đưa ra. Một biến thể của lưới Petri cổ

điển, mô tả tốt hơn những hành động tổng quát của những hệ thống đồng thời.

Định nghĩa 1.2 (Lưới Petri được gán nhãn): Lưới Petri được gán nhãn là một bộ

năm PN = (P, T, F, L, l) trong đó

P là tập hữu hạn những vị trí.

T là tập hữu hạn những thanh chuyển PT = Ø.

F là tập hữu hạn các cung F (P×T) (T×P).

L là tập các nhãn.

l là một hàm gán nhãn cụ thể.

1.3.4. Ánh xạ mô hình quá trình và nhật ký sự kiện

Phần trên đề cập đến mô hình quá trình trực quan, trong đó những hành vi trực

quan được liên kết với những tác vụ trong mô hình bởi những hàm gán nhãn thành

phần l(). Hơn nữa, một nhật ký sự kiện đơn giản đã được xác định, trong đó mỗi sự

kiện trong nhật ký đã được dự kiến nhãn hành động của nó. Tiếp theo đó, sử dụng

những khái niệm trên để liên kết mô hình quá trình và nhật ký sự kiện bởi giả định

rằng tập những nhãn hành động trong nhật ký sự kiện (A) và tập nhãn trong mô hình

quá trình trực quan (L) được so sánh với nhau, tức là giả định A = L.

Để hình thức quá trình gán nhãn, khái niệm tập nhãn mô hình và tập nhãn chuỗi

cần được định nghĩa.

17

Định nghĩa 1.3 (Nhãn mô hình): Cho một mô hình quá trình trực quan (T,L,l),

tập nhãn mô hình được định nghĩa như sau: ; trong đó

dom (l) là miền giá trị của l ().

Định nghĩa 1.4 (Nhãn chuỗi): Cho một nhật ký sự kiện E, tập nhãn chuỗi

được định nghĩa trong đó set() là hàm chuyển chuỗi thành tập hợp

thành phần.

Như vậy tập nhãn mô hình là tập con của tập nhãn L được gán cho những tác

vụ trong mô hình trực quan, tức là . tương tự .

Hình 1.10: Minh họa không gian ánh xạ của mô hình và nhật ký sự kiện

Có thể thấy, không phải nhất thiết mọi nhãn mô hình phải thực sự được quan

sát. Ví dụ, nó có thể xảy ra như là một hành động thay thế nào đó trong mô hình quá

trình trực quan, nhưng đã không được ghi nhận bởi một nhật ký sự kiện. Trong hình

trên (a) là tập những nhãn không được quan sát (nhưng thực tế là có thể xảy ra) của mô

hình quá trình trực quan . (b) Những nhãn được quan sát liên kết với mô hình

quá trình trực quan . (c) có thể là những trường hợp mà những sự kiện

trong nhật ký mà những nhãn hành động của nó trong không được liên kết với bất

kì tác vụ nào được quan sát trong mô hình quá trình trực quan. Những lý do dẫn đến

điều này có thể là những hành động trong quá trình kinh doanh thực tế thường được

ghi lại ở một mức độ cụ thể hơn là chúng được thể hiện trong mô hình quá trình. Nhật

ký sự kiện có thể bao gồm một số loại sự kiện mang tính giai đoạn của một hành động

như lập lịch, bắt đầu, hay hoàn thành,… trong khi đó, trong mô hình quá trình những

hành động tương ứng chỉ được thể hiện bởi một tác vụ đơn duy nhất mà không chia ra

những giai đoạn cụ thể. Hơn nữa, có thể có các sự kiện ở mức độ thấp liên quan đến

những mã lỗi và thông điệp hệ thống. Vì vậy, nhật ký sự kiện nằm ngoài phạm vi của

mô hình, ví dụ như tập (c) thường bi loại bỏ, điều này được thực thi hoặc trong bước

lọc trước khi áp dụng thuật toán phát hiện quá trình, hoặc trong bước ánh xạ một mô

hình quá trình và nhật ký sự kiện đã có. Trong quá trình ánh xạ, ta chỉ xem xét những

ánh xạ tới miền giá trị của , những nhãn hành động ngoài bị loại bỏ.

18

1.4. Quan hệ giữa kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm

toán

Khai phá quá trình kết nối khai phá dữ liệu với mô hình hóa quá trình kinh

doanh, do đó tồn tại quan hệ giữa kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm

toán.

Mục đích của phù hợp kinh doanh là đảm bảo rằng hệ thống thông tin và quá

trình kinh doanh thực tế là phù hợp tốt. Con người nên được hỗ trợ bởi hệ thống thông

tin hơn là làm việc sau lưng nó để thu được những thứ đã được thực hiện rồi. Không

may là thường có những chênh lệch giữa hệ thống thông tin ở một bên và những quy

trình thực tế và nhu cầu của người lao động và quản lý ở một bên. Có nhiều lý do như.

Thứ nhất hầu hết các tổ chức sử dụng phần mềm sản phẩm, tức là những phầm mềm

chung không được phát triển cho một tổ chức cụ thể. Mặc dù những hệ thống này đã

được cấu hình nhưng những nhu cầu cụ thể của mỗi một tổ chức là khác nhau so với

những gì đã được hình dung bởi những nhà phát triển phần mềm. Thứ hai, những quy

trình có thể thay đổi nhanh hơn hệ thống thông tin, do ảnh hưởng từ bên ngoài. Cuối

cùng có thể có những bên liên quan khác nhau trong tổ chức, có những yêu cầu mâu

thuẫn, tức là nhà quản lý thì muốn thực thi một thủ tục công việc cố định trong khi một

người làm việc có kinh nghiệm thì lại muốn có một thủ tục mềm dẻo hơn để phục vụ

khách hàng tốt hơn.

Kiểm tra sự phù hợp có thể hỗ trợ trong việc cải thiện sự liên kết giữa hệ thống

thông tin, quá trình kinh doanh và tổ chức. Bằng việc phân tích quy trình thực tế và dự

đoán những khác biệt, những hiểu biết mới có thể thu được cho thấy làm thế nào để cải

tiến sự hỗ trợ bởi hệ thống thông tin.

Thuật ngữ kiểm toán chỉ việc đánh giá cách thức tổ chức và những quy trình hoạt

động trong một doanh nghiệp. Nó được thực hiện để kiểm tra xem những quy trình

kinh doanh có được thực hiện trong một phạm vi nhất định được thiết lập bởi nhà quản

lý, chính quyền hay những bên liên quan hay không. Sự vi phạm những quy tắc này có

thể chỉ ra gian lận, sơ suất, rủi ro và thiếu hiệu quả. Theo truyền thống thì kiểm toán

viên chỉ có thể đảm bảo rằng quy trình kinh doanh được thực thi trong phạm vi xác

định được thiết lập. Tuy nhiên ngày nay những thông tin chi tiết về quy trình đang

được ghi lại trong những hình thức nhật ký sự kiện, cơ sở dữ liệu, các bản ghi giao

dịch, kho dữ liệu,… do đó hình thức kiểm tra các mẫu nhỏ ngoại tuyến không còn phù

hợp nữa, thay vào đó, tất cả các sự kiện trong quy trình kinh doanh có thể được đánh

giá và công việc này có thể được thực thi trong khi quy trình vẫn đang vận hành. Tính

19

sẵn có của dữ liệu nhật ký sự kiện và những kỹ thuật khai phá quá trình nâng cao cho

phép những hình thức mới của kiểm toán. Khai phá quá trình nói chung và kiểm tra sự

phù hợp nói riêng cung cấp những cách thức có thể làm được như vậy.

1.5. Một số ứng dụng khác của kiểm tra sự phù hợp

Ngoài sự quan hệ mật thiết giữa kiểm tra sự phù hợp và phù hợp kinh doanh cũng

như kiểm toán doanh nghiệp. kiểm tra sự phù hợp cũng được sử dụng cho nhiều mục

đích khác như:

Sửa mô hình: khi mà mô hình quá trình và nhật ký sự kiện không đồng nhất về

quy trình, và giả sử rằng, những gì phản ánh trong nhật ký sự kiện là phù hợp hơn

trong thực tế kinh doanh, thì những điểm sai lệch, tương đồng trong kiểm tra sự phù

hợp có thể giúp ta chỉnh sửa lại mô hình cho phù hợp hơn với thực tế.

Đánh giá thuật toán phát hiện quá trình: những thuật toán phát hiện quá trình

nhằm mục đích phát hiện ra những mô hình quá trình từ những nhật ký sự kiện đã có,

do đó kiểm tra sự phù hợp giữa mô hình quá trình được sinh ra và nhật ký sự kiện ban

đầu giúp phản ánh tính chính xác của thuật toán được áp dụng.

1.6. Tóm tắt chƣơng một

Trong chương này, khóa luận đã giới thiệu về khai phá quá trình, bài toán kiểm

tra sự phù hợp, và những khái niệm liên quan. Đồng thời, khóa luận cũng đã trình bày

về quan hệ giữ kiểm tra sự phù hợp với phù hợp kinh doanh và kiểm toán doanh

nghiệp, cũng như một số ứng dụng của nó.

Trong chương tiếp theo, khóa luận sẽ trình bày chi tiết làm thế nào để đánh giá

sự phù hợp, những độ đo được sử dụng trong đánh giá sự phù hợp và trình bày về

phương pháp phát lại được áp dụng để tính toán các độ đo đó.

20

Chƣơng 2: HƢỚNG TIẾP CẬN GIẢI QUYẾT BÀI TOÁN

2.1. Độ đo đánh giá sự phù hợp của mô hình quá trình và nhật ký sự kiện

Xem xét ví dụ sau về quá trình yêu cầu bồi thường trong một công ty bảo hiểm.

Nó mô tả một thủ tục tưởng tượng (nhưng cũng có thể là thực tế) và đưa ra cấu trúc

luồng điều khiển liên quan đến ngữ cảnh của kiểm tra sự phù hợp.

Hình 2.1: Ví dụ mô hình lưới Petri mô tả quá trình bồi thường của một công ty

Theo Hình 2.1, đầu tiên có hai tác vụ cùng mang nhãn “Set Checkpoint” (sử

dụng A như là cách viết tắt của nhãn đó). Nó có thể được dùng như một hành động sao

lưu tự động trong bối cảnh của một hệ thống giao dịch. Tức là hoạt động A được thực

hiện ngay từ đầu để xác định một điểm quay lui nguyên tố được kích hoạt của toàn bộ

quá trình, và ở cuối để đảm bảo độ bền vững của kết quả. Sau đó, quy trình kinh doanh

thực tế bắt đầu với sự phân biệt yêu cầu bồi thường giá trị thấp hay yêu cầu bồi thường

giá trị cao, được kí hiệu là B và C trong hình vẽ. Chính sách của khách hàng luôn được

kiểm tra (D), nhưng trong trường hợp yêu cầu bồi thường có giá trị cao, cần bổ xung

tư vấn của chuyên gia (G) và sau đó yêu cầu bồi thường được kiểm tra chi tiết hơn (H),

hai tác vụ hoàn thành E và F có thể được xem như hai quá trình con khác nhau tham

gia đưa ra quyết định và thanh toán tiềm năng. Chú ý rằng sự lựa chọn giữa E và F bị

ảnh hưởng bởi sự lựa chọn giữa B và C (tức là mô hình không thuộc vào lớp free

choice - lựa chọn tự do).

Ta xem xét ba ví dụ nhật ký sự kiện cho quá trình được mô tả ở trên, điều này là

có thể vì chỉ có quan điểm luồng điều khiển được xem xét ở đây. Chú ý rằng không có

một nhật ký sự kiện nào có chứa chuỗi ACGHDFA mặc dù mô hình cho phép chuỗi

đó. điều này cũng dễ hiểu bởi lẽ không một nhật ký sự kiện nào có thể thể hiện tất cả

21

các chuỗi có thể, bởi vì mô hình quá trình thường cho phép nhiều hơn những trường

hợp quan sát được.

Hình 2.2: Những nhật ký sự kiện của quá trình bồi thường

Câu hỏi chiếm ưu thế nhất trong ngữ cảnh của kiểm tra sự phù hợp là liệu quá

trình kinh doanh thực tế có phù hợp với hành vi được quy định, tức là liệu nhật ký sự

kiện có phù hợp với mô hình. Đối với mô hình ví dụ, nó dường như phù hợp với nhật

ký sự kiện L1, vì mọi chuỗi trong L1 đều có thể được liên kết với một đường đi hợp lệ

trên mô hình từ vị trí “Start” đến “End”. Nhật ký sự kiện L2 không khớp hoàn toàn bởi

vì những chuỗi ACHDFA và ACDHFA thiếu sự thực thi của hành động G, trong khi

nhật ký sự kiện L3 thậm chí không bao gồm một chuỗi nào tương ứng với hành vi

được quy định. Bằng một cách nào đó, dường như L3 không phù hợp bằng L2, và cần

thiết đo lường mức độ phù hợp theo quan niệm trực giác của sự phù hợp.

Hình 2.3: Ví dụ về mô hình quá chính xác và quá chung chung

Có những chiều định tính khác nhau của sự phù hợp, mà có thể minh họa bằng

việc liên kết nhật ký L2 với mô hình M2 và M3 (trong Hình 2.3). Mặc dù nhật ký phù

hợp tốt với 2 mô hình, tức là những chuỗi sự kiện trong nhật ký có thể được khớp hoàn

hảo với chuỗi thực thi hợp lệ của những tác vụ trong mô hình. Chúng dường như vẫn

22

không phù hợp trong việc mô tả các quá trình quản lý bồi thường bảo hiểm. Mô hình

M2 quá chung chung, nó bao gồm quá nhiều hành vi thêm, nó cho phép những chuỗi

tùy ý của các hành động A, B, C, D, E, F, G, H. Trong khi đó mô hình M3 không cho

phép thêm bất kỳ chuỗi nào không được quan sát trong nhật ký, nó chỉ liệt kê những

chuỗi có thể thay vì thể hiện các hành vi quy định trong một cách có ý nghĩa. Do đó nó

không cung cấp một hiểu biết tốt hơn về mô hình quá trình. Điều này cho thấy rằng

các mô hình phù hợp cần phải là một đại diện tốt của những hành vi được quan sát.

Do đó cần phải đánh giá sự phù hợp của mô hình trên nhiều góc độ khác nhau:

Hình 2.4: Những góc độ đánh giá sự phù hợp

Theo WMP Van der Aalst và cộng sự [4, 6, 13, 14, 16], việc đánh giá mô hình có

thể diễn ra trong những chiều trực giao sau: fitness, precision/generalization và

structure.

Fitness: cho biết bao nhiêu hành vi được quan sát là phù hợp với mô hình. Tức là

mô hình sinh ra được càng nhiều hành vi được quan sát trong nhật ký sự kiện càng tốt)

Ví dụ một mô hình M5 chỉ sinh được một chuỗi ABCDEA mà không sinh được các

chuỗi khác có trong nhật ký sự kiện, như vậy nó có độ đo fitness thấp.

23

Precision/generalization: cho biết mô hình là quá tổng quát hay quá chính xác.

Tức là mô hình sinh ra càng ít hành vi không được quan sát trong nhật ký sự kiện càng

tốt. Ví dụ: một mô hình M2 cho phép thực hiện tất cả các hành động từ A - H theo bất

kí thứ tự nào, thì mô hình đó có độ fitness cao nhưng lại có độ precision thấp. Hơn nữa

ví dụ một mô hình M3 chỉ cho phép thực thi đúng 5 chuỗi trong nhật ký sự kiện, do đó

không có sự tổng quát hóa nào được thực hiện trong mô hình đó.

Structure: thể hiện sự phù hợp cấu trúc của mô hình. Tức là mô hình mô tả các

hành vi với cấu trúc càng đơn giản và gọn gàng càng tốt. Được xác định qua những từ

vựng trong ngôn ngữ mô hình hóa. Có nhiều cách để thể hiện cùng một hành vi tương

tự, và có thể có cách phù hợp hay ít phù hợp hơn. Ví dụ một mô hình M3 có độ đo

fitness và precision cao nhưng lại chứa quá nhiều sự kiện trùng lặp thì sẽ khiến nó khó

hiểu đối với người dùng.

2.2. Hƣớng tiếp cận dựa trên phƣơng pháp phát lại trong bài toán kiểm

tra sự phù hợp của mô hình quá trình và nhật ký sự kiện.

Hình 2.5: Ý tưởng phương pháp phát lại

Phương pháp phát lại:

Phương pháp này sử dụng một nhật ký sự kiện và một mô hình quá trình như là

dữ liệu đầu vào. Nhật ký sự kiện này được phát lại bên trên mô hình quá trình. Tức là

cho từng dấu vết trong nhật ký sự kiện đi qua mô hình quá trình, theo đúng trình tự

những sự kiện trong từng dấu vết đó. Bằng cách kiểm tra kết quả của quá trình phát lại

để định lượng được các độ đo đã trình bày ở trên.

24

2.2.1. Fitness

Một cách tiếp cận đơn giản đối với kiểm tra sự phù hợp của mô hình quá trình và

nhật ký sự kiện là chỉ đếm những dấu vết có thể được phân tích hoàn toàn bởi mô hình

(tức là tỉ lệ của những dấu vết tương ứng với chuỗi cháy bắt đầu từ vị trí khởi tạo, và

kết thúc tại vị trí kết thúc của mô hình). Cách tiếp cận này xem xét độ đo fitness ở mức

độ trường hợp đầy đủ. Tuy nhiên sử dụng cách tiếp cận này, những dấu vết trong nhật

ký sự kiện đơn giản chỉ được phân lớp vào phù hợp hay không phù hợp mà không đề

cập đến rằng một dấu vết có thể hầu hết phù hợp với mô hình hay hoàn toàn không

phù hợp. Do đó, độ đo fitness nên được xem xét ở mức độ sự kiện hơn là mức độ

trường hợp đầy đủ.

Trong tính toán độ đo fitness ở mức độ trường hợp, một dấu vết được dừng phát

lại khi gặp phải một vấn đề (không thể thực hiện tiếp, hay dấu vết đó không đạt đến vị

trí kết thúc của mô hình khi quá trình phát lại kết thúc) và đánh dấu nó là không phù

hợp. Thì trong cách tiếp cận ở mức độ sự kiện, ta tiếp tục thực hiện quá trình phát lại

dấu vết đó trên mô hình quá trình nhưng ghi lại tất cả những tình huống khi xảy ra một

trong số những vấn đề dừng nói trên. Ví dụ như: khi mà một thanh chuyển bị ép buộc

cháy mà không được kích hoạt, tức là tiến hành đếm những thẻ bị thiếu trong quá trình

phát lại. Hơn nữa, cần ghi lại những thẻ còn lại trong mô hình khi quá trình phát lại kết

thúc. Sau đó sử dụng những số liệu ghi nhận lại từ các thẻ này để tính toán độ đo

fitness. Để giải thích ý tưởng này và minh họa rõ hơn về thủ tục phát lại, một ví dụ sau

đây được xem xét:

25

Hình 2.6: Quá trình phát lại của dấu vết ABDEA

26

Ví dụ này thể hiện quá trình phát lại của dấu vết đầu tiên trong nhật ký sự kiện

L2 trên mô hình M1, trong đó m là số đếm những thẻ thiếu trong quá trình phát lại, r là

số đếm những thẻ còn lại trong mô hình quá trình khi quá trình phát lại kết thúc, c là

số đếm những thẻ đã được dùng, và p là số đếm những thẻ được sinh ra trong quá trình

phát lại. Khi bắt đầu (a), một thẻ được sinh ra cho vị trí Start trong mô hình. Khởi tạo

m = 0, r = 0, c = 0, p = 1. Sự kiện đầu tiên trong dấu vết là A, được liên kết với 2 thanh

chuyển (B, C) trong mô hình, tuy nhiên chỉ một trong chúng được kích hoạt. Do đó

trong pha (b), quá trình cháy tiêu thụ một thẻ trong vị trí Start và sinh ra một thẻ cho vị

trí c1 (c = 1, p = 2). Đối với sự kiện tiếp theo, thanh chuyển tương ứng B được kích

hoạt và có thể cháy. Trong pha (c), quá trình cháy tiêu thụ thẻ ở vị trí c1 và sinh ra hai

thẻ cho hai vị trí c2 và c5 (c = 2, p = 4). Sau đó thanh chuyển tương ứng D được kích

hoạt và có thể cháy. Trong pha (d), quá trình cháy tiêu thụ thẻ ở vị trí c2 và sinh ra một

thẻ cho vị trí c3 (c = 3, p = 5). Tương tự như vậy, thanh chuyển liên kết với sự kiện

tiếp theo E được kích hoạt và có thể cháy. Trong pha (e), quá trình cháy tiêu thụ hai

thẻ ở vị trí c3 và c5 và sinh ra một thẻ cho vị trí c4 (c = 5, p = 6). Cuối cùng lại là một

sự kiện loại A, thanh chuyển A này được kích hoạt và có thể cháy. Trong pha (f), quá

trình cháy tiêu thụ thẻ ở vị trí c4 à sinh ra thẻ cho vị trí End (c = 6, p = 7). Trong bước

cuối cùng thẻ tại vị trí End được tiêu thu và quá trình cháy (hay quá trình phát lại) của

dấu vết trên mô hình hoàn thành. Tức là việc loại bỏ thẻ khỏi vị trí End được coi như

một thẻ được tiêu thụ. Bởi vì trong quá trình phát lại này, không có thẻ thiếu hay thẻ

còn lại trong mô hình, do đó dấu vết này hoàn toàn phù hợp với mô hình M1. Tương

tự dấu vết thứ hai và thứ ba cũng có thể được phát lại mà không gặp bất kỳ vấn đề gì.

Tức là không có thẻ thiếu hay thẻ còn lại trong mô hình.

Bây giờ ta xem xét quá trình phát lại của dấu vết thứ tư của nhật ký sự kiện L2:

ACHDFA trên mô hình M1.

27

Hình 2.7: Quá trình phát lại dấu vết ACHDFA

28

Tại hai pha ban đầu (a), (b) thủ tục là giống với ví dụ ta vừa xét, chỉ thay thanh

chuyển B được kích hoạt bằng thanh chuyển C. Trong pha (b), quá trình cháy tiêu thụ

một thẻ ở vị trí c1 và sinh ra hai thẻ ở hai vị trí c2 và c6 (c = 2, p = 4). Nhưng khi cố

gắng phát lại sự kiện tiếp theo, thanh chuyển tiếp theo H vẫn chưa được kích hoạt, do

đó thẻ ở vị trí c7 được tạo ra nhân tạo, và được ghi lại như một thẻ bị thiếu (m = 1).

Trong pha (d), thanh chuyển H cháy, tiêu thụ một thẻ ở vị trí c7, và sinh ra một thẻ ở

vị trí c8 (c = 3, p = 5). Những sự kiện tiếp theo có thể được phát lại thành công trên mô

hình. Nghĩa là những thanh chuyển liên kết với chúng được kích hoạt và có thể cháy.

Trong pha (e), thanh chuyển D cháy, tiêu thụ một thẻ ở vị trí c2 và sinh ra một thẻ ở vị

trí c3 (c = 4, p = 6). Trong pha (f), thanh chuyển F cháy, tiêu thụ hai thẻ ở vị trí c3 và

c8, sinh ra một thẻ ở vị trí c4 (c = 6, p = 7). Trong pha (g), một trong hai thanh chuyển

được liên kết A được kích hoạt và có thể cháy, tiêu thụ một thẻ ở vị trí c4 và sinh ra

một thẻ ở vị trí End (c = 7, p = 8). Cuối cùng, thẻ tại vị trí End được tiêu thụ (c = 8).

Nhưng vẫn còn một thẻ còn lại tại vị trí c6, điều đó có nghĩa là dấu vết này không

hoàn thành đúng (r = 1). Một vấn đề tương tự sẽ gặp phải trong suốt quá trình phát lại

của dấu vết cuối cùng trong nhật ký sự kiện L2: ACDHFA (r = 1, m = 1).

Chú ý rằng: trong suốt quá trình phát lại, tác vụ trùng lặp A có thể không gây lên

vấn đề gì miễn là chọn chính xác một trong số chúng và kích hoạt trong cùng một thời

điểm. Tuy nhiên, khi nhiều tác vụ trùng lặp cùng được kích hoạt, hay không có bất kỳ

số nào trong chúng, tình huống đó lại trở nên phức tạp hơn. Việc chọn lựa phái được

tiến hành chính xác để kích hoạt đúng tác vụ để thỏa mãn quy trình.

Theo A. Rozinat và WMP Van der Aalst [6], độ đo fitness theo mức độ sự kiện

được tính như sau:

Fitness: Cho k là số những trường hợp khác nhau trong toàn bộ nhật ký sự kiện.

Với mỗi trường hợp là số những trường hợp quá trình kết hợp trong

trường hợp , là số thẻ thiếu, là số thẻ còn lại, là số thẻ tiêu thụ, là số thẻ

được sinh ra trong quá trình phát lại của trường hợp i. Giá trị của fitness được tính như

sau:

(

)

(

)

Vì với mọi , và nên

Độ đo f càng cao thì mô hình càng phù hợp với nhật ký sự kiện.

29

2.2.2. Precision

Trong khi fitness kiểm tra xem mô hình có thể sinh ra được càng nhiều hành vi

được quan sát trong nhật ký sự kiện càng tốt, thì precision lại kiểm tra xem mô hình

sinh ra càng ít sự kiện không chứa trong nhật ký sự kiện càng tốt. Ý tưởng là mô hình

mong đợi mô tả quá trình càng chính xác càng tốt. Mô hình mô tả quá chung chung

hay quá chính xác là những mô hình không tốt vì chúng không mang lại mô hình với

nhiều ý nghĩa thông tin (ví dụ mô hình M2, cho phép bất kì chuỗi sự kiện nào do đó

quá chung chung, hay mô hình M3 chỉ cho phép đúng 5 chuỗi sự kiện trong nhật ký sự

kiện do đó quá chính xác).

Cách tiếp cận đầu tiên để đo lượng những hành vi có thể, là xác định số những

thanh chuyển được kích hoạt trong quá trình phát lại. Điều này tương đương với ý

tưởng, sự tăng lên của những lựa chọn thay thế hay song song cũng làm tăng lên

những hành vi tiềm năng do đó có số lượng thanh chuyển được kích hoạt cao hơn.

Theo A. Rozinat và WMP Van der Aalst [6], độ đo Precison đơn giản được tính

như sau:

Precision: Cho k là số những trường hợp khác nhau trong toàn bộ nhật ký, với

mỗi trường hợp là số những trường hợp quá trình kết hợp trong

trường hợp , là số thực của những thanh chuyển được kích hoạt trong quá trình

phát lại, m là số của những tác vụ hiện trong mô hình lưới Petri (không bao gồm tác vụ

ẩn, và m > 1). Độ đo precision được tính như sau:

Giả sử rằng có ít nhất một tác vụ trong mô hình m > 1, có giá trị trong khoảng

(0;1). Tuy nhiên có những vấn đề mà số liệu này chỉ được sử dụng như là phương tiện

so sánh. Bởi vì đo lượng sự phù hợp bị ảnh hưởng bởi mức độ linh hoạt của mô hình.

Để độ đo precision độc lập với thuộc tính cấu trúc, độc lập với tính linh hoạt của

mô hình. Những hành vi tiềm năng xác định bởi mô hình phải được phân tích và so

sánh với những hành vi thực sự cần thiết (hành vi mong muốn được thực thi) để mô tả

những gì được quan sát trong nhật ký sự kiện. Để làm được điều đó, ta định nghĩa

những khái niệm quan hệ giữa các tác vụ trong mô hình, cũng như những sự kiện trong

nhật ký sự kiện.

30

Quan hệ Follows: Hai hành động (x, y) là quan hệ “Always Follows” hoặc

“Never Follows” hoặc “Sometimes Follows”, trong trường hợp nếu hành động x được

thực thi ít nhất một lần, và hoặc luôn luôn, hoặc không bao giờ, hoặc thi thoảng hành

động y thực hiện sau hành động x.

Quan hệ Precedes: Hai hành động (x, y) là quan hệ “Always Preceds” hoặc

“Never Preceds” hoặc “Sometimes Preceds” nếu hành động y thực hiện ít nhất một lần

và, hoặc luôn luôn, hoặc không bao giờ, hoặc thi thoảng hành động x thực hện trước

hành động y.

Từ khía cạnh mô hình, cần xây dựng những quan hệ trên dựa theo phân tích

những chuỗi thực thi có thể (dựa vào phân tích không gian trạng thái hay mô phỏng

đầy đủ của mô hình). Từ khía cạnh nhật ký sự kiện, cần xây dựng những quan hệ này

dựa trên phân tích trình tự thực thi những chuỗi được quan sát (duyệt qua toàn bộ nhật

ký sự kiện). Từ đó quan hệ giữa hai hành động (x,y) được xác định theo những quan

hệ định nghĩa trên.

Ví dụ tập quan hệ được xây dựng từ mô hình và nhật ký sự kiện theo quan hệ

“Follows”.

Hình 2.8: Minh họa quá trình xây dựng tập quan hệ

31

Thông thường thì số đường đi trong mô hình thường lớn hơn nhiều so với những

dấu vết thực tế xuất hiện trong nhật ký sự kiện. Do đó xây dựng tập quan hệ từ mô

hình gặp phải nhiều vấn đề khó khăn hơn xây dựng tập quan hệ từ nhật ký sự kiện.

Trong khi những quan hệ “Always” hay “Never” là những quan hệ cứng, nó đảm

bảo quan hệ rõ ràng, thì quan hệ “Sometimes” lại có thể thay đổi trong những tình

huống khác nhau, ví dụ (A, H) và (H, A). Do đó nó có thể phản ánh sự tăng lên của

những hành vi tiềm năng, có thể dẫn đến sự tăng lên của những hành vi thay thế hay

song song. Bởi vậy ý tưởng xác định độ đo precision của mô hình trong hướng tiếp cận

này là so sánh những hành vi có thể thay đổi của mô hình và nhật ký sự kiện dựa trên

số quan hệ “Sometimes Follows” và “Sometimes Precedes”.

Theo A. Rozinat và WMP Van der Aalst [6], độ đo precision nâng cao được tính

toán như sau:

Precision: cho và

là tập quan hệ “Sometimes Follows” và “Sometimes

Precedes” trong mô hình, và

là tập quan hệ “Sometimes Follows” và

“Sometimes Precedes” trong nhật ký sự kiện. Giá trị của độ đo precision nâng cao

được tính như sau:

|

|

|

|

2.2.3. Structure

Mong muốn để mô hình hóa một quá trình kinh doanh một cách gọn nhẹ và có ý

nghĩa là rất khó nắm bắt được bằng thực nghiệm. Cho dù mô hình được coi là phù hợp

theo quan điểm chủ quan, và thường tương ứng với một mục đích cụ thể của mô hình.

Thì vẫn có những khía cạnh thực tế không thực sự chính xác: ví dụ như chi tiết của

những hành động trong luồng công việc được mô tả, cái mà chỉ được xác định tốt bằng

kinh nghiệm của người thiết kế. Do đó khái niệm của độ phù hợp cấu trúc được đề cập

ở đây chỉ tập trung đến khía cạnh của luồng công việc, và thường có một vài cách

mang tính cú pháp để đánh giá mức độ phù hợp cấu trúc trong mô hình quá trình.

32

Hình 2.9: Ví dụ mô hình lưới Petri có chứa các cấu trúc lặp, ẩn.

Ví dụ một mô hình bao gồm những cấu trúc có thể gây ảnh hưởng đến độ phù

hợp cấu trúc của mô hình, (a) tác vụ trùng lặp, (b) tác vụ ẩn, (c) vị trí ẩn.

Những cấu trúc này là những cấu trúc mang tính vấn đề tiềm năng khi xây dựng

mô hình phù hợp. Chúng có thể làm giảm tính chính xác và đúng đắn về cấu trúc của

mô hình. Do đó, sự phát hiện ra những cấu trúc này có thể giúp cho những nhà phân

tích kinh doanh có thể đánh giá và cải tiến được mô hình quá trình kinh doanh.

Một cách tiếp cận đơn giản để tính toán độ phù hợp cấu trúc là dựa trên sự chênh

lệch số lượng những nhãn tác vụ khác nhau trong mô hình với kích thước đồ thị của

mô hình đó.

Theo A. Rozinat và WMP Van der Aalst [6], độ đo structure đơn giản được tính

như sau:

Structure: Cho là tập nhãn được thiết lập trong quá trình ánh xạ giữa tác vụ

trong mô hình và sự kiện trong nhật ký sự kiện, và là tập nút của một mô hình lưới

Petri, độ phù hợp cấu trúc nâng cao được tính như sau:

Chú ý rằng mô hình mong đợi là mô hình có vị trí bắt đầu và kết thúc, và nếu đồ

thị bao gồm ít nhất một thanh chuyển cho mỗi nhãn tác vụ và 2 vị trí ứng viên (khởi

đầu và kết thúc). Trong trường hợp đó thì |N| = |L| +2, do đó . Kích thước của

đồ thị tăng lên và thêm các vị trí mới làm cho giá trị tiến dần về 0.

33

Tuy nhiên phương pháp này chỉ được sử dụng như là phương tiện so sánh cho

những mô hình quá trình mà thể hiện những hành vi tương đương (vì nó chỉ dựa trên

kích thước đồ thị của mô hình). Do đó khả năng ứng dụng kém.

Để hướng tiếp cận phù hợp cấu trúc độc lập với hành vi của mô hình thì cần quan

tâm đến những cấu trúc tham gia vào xây dựng mô hình như tác vụ trùng lặp và tác vụ

ẩn. Sự loại bỏ những cấu trúc này có thể làm tăng tính phù hợp cấu trúc của mô hình

quá trình

Theo A. Rozinat và WMP Van der Aalst [6], độ đo structure nâng cao được tính

như sau:

Structure: cho T là một tập những thanh chuyển trong mô hình lưới Petri, là

tập những tác vụ trùng lặp, là tập những tác vụ ẩn. Độ đo structure nâng cao được

xác định như sau:

Vì do đó .

2.3. Tóm tắt chƣơng hai

Trong chương này, khóa luận đã trình bày về hướng tiếp cận giải quyết bài toán

dựa trên phương pháp phát lại, đồng thời đưa ra những độ đo đánh giá sự phù hợp và

trình bày phương pháp phát lại được áp dụng để tính toán các độ đo phù hợp đó.

Trong chương tiếp theo, khóa luận trình bày về giải thuật phát lại được sử dụng

trong bài toán kiểm tra sự phù hợp, đưa ra ý tưởng thay đổi trong giải thuật phát lại đó.

Đồng thời xây dựng mô hình giải quyết bài toán.

34

Chƣơng 3: MÔ HÌNH GIẢI QUYẾT BÀI TOÁN

3.1. Giải thuật phát lại

Như đã trình bày trong chương hai, khóa luân sử dụng hướng tiếp cận dựa trên

phương pháp phát lại để giải quyết bài toán kiểm tra sự phù hợp, do đó các kỹ thuật

như phân tích không gian trạng thái để tính độ đo precision, hay phân tích cấu trúc để

tính độ đo structure như đã trình bày trong chương hai sẽ không được đề cập chi tiết.

Trong chương này, khóa luận tập trung vào trình bày giải thuật phát lại. Giải thuật phát

lại được A. Rozinat và WMP Van der Aalst đưa ra [6], một giải thuật nhằm phát lại

từng dấu vết trong nhật ký sự kiện trên mô hình quá trình, nhằm tính toán các độ đo

được trình bày trong những công thức cụ thể ở chương hai. Khóa luận cũng đưa ra ý

tưởng thay đổi trong giải thuật phát lại này là cố gắng sinh ra một không gian trạng

thái đầy đủ hơn để tìm kiếm đường đi ngắn nhất (chuỗi những thanh chuyển có thể

cháy ngắn nhất) dẫn đến kích hoạt các thanh chuyển không được kích hoạt trực tiếp

đang được yêu cầu trong quá trình phát lại, nhằm hướng tới thu được kết quả phát lại

chính xác hơn. Đồng thời, không gian trạng thái đó cũng được sử dụng trong quá trình

phân tích không gian trạng thái để tính độ đo precision, do đó một không gian trạng

thái đầy đủ hơn có thể sẽ cho kết quả độ đo precision chính xác hơn.

35

Giải thuật của phương pháp phát lại:

Ý tưởng thực hiện phương pháp phát lại của một dấu vết là duyệt tuần tự các sự

kiện trong dấu vết đó và thực hiện thủ tục phát lại chúng trên mô hình. Đầu tiên, một

danh sách các các sự kiện trong dấu vết phát lại được khởi tạo (1). Quá trình phát lại

một dấu vết sẽ được thực hiện tuần tự theo từng sự kiện trong dấu vết đó. Với mỗi sự

kiện, tiến hành tìm những thanh chuyển tương ứng với nó trong mô hình (5). Nếu

không tìm thấy thanh chuyển nào tương ứng với sự kiện đó, quá trình phát lại kết thúc

(6). Nếu chỉ có một thanh chuyển được tìm thấy, tiến hành kiểm tra xem thanh chuyển

đó đã được kích hoạt hay chưa (isEnabled ()), nếu thanh chuyển đã được kích hoạt thì

thực hiện thủ tục phát lại thanh chuyển đó. Trong trường hợp thanh chuyển đó chưa

được kích hoạt, cần kích hoạt chúng bằng cách tạo ra những thẻ nhân tạo tại những vị

trí vào của thanh chuyển đó, sau đó đánh dấu lại những vị trí vào đó, rồi thực hiện thủ

tục phát lại đối với thanh chuyển đó. Trong trường hợp có nhiều hơn một thanh

chuyển trong mô hình tương ứng với sự kiện trong nhật ký, thực hiện thủ tục

chooseEnabledDuplicateTask () để lựa chọn tác vụ phù hợp nhất.

replayTrace:

1: listoftrace all element of trace

2: while listoftrace has next element do

3: logevent listoftrace.hasNext();

4: le find log event happen in the log

5: listtrans get a list of all transitions that are associated to that log event

6: if size of listtrans = 0 then

7: break

8: else

9: if size of listtrans = 1 then

10: if transition is enabled ( transition.isEnabled() = true) then

11: replay transition

12: else if transition is not enabled then

13: enable it by creating the missing tokens

14: mark input places

15 replay transition

16: end if

17: else // there are more than one transition

18: choose enable duplicated task ( chooseEnabledDuplicateTask())

19: end if

20: end while

36

Phương thức kiểm tra thanh chuyển đã được kích hoạt hay chưa:

isEnabled:

1: list new empty list

2: soFarShortestPath NULL

3: if not directly enabled then

4: clone Petri net and build state space from current marking // (*)

5: list traceShortestPathOfInvisibleTasks(…)

6: end if

7: if list = NULL then

8: return false

9: else

10: while list has next element do

11: fetch next task from list

12: fire corresponding transition in Petri net

13: end while

14: return true

15: end if

traceShortestPathOfInvisibleTasks:

1: if current state already visited or shorter path already found then

2: return soFarShortestPath // (a) (b)

3: else

4: while possible path from current state in state space left do

5: determine next task

6: if requested task found then

7: return currentPath // (c)

8: else if invisible task found then

9: set current state visited

10: copy curentPath and appended task

11: determine next state

12: soFarShortestPath traceShortestPathOfInvisibleTasks(…)

13: else

14: return NULL // (d)

15: end if

16: end while

17: return soFarShortestPath

18: end if

37

Phương thức isEnabled () là một phương thức đệ quy nhằm kiểm tra một thanh

chuyển có được kích hoạt hay không. Đầu tiên một danh sách được khởi tạo, lưu chuỗi

kích hoạt tiềm năng đối với thanh chuyển đó. Nếu thanh chuyển đó đã được kích hoạt

thì danh sách này rỗng, do đó kết quả trả về của phương thức là true (chú ý một danh

sách rỗng là danh sách có độ dài bằng 0 chứ không phải NULL).

Trong trường hợp thanh chuyển không được kích hoạt trực tiếp, một bản sao lưới

Petri của mô hình và không gian trạng thái được tạo ra từ trạng thái hiện tại (sự phân

phối của những thẻ tại những vị trí trong mô hình thể hiện trạng thái của mô hình đó),

thể hiện ở mục (*) trong giải thuật (nhằm xác định một không gian trạng thái chứa tất

cả những trạng thái có thể của mô hình từ trạng thái hiện tại - phục vụ việc tìm trạng

thái nào tốt nhất có thể dẫn đến kích hoạt thanh chuyển không được kích hoạt trực tiếp

đang được yêu cầu, hay chính là tìm kiếm đường đi ngắn nhất để kích hoạt được thanh

chuyển đó). Đồng thời không gian trạng thái này cũng được sử dụng để phân tích, xây

dựng tập quan hệ của các tác vụ trên khía cạnh mô hình để tính toán độ đo precision

nâng cao được đề cập trong mục 2.2.2.

Không gian trạng thái, hay một đồ thị của các vị trí được đánh dấu (tức là vị trí

có số thẻ lớn hơn 0), có thể được biểu diễn theo cấu trúc cây tìm kiếm được tạo ra từ

những vị trí được đánh dấu đó. Từ cây tìm kiếm này, ta có thể thu được những trạng

thái cụ thể khi đi theo những đường khác nhau trong cây. Do đó yêu cầu xác định

không gian trạng thái đồng nghĩa với việc xác định cây tìm kiếm nói trên.

Quá trình xác định cây tìm kiếm được thực hiện như sau:

Trước tiên ta tìm tất cả những vị trí được đánh dấu trong mô, những vị trí đó

phản ánh trạng thái hiện tại của mô hình.

Từ tập vị trí được đánh dấu đó, xây dựng cây tìm kiếm, cây tìm kiếm này thể

hiện trạng thái hiện tại của mô hình cũng như có thể thể hiện những trạng thái

khác của mô hình khi đi theo những đường khác nhau trong cây.

Vòng lặp xây dựng cây tìm kiếm với những trạng thái mới, với trạng thái hiện

tại của mô hình, ta xét từng thanh chuyển tương ứng với trạng thái hiện tại đó,

nếu thanh chuyển nào được kích hoạt thì sinh ra một trạng thái mới sau khi

cháy thanh chuyển đó.

Nếu trạng thái mới đã tồn tại (tức là được sinh ra từ đồ thị cây tìm kiếm) thì

lấy trạng thái đó từ đồ thị cây tìm kiếm và tiếp tục vòng lặp tìm kiếm những

thanh chuyển được kích hoạt khác.

38

Nếu trạng thái đó chưa được thể hiện trong đồ thị tìm kiếm, chứng tỏ trạng

thái này chưa được tìm ra, chúng ta thể hiện nó trong đồ thị tìm kiếm bằng

cách bổ xung thêm những vị trí mới được đánh dấu vào đồ thị cây tìm kiếm.

Trong cách thực thi của nhóm tác giả, trạng thái mới này được xét bằng việc mở

rộng chỉ với trạng thái hiện tại của mô hình, tức là tìm những vị trí trong trạng thái

hiện tại có số thẻ nhỏ hơn hoặc bằng số thẻ tại vị trí đó trong trạng thái mới, và mở

rộng cây tìm kiếm bằng cách bổ xung những vị trí được đánh dấu mới đó.

Trong ý tưởng thay đổi, không chỉ xét trạng thái hiện tại đó, mà từ trạng thái hiện

tại, chúng ta tìm những trạng thái khác dựa vào những vị trí trong những cạnh đầu vào

của trạng thái hiện tại. Tức là với mỗi vị trí liên kết với một cạnh đầu vào, ta bổ xung

thêm vị trí đó vào trạng thái hiện tại để thu được một trạng thái hiện tại được bổ xung,

rồi thực hiện tìm kiếm những vị trí trong mỗi trạng thái đó có số thẻ ít hơn hoặc bằng

số thẻ trong trạng thái mới để bổ xung vị trí đó vào cây tìm kiếm.

Trong cách thực thi ban đầu, phương pháp này được thực thi theo hướng tối thiểu

không gian đồ thị của cây tìm kiếm, tức là chỉ cần xét những vị trí đánh dấu trong

trạng thái hiện tại mà không cần xét những vị trí khác liên kết đến những cạnh đầu vào

trong trạng thái hiện tại đó. Do đó không gian trạng thái cũng được giới hạn hẹp hơn.

Trong ý tưởng thay đổi, chúng tôi xem xét thêm cả những vị trí liên kết với

những cạnh đầu vào của trạng thái hiện tại, với mong muốn mở rộng không gian đồ thị

của tìm kiếm, khi bổ xung được thêm những vị trí đánh dấu mới, do đó mở rộng không

gian trạng thái để tìm chuỗi thanh chuyển có thể kích hoạt thanh chuyển đang được

yêu cầu một cách chính xác hơn. Ngoài ra, như đã đề cập, không gian trạng thái này

cũng được sử dụng để phân tích, xây dựng tập quan hệ của những tác vụ trên khía cạnh

mô hình để tính độ đo precision nâng cao được trình bày trong mục 2.2.2. Do đó việc

mở rộng không gian trạng thái cũng có thể giúp cho việc phân tích và xây dựng tập

quan hệ giữa các tác vụ đầy đủ và chính xác hơn.

Phương thức traceShortestPathOfInvisibleTasks () – phần chương trình đệ quy

được gọi, ý tưởng của phương thức này là tìm chuỗi những thanh chuyển có thể cháy

ngắn nhất trong không gian trạng thái được xác định ở bước trên, để tạo một lưới Petri

đánh dấu (được thể hiện qua trạng thái của mô hình) mà có thể cho phép thực thi thanh

chuyển đang được yêu cầu trong quá trình phát lại. Có thể có nhiều chuỗi thanh

chuyển thỏa mãn, do đó với mỗi chuỗi thanh chuyển, ta thực hiện theo dõi chúng cho

đến khi đạt được một trong số những điều kiện kết thúc sau:

39

(a) Trạng thái hiện tại đã được thăm trong quá trình duyệt, tức là không gian

trạng thái là một chu trình và đệ quy nên dừng để tránh trường hợp lặp vô hạn

(b) Nếu tìm thấy một chuỗi ngắn hơn của những thanh chuyển có thể kích hoạt

thanh chuyển yêu cầu, so với những chuỗi đã tìm thấy trước đó.

Giả sử cả hai điều kiện (a), (b) không được thỏa mãn, trạng thái hiện tại của

không gian trạng thái được đánh dấu đã được thăm, và tất cả các chuỗi trong không

gian trạng thái đều được xem xét cho đến khi đạt được một trong những điều kiện kết

thúc sau:

(c) Nếu thanh chuyển yêu cầu được bắt gặp, ta trả về chuỗi thanh chuyển hiện tại

(d) Nếu thanh chuyển yêu cầu không được bắt gặp, ta kết thúc quá trình đệ quy.

Nếu không có bất kỳ chuỗi nào có thể dẫn đến kích hoạt thanh chuyển yêu cầu,

thì danh sách trả về NULL và phương thức isEnable trả về false. Còn nếu tìm được

chuỗi thỏa mãn có thể kích hoạt thanh chuyển yêu cầu, thì phương thức trả về true.

Như trình bày ở trên là phương thức kiểm tra sự kích hoạt của một thanh chuyển

được yêu cầu trong quá trình phát lại. Tiếp theo, chúng ta đề cập đến phương thức lựa

chọn tác vụ trùng lặp khi bắt gặp trường hợp một sự kiện được liên kết với nhiều tác

vụ trong mô hình (hay còn gọi là ánh xạ 1 : n).

Phương thức chọn tác vụ trùng lặp (hay những thanh chuyển có cùng nhãn):

chooseEnabledDuplicateTask:

1: candidateList select all enabled duplicates

2: if length of candidateList = 0 then

3: return NULL

4: else if length of candidateList =1 then

5: return the only enabled duplicate

6: else

7: clone replay scenario for each candidate and fire corresponding transition

8: return traceBestCandidate(…)

9: end if

40

Phương thức chooseEnabledDuplicateTask () là phương thức đệ quy để lựa chọn

tác vụ phù hợp nhất (trong số những tác vụ trùng lặp), tương ứng với sự kiện đang xét

trong quá trình phát lại. Vấn đề này là do trong quá trình ánh xạ mô hình quá trình và

nhật ký sự kiện có những trường hợp một sự kiện tương ứng với nhiều tác vụ trong mô

hình. Do đó, khi sư kiện đó được phát lại, phải chọn xem tác vụ nào trong mô hình là

phù hợp với sự kiện đó nhất.

Đầu tiên, tìm danh sách các tác vụ trùng lặp tương ứng với sự kiện đang xét. Nếu

không có tác vụ nào được tìm thấy, phương thức trả về NULL. Nếu chỉ có một tác vụ

được thấy, phương thức trả về tác vụ đó. Trong trường hợp có nhiều hơn một tác vụ

traeBestCandidate:

1: if no log events left then

2: return any of remaining candidateList // (a)

3: else

4: fetch next log event

5: nextTask determine transition(s) associated to log event

6: for each scenario from candidateList do

7: if nextTask is duplicate task then

8: nextTask chooseEnabledDuplicateTask(…)

9: else if nextTask is not enable then

10: nextTask NULL

11: end if

12: if nextTask = NULL then

13: remove current from candidateList

14: else

15: further trace replay scenario via firing nextTask

16: end if

17 end for

18: end if

19: if length of candidateList = 0 then

20: return any of remaining candidateList // (b)

21: else if length of candidateList = 1 then

22: return the only remaining candidate // (c)

23: else

24: return traceBestCandidate(…)

25: end if

41

được tìm thấy (một danh sách tác vụ ứng cử), cần phải xem xét để chọn tác vụ thích

hợp nhất, khi dó phương thức chooseEnabledDuplicateTask () được gọi. Nó sao chép

kịch bản phát lại hiện tại với mỗi tác vụ trùng lặp và cháy thanh chuyển tương ứng với

tác vụ đó. Sau đó trỏ đến phương thức đệ quy theo dấu những kịch bản trên:

traeBestCandidate(). Phương thức này sẽ không trả về kết quả cho đến khi chỉ còn lại

một kịch bản duy nhất. Đầu tiên, điều kiện kết thúc được kiểm tra:

(a) Nếu không có sự kiện nào còn lại trong dấu vết hiện tại đang được phát lại,

phương thức trả về bất kì tác vụ nào trong danh sách tác vụ ứng cử và kết thúc.

Giả sử rằng (a) không được thỏa mãn, sự kiện tiếp theo trong dấu vết hiện tại

đang được phát lại được tải lên, và những tác vụ tương ứng với sự kiện đó trong mô

hình được xác định. Nếu chỉ có một tác vụ tương ứng với sự kiện đó, tức là không phải

là tác vụ trùng lặp, nhưng tác vụ đó không được kích hoạt, thì loại bỏ tác vụ đó ra khỏi

danh sách tác vụ ứng cử. Trái lại, thực hiện tiếp kịch bản phát lại tương ứng với tác vụ

đó. Còn nếu tác vụ đó là tác vụ trùng lặp, tiến hành gọi đệ quy phương thức

chooseEnabledDuplicateTask (). Cuối cùng tiến hành kiểm tra số lượng những kịch

bản còn lại:

(b) Nếu sau khi phát lại tác vụ đó, không còn lại kịch bản nào trong danh sách thì

phương thức trả về bất kí một tác vụ nào trong danh sách tác vụ ứng cử được

giữ lại trước đó.

(c) Nếu chỉ còn duy nhất một kịch bản còn lại trong danh sách, phương thức trả về

kịch bản đó.

3.2. Phát biểu bài toán

Dựa trên cở sở những lý thuyết trình bày trong các chương, tôi xin phát biểu bài

toán kiểm tra sự phù hợp của mô hình quá trình và nhật ký sự kiện bằng phương pháp

phát lại như sau:

Đầu vào: Mô hình quá trình và nhật ký sự kiện đã có

Đầu ra: Những độ đo đánh giá sự phù hợp được tính toán dựa trên phương

pháp phát lại.

42

3.3. Mô hình giải quyết bài toán

Từ cơ sở lý thuyết những độ đo và nội dung giải thuật phát lại trình bày trong

chương này, khóa luận xây dựng mô hình giải quyết bài toán gồm 4 pha chính như

sau:

Hình 3.1: Mô hình giải quyết bài toán

Nhật ký sự

kiện

Mô hình quá

trình

Ánh xạ mô hình quá trình với nhật

ký sự kiện

Phát lại nhật ký sự

kiện trên mô hình

Tính fitness Tính

Precision

Tính

Structure

Đánh giá

Phân tích không gian

trạng thái

Phân tích cấu trúc

Xử lý

43

Pha 1: Ánh xạ mô hình quá trình và nhật ký sự kiện. Tức là ánh xạ những tác vụ trong

mô hình quá trình với những sự kiện trong nhật ký sự kiện.

Ví dụ sau minh họa quá việc ánh xạ mô hình quá trình và nhật ký sự kiện

Bảng 3.1: Ví dụ ánh xạ mô hình quá trình và nhật ký sự kiện

Tác vụ trong

mô hình

Sự kiện trong

nhật ký

Nhãn sự kiện

sau khi ánh xạ

A1 A A

B1 B B

C1 C C

D1 D D

Pha 2: Xử lý, trong pha này chúng ta thực hiện ba quá trình thành phần.

Quá trình phát lại nhật ký sự kiện trên mô hình quá trình, thực hiện phương pháp

phát lại được giới thiệu ở mục 3.1, để tính độ đo fitness được trình bày trong mục

2.2.1.

Quá trình phân tích không gian trạng thái, thực hiện xây dựng tập quan hệ giữa

các tác vụ trong mô hình quá trình và tập quan hệ giữa các sự kiện trong nhật ký sự

kiện để tính độ đo precision nâng cao được trình bày trong mục 2.2.2.

Quá trình phân tích cấu trúc thực hiện phân tích những cấu trúc tác vụ ẩn và tác

vụ trùng lặp trong mô hình để tính độ đo structure nâng cao được trình bày trong mục

2.2.3.

Pha 3: Tính toán các độ đo fitness, precision, structure theo những công thức đã

được đề cập trong mục 2.2.1, 2.2.2, và 2.2.3, dựa trên những kết quả thu được trong

pha xử lý

Pha 4: Đánh giá, tức là dựa vào những độ đo thu được từ pha 3 để đánh giá sự

phù hợp của mô hình quá trình và nhật ký sự kiện.

44

3.4. Tóm tắt chƣơng ba

Trong chương này, khóa luận đã trình bày chi tiết về giải thuật phát lại được

dùng trong quá trình phát lại để tính toán các độ đo phù hợp được trình bày trong

chương hai. Ngoài ra khóa luận đưa ra mô hình giải quyết bài toán. Trong đó, khóa

luận tập trung vào thay đổi một khía cạnh trong phương thức phát lại, đó là cố gắng

sinh ra một không gian trạng thái đầy đủ hơn để tìm kiếm đường đi ngắn nhất (chuỗi

những thanh chuyển có thể cháy ngắn nhất) dẫn đến kích hoạt các thanh chuyển không

được kích hoạt trực tiếp đang được yêu cầu trong quá trình phát lại, nhằm hướng tới

thu được kết quả phát lại chính xác hơn. Đồng thời, không gian trạng thái đó cũng

được sử dụng trong quá trình phân tích không gian trạng thái để tính độ đo precision,

do đó một không gian trạng thái đầy đủ hơn có thể sẽ cho kết quả độ đo precision

chính xác hơn.

Trong chương tiếp theo, khóa luận trình bày về quá trình thực nghiệm với mô

hình giải quyết bài toán và thực nghiệm với phương pháp phát lại thay đổi trên dữ liệu

nhật ký sự kiện.

45

Chƣơng 4: THỰC NGHIỆM

Dựa vào mô hình đề xuất ở chương ba, chúng tôi tiến hành thực nghiệm mô hình

giải quyết bài toán bằng cách sử dụng plugin Conformance Checker tích hợp trong bộ

công cụ mã nguồn mở ProM 5.2. Bước 1 của thực nghiệm, chúng tôi thực nghiệm mô

hình giải quyết bài toán với giải thuật phát lại và giải thuật phát lại thay đổi, trên bộ dữ

liệu một - DL1 (gồm một nhật ký sự kiện và bốn mô hình quá trình tương ứng) được

tạo ra một cách nhân tạo nhằm kiểm tra tính đúng đắn của mô hình giải quyết bài toán

(trong bộ dữ liệu đó mức độ phù hợp của mỗi mô hình so với nhật ký sự kiện đã được

biết trước). Bước 2 của thực nghiệm, chúng tôi thực nghiệm tương tự Bước 1 trên bộ

dữ liệu hai – DL2 (gồm tập những cặp mô hình quá trình và nhật ký sự kiện tương

ứng, trong đó số tác vụ trong mô hình quá trình và số sự kiện trong nhật ký sự kiện lớn

hơn so với DL1) để đánh giá sự thay đổi trong giải thuật phát lại có ảnh hưởng như thế

nào đến kết quả thu được của các độ đo. Lý do chúng tôi chọn tập dữ liệu này là bởi

trong thay đổi đề xuất, chúng tôi mở rộng không gian trạng thái để có thể tăng độ

chính xác trong quá trình phân tích và xử lý, do đó cần mô hình quá trình có kích

thước tương đối lớn để có thể kiểm chứng sự thay đổi nếu có.

Môi trường và công cụ thực nghiệm

Cấu hình phần cứng:

Bảng 4.1: Cấu hình hệ thống thử nghiệm

Thành phần Chỉ số

CPU 2.0 GHz Core Duo Intel

RAM 2GB

OS Windows7

Bộ nhớ ngoài 250GB

Các phần mềm sử dụng:

Bảng 4.2: Các phần mềm sử dụng

STT Tên Phần mềm Nguồn

1 Eclipse – SDK 3.5

win32

http://www.eclipse.org/downloads

2 ProM 5.2 http://www.promtools.org/prom5/

46

4.1. Dữ liệu thực nghiệm

4.1.1. Dữ liệu sử dụng trong bƣớc một của quá trình thực nghiệm (DL1)

Nguồn dữ liệu: Tải dữ liệu về từ trang web:

http://www.processmining.org/_media/processminingbook/chapter_7.zip

Bộ dữ liệu này là bộ dữ liệu được sử dụng làm ví dụ trong chương bảy của tài

liệu tham khảo [1]. Nó bao gồm một nhật ký sự kiện và bốn mô hình quá trình tương

ứng:

Hình 4.1: Nhật ký sự kiện L1 của DL1

47

Hình 4.2: Mô hình quá trình N1 của DL1

Hình 4.3: Mô hình quá trình N2 của DL1

Hình 4.4: Mô hình quá trình N3 của DL1

Hình 4.5: Mô hình quá trình N4 của DL1

Trong 4 mô hình quá trình trên, thì mô hình N1 là mô hình phù hợp nhất đối với

nhật ký sự kiện L1. Dựa vào đó, quá trình thực nghiệm sẽ tiến hành kiểm tra sự phù

hợp của các mô hình N1, N2, N3, N4 với nhật ký sự kiện L1 để kiểm chứng nhận thức

trên.

48

4.1.2. Dữ liệu sử dụng trong bƣớc hai của quá trình thực nghiệm (DL2)

Nguồn dữ liệu: Tải dữ liệu về tại trang web:

http://data.3tu.nl/repository/uuid:44c32783-15d0-4dbd-af8a-

78b97be3de49

Tên bộ dữ liệu: 'Conformance Checking in the Large' (BPM 2013)

Đây là bộ dữ liệu được cung cấp bởi Munoz-Gama, Jorge (Universitat

Politecnica de Catalunya), ngày 27/3/2013 tại BPM 2013. Bộ dữ liệu này gồm một tập

dữ liệu (nhật ký sự kiện và mô hình) được xây dựng cho bài toán kiểm tra sự phù hợp

với kích thước mô hình quá trình lớn (trên 320 thanh chuyển).

Trong bộ dữ liệu này có 7 cặp dữ liệu (mô hình quá trình + nhật ký sự kiện):

prAm6, prBm6, prCm6, prDm6, prEm6, prFm6, prGm6. Trong thực nghiệm này

chúng tôi chọn 3 cặp dữ liệu để tiến hành thực nghiệm đó là: prAm6, prBm6 và

prDm6.

4.2. Thực nghiệm

Các bước tiến hành thực nghiệm được tiến hành như sau:

Bƣớc 1: Thực nghiệm mô hình giải quyết bài toán với giải thuật phát lại và giải

thuật phát lại thay đổi trên bộ dữ liệu DL1 để kiểm chứng tính đúng đắn của mô hình.

Bƣớc 2: Thực nghiệm mô hình giải quyết bài toán với giải thuật phát lại và giải

thuật phát lại thay đổi trên bộ dữ liệu DL2 để đánh giá những thay đổi nếu có trong đề

xuất thay đổi giải thuật phát lai.

49

4.3. Kết quả thực nghiệm

4.3.1. Kết quả thực nghiệm Bƣớc 1

Thực nghiệm với giải thuật phát lại chưa thay đổi:

Bảng 4.3: Kết quả thực nghiệm Bước 1, với giải thuật phát lại chưa thay đổi

Mô hình fitness precision structure

N1 1.0 0.97619045 1.0

N2 0.95039195 0.97619045 1.0

N3 0.8796777 1.0 1.0

N4 1.0 0.7756839 1.0

Thực nghiệm với giải thuật phát lại thay đổi:

Bảng 4.4: Kết quả thực nghiệm Bước 1, với giải thuật phát lại thay đổi

Mô hình fitness precision structure

N1 1.0 0.97619045 1.0

N2 0.95039195 0.97619045 1.0

N3 0.8796777 1.0 1.0

N4 1.0 0.7756839 1.0

Trong Bước 1, không có sự khác biệt khi thực nghiệm giữa hai giải thuật (vì mô

hình quá trình có kích thước nhỏ, nên khó có sự thay đổi trong không gian trạng thái),

và đây cũng là lý do chúng tôi thực nghiệm Bước 2 với mô hình quá trình có kích

thước lớn hơn. Tổng hợp kết quả thực nghiệm Bước 1 ta có:

Hình 4.6: Đồ thị tổng hợp kết quả thực nghiệm Bước 1

0.72

0.77

0.82

0.87

0.92

0.97

1.02

N1 N2 N3 N4

fitness

precision

structure

50

4.3.2. Kết quả thực nghiệm Bƣớc 2

Thực nghiệm với giải thuật phát lại chưa thay đổi:

Bảng 4.5: Kết quả thực nghiệm Bước 2, với giải thuật phát lại chưa thay đổi

Tập dữ liệu fitness precision structure

prAm6 0.94943047 0.73098 1.0

prBm6 1.0 0.9269284 1.0

prDm6 0.9664088 0.7181392 1.0

Thực nghiệm với giải thuật phát thay đổi:

Bảng 4.6: Kết quả thực nghiệm Bước 2, với giải thuật phát lại thay đổi

Tập dữ liệu fitness precision structure

prAm6 0.94943047 0.7484517 1.0

prBm6 1.0 0.918151 1.0

prDm6 0.9664088 0.732147 1.0

Trong Bước 2, kết quả thực nghiệm giữa hai giải thuật có sự khác nhau về chỉ số

precision. Do đó ta gọi chỉ số precision của thực nghiệm với giải thuật phát lại ban đầu

là precision1, và với giải thuật phát lại thay đổi là precision2. Tổng hợp kết quả thực

nghiệm Bước 2 ta có:

Hình 4.7: Đồ thị tổng hợp kết quả thực nghiệm Bước 2

0.62

0.67

0.72

0.77

0.82

0.87

0.92

0.97

1.02

prAm6 prBm6 prDm6

fitness

precision1

precision2

structure

51

4.4. Đánh giá

Như trong thực nghiệm này, chúng tôi tiến hành thực nghiệm trên bộ dữ liệu một

– DL1 để kiểm chứng tính đúng đắn của mô hình giải quyết bài toán. Và tiến hành

thực nghiệm trên bộ dữ liệu 2 – DL2 để đánh giá những thay đổi nếu có trong đề xuất

thay đổi giải thuật phát lại. Chúng ta dựa vào những giá trị độ đo thu được để đánh giá

kết quả thực nghiệm.

Như theo kết quả thực nghiệm Bước 1, thì những độ đo phù hợp đối với mô hình

N1 (1, 0.97619045, 1.0) đều cao hơn so với các mô hình N2, N3, N4. Điều đó chứng

tỏ mô hình N1 phù hợp với nhật ký sự kiện L1 hơn các mô hình khác, điều này trùng

khớp với nhận thức ban đầu rằng mô hình N1 phù hợp hơn các mô hình còn lại. Kết

quả này cho thấy phương pháp được tiến hành là đúng đắn. Tuy nhiên theo như kết

quả thực nghiệm ta thấy rằng, do kích thước của mô hình nhỏ (chỉ gồm 8 tác vụ: được

gán nhãn từ a đến h), nên khó có sự thay đổi trong không gian trạng thái. Do đó kết

quả thực nghiệm Bước 1 không có gì khác nhau giữa hai phương pháp.

Theo kết quả thực nghiệm ở Bước 2, sau khi thực nghiệm với giải thuật phát lại

thay đổi thì ta thấy rằng: giá trị của độ đo precision có thể thay đổi theo hai chiều

hướng, có thể tăng (trường hợp với hai cặp dữ liệu prAm6 và prDm6) và cũng có thể

giảm (trường hợp với cặp dữ liệu prBm6). Điều đó cho thấy rằng thay đổi trong

phương pháp phát lại (mục đích nhằm mở rộng không gian trạng thái) có tác động làm

thay đổi giá trị độ đo precision (điều này là hợp lý vì độ đo precision được tính dựa

trên sự phân tích không gian trạng thái để tìm tập quan hệ giữa các tác vụ). Tuy nhiên

tri phí thời gian cho quá trình xử lý và tài nguyên bộ nhớ cũng phải tốn nhiều hơn khi

không gian trạng thái cần phân tích được mở rộng. Do đó cần xem xét, đánh giá đến

góc độ thời gian để lựa chọn phương pháp cho phù hợp.

52

Kết luận và định hƣớng nghiên cứu tiếp theo

Khai phá quá trình kết hợp khai phá dữ liệu với mô hình hóa quá trình kinh

doanh là chủ đề nghiên cứu thời sự, có ý nghĩa khoa học và thực tiễn. Khóa luận tập

trung vào các giải phát phát lại giải quyết bài toán kiểm tra sự phù hợp, một trong ba

bài toán cơ bản của khai phá quá trình.

Khóa luận đã trình bày các nội dung cơ bản bài toán kiểm tra sự phù hợp của mô

hình quá trình và nhật ký sự kiện, nêu được quan hệ của nó trong hoạt động kinh

doanh và kiểm toán của doanh nghiệp. Hơn nữa, các độ đo được sử dụng để đánh giá

sự phù hợp được trình bày một cách tường minh.

Trong khóa luận, hướng giải quyết bài toán dựa trên phương pháp phát lại đã

được giới thiệu và các giải thuật cụ thể trong phương pháp phát lại kiểm tra sự phù

hợp được phân tích kỹ lưỡng.

Khóa luận đã đưa ra ý tưởng thay đổi, mở rộng không gian trạng thái của mô

hình để tìm kiếm chuỗi thanh chuyển có thể cháy ngắn nhất mà có thể kích hoạt thanh

chuyển không được kích hoạt trực tiếp đang được yêu cầu trong quá trình phát lại.

Đồng thời, không gian trạng thái đó cũng được sử dụng trong quá trình phân tích

không gian trạng thái. Thi hành ý tưởng đó vào hệ thống PRoM. Kết quả thực nghiệm

cho thấy là hướng thay đổi đó có thể đem lại một kết quả tốt hơn trong quá trình phát

lại. Tuy nhiên tri phí thời gian và tài nguyên bộ nhớ có thể sẽ cao hơn.

Trong thời gian tới, tôi sẽ tiếp tục mở rộng khóa luận bằng cách thay đổi một số

thủ tục, cũng như thuật toán trong phương pháp phát lại, từ đó có thể thu được kết quả

khả quan hơn. Ngoài ra tôi sẽ tiếp tục tìm hiểu, nghiên cứu để có thể ứng dụng kỹ

thuật này vào một số doanh nghiệp kinh doanh ở Việt Nam.

53

Tài liệu tham khảo

[1] WMP Van der Aalst (2011). Process Mining: Discovery, Conformance and

Enhancement of Business Processes, Springer.

[2] A. Adriansyah, B.F. van Dongen, and W.M.P. van der Aalst (2010). Towards

Robust Conformance Checking. Business Process Management Workshops

2010:122-133

[3] A.K.A de Medeiros, A.J.M.M. Weijters, and W.M.P. van der Aalst (2007).

Genetic Process Mining: An Experimental Evaluation. Data Mining and

Knowledge Discovery, 14 (2):245–304.

[4] A.K.A. de Medeiros, W.M.P. van der Aalst, and A.J.M.M. Weijters (2008).

Quantifying Process Equivalence Based on Observed Behavior. Data and

Knowledge Engineering, 64 (1):55–74.

[5] Michael Hammer (2010). What is Business Process Management?

Handbooks on business process management 1: 3-16.

[6] A. Rozinat and W.M.P. van der Aalst (2008). Conformance Checking of

Processes Based on Moni-toring Real Behavior. Information Systems, 33

(1):64–95.

[7] J.E. Cook and A.L. Wolf (1999). Software Process Validation: Quantitatively

Measuring the Correspondence of a Process to a Model. ACM Transactions

on Software Engineering and Methodology, 8 (2):147–176.

[8] W.M.P. van der Aalst and A.K.A. de Medeiros (2004). Process Mining and

Security: Detecting Anomalous Process Executions and Checking Process

Conformance. WISP 2004: 69–84.

[9] W.M.P. van der Aalst, A.K.A. de Medeiros, and A.J.M.M. Weijters (2005).

Genetic Process Mining. ICATPN 2005: 48-69.

[10] W.M.P. van der Aalst (2004). Business Alignment: Using Process Mining as

a Tool for Delta Analysis. BPMDS‟04: 138–145.

[11] D. Grigori, F. Casati, U. Dayal, and M.C. Shan (2001). Improving Business

Process Quality through Exception Understanding, Prediction, and

Prevention. VLDB 2001: 159-168.

[12] M.zur MÄuhlen and M. Rosemann (2000). Workflow-based Process

Monitoring and Controlling - Technical and Organizational Issues. HICSS

2000.

[13] A. Rozinat and W.M.P. van der Aalst (2005). Conformance Testing:

Measuring the Alignment Between Event Logs and Process Models. BETA

Working Paper Series (WP 144), Eindhoven University of Technology,

Eindhoven, 2005.

54

[14] A. Rozinat and W.M.P. van der Aalst. Conformance Testing: Measuring the

Fit and Appropriateness of Event Logs and Process Models. Business

Process Management Workshops 2005:163-176.

[15] W. Reisig and G. Rozenberg (editors, 1998). Lectures on Petri Nets I: Basic

Models, Lecture Notes in Computer Science, 1491, Springer-Verlag, Berlin.

[16] A. Rozinat (2010). Process Mining: Conformance and Extension. PhD

Thesis, Eindhoven Univer-sity of Technology.

[17] A.K. Alves de Medeiros (2006). Genetic Process Mining. PhD Thesis,

Eindhoven University of Technology, Eindhoven.

[18] C.W. Gunther (2009). Process Mining in Flexible Environments. PhD

Thesis, Technical University Eindhoven.