Tải bản đầy đủ (.pdf) (60 trang)

Thuật toán phát hiện quá trình nâng cao dựa trên khái niệm vùng trạng thái luận văn ths công nghệ thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.59 MB, 60 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LƯU VĂN BA

THUẬT TOÁN PHÁT HIỆN QUÁ TRÌNH NÂNG CAO
DỰA TRÊN KHÁI NIỆM VÙNG TRẠNG THÁI

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Hà Nội – 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LƯU VĂN BA

THUẬT TOÁN PHÁT HIỆN QUÁ TRÌNH NÂNG CAO
DỰA TRÊN KHÁI NIỆM VÙNG TRẠNG THÁI
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HÀ QUANG THỤY

Hà Nội – 2015



Lời cảm ơn

Lời đầu tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới
PGS.TS Hà Quang Thụy đã tận tình hướng dẫn và chỉ bảo tôi trong suốt quá
trình nghiên cứu khoa học và thực hiện luận văn này.
Tôi xin chân thành cảm ơn các thầy, cô đã tận tình dạy bảo, hướng dẫn
nghiên cứu và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình học tập và
nghiên cứu tại trường.
Tôi cũng xin gửi lời cảm ơn đến các anh chị, các bạn trong phòng thí
nghiệm công nghệ tri thức KT-Lab của trường đại học Công Nghệ - Đại học
quốc gia Hà Nội đã chia sẻ cho tôi rất nhiều về kiến thức chuyên môn trong quá
trình tôi tham gia sinh hoạt tại đây. Luận văn thực hiện trong khuôn khổ đề tài
QG.15.22 “Phát triển các kỹ thuât tiến tiến khai phá mẫu từ nhật ký sự kiện, xây
dựng phần mềm và khung ứng dụng thử nghiệm tại doanh nghiệp Việt Nam”.
Cuối cùng, tôi xin được gửi lời cám ơn vô hạn tới gia đình và bạn bè,
những người đã luôn bên cạnh, giúp đỡ và động viên tôi trong quá trình học tập
cũng như trong suốt quá trình thực hiện luận văn này.
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 20 tháng 05 năm 2015
Học viên

Lưu Văn Ba


Lời cam đoan

Tôi xin cam đoan nội dung được trình bày trong luận văn này là do tôi
thực hiện dưới sự hướng dẫn của PGS.TS Hà Quang Thụy.
Tất cả các tài liệu tham khảo và các nghiên cứu liên quan đều có nguồn
gốc rõ ràng trong danh mục tài liệu tham khảo của luận văn. Trong luận vă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
chỉ rõ về tài liệu tham khảo.

Hà Nội, ngày 20 tháng 05 năm 2015
Học viên

Lưu Văn Ba


MỤC LỤC
Danh mục các bảng..........................................................................................................1
Danh mục các hình vẽ, đồ thị .......................................................................................... 2
Mở đầu ............................................................................................................................. 4
Chương 1. GIỚI THIỆU VỀ KHAI PHÁ QUÁ TRÌNH ................................................6
1.1.

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

1.1.1.

Khai phá quá trình là gì ...............................................................................6

1.1.2.

Vị trí của khai phá quá trình trong KHDL và Big data. .............................. 6

1.1.3.

Mối liên hệ với khai phá dữ liệu .................................................................7


1.2.

Các bài toán trong khai phá quá trình ................................................................ 8

1.2.1.

Phát hiện quá trình ......................................................................................9

1.2.2.

Kiểm tra độ phù hợp....................................................................................9

1.2.3.

Tăng cường mô hình ...................................................................................9

1.3.

Mô hình hóa quá trình ...................................................................................... 10

1.3.1.

Nhật ký sự kiện (Event Logs) ...................................................................10

1.3.2.

Các loại mô hình hóa quá trình .................................................................12

1.4.


1.3.2.1.

Lưới Petri (Petri Nets) ........................................................................12

1.3.2.2.

Hệ thống chuyển (Transition systems) ...............................................15

Tóm tắt chương 1 ............................................................................................. 17

Chương 2. PHÁT HIỆN QUÁ TRÌNH VÀ NHỮNG THÁCH THỨC ........................ 18
2.1.

Bài toán phát hiện quá trình .............................................................................18

2.1.1.

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

2.1.2.

Giới thiệu thuật toán Alpha .......................................................................19

2.2.

Chất lượng mô hình kết quả .............................................................................25

2.3.

Các thách thức trong phát hiện quá trình ......................................................... 26


2.4.

Tóm tắt chương 2 ............................................................................................. 27

Chương 3. PHÁT HIỆN QUÁ TRÌNH DỰA TRÊN VÙNG TRẠNG THÁI ..............28
3.1.

Giới thiệu phương pháp ...................................................................................28

3.2.

Các bước thực hiện .......................................................................................... 29

3.2.1.

Tạo hệ thống chuyển từ nhật ký sự kiện ...................................................29


3.2.1.1.

Biểu diễn trạng thái ............................................................................29

3.2.1.2.

Xây dựng hệ thống chuyển .................................................................32

3.2.2.

3.3.


Chuyển đổi từ hệ thống chuyển sang lưới Petri ........................................34

3.2.2.1.

Định nghĩa vùng .................................................................................34

3.2.2.2.

Lựa chọn vùng ....................................................................................36

3.2.2.3.

Xây dựng lưới Petri sử dụng vùng ..................................................... 36

Nhận xét đánh giá ............................................................................................ 39

3.3.1.

Ưu nhược điểm của phương pháp ............................................................. 39

3.3.2.

Giới thiệu một số đề xuất mô hình cải tiến ...............................................39

3.4.

Tóm tắt chương 3 ............................................................................................. 42

Chương 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ.............................................................. 44

4.1.

Mô tả thực nghiệm ........................................................................................... 44

4.1.1.

Công cụ: ....................................................................................................44

4.1.2.

Dữ liệu thực nghiệm:.................................................................................44

4.1.3.

Các bước thực hiện: ..................................................................................44

4.1.4.

Tiến hành thực nghiệm:.............................................................................44

4.2.

Đánh giá và kết luận ........................................................................................ 51

KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU TIẾP ..............................................52
TÀI LIỆU THAM KHẢO ............................................................................................. 53


1


Danh mục các bảng
Bảng 1.1: Một phân đoạn của nhật ký sự kiện cho yêu cầu bồi thường [1] ..................10
Bảng 2.1: Bảng ví dụ về song kết nối cực đại và không cực đại [2] ............................. 20
Bảng 3.1: Ví dụ về các cách biểu diễn trạng thái cho một nhật ký sự kiện [1] .............33
Bảng 3.2: Bảng ví dụ về vùng và không phải là vùng [2] .............................................36


2

Danh mục các hình vẽ, đồ thị

Hình 1.1: Vị trí của khai phá quá trình trong khoa học dữ liệu [2] .................................6
Hình 1.2: Vai trò cầu nối của khai phá quá trình [6] ....................................................... 7
Hình 1.3: Các bài toán trong khai phá quá trình [2] ........................................................ 8
Hình 1.4: Lưới Petri và các thành phần [1] ...................................................................12
Hình 1.5: Ví dụ về marking của một lưới Petri cho hệ thống đèn giao thông [2] .........13
Hình 1.6: Bước chuyển được kích hoạt và có thể cháy [2] ...........................................14
Hình 1.7: Một hệ thống chuyển có một trạng thái khởi đầu..........................................15
và một trạng thái kết thúc[1] ......................................................................................... 15
Hình 2.1: Bài toán phát hiện quá trình [1] .....................................................................18
Hình 2.2: Ví dụ cặp tập song kết nối (A,B) [2] ............................................................. 20
Hình 2.3: Vị trí p(A,B) kết nối các bước chuyển trong tập A và B [2] ............................ 21
Hình 2.4: Kết quả thuật toán α cho L5 [1].....................................................................22
Hình 2.5: Ví dụ hạn chế dư thừa của thuật toán α [2] ...................................................23
Hình 2.6: Ví dụ hạn chế chu trình bằng 1 của thuật toán α [2] .....................................23
Hình 2.7: Ví dụ hạn chế chu trình bằng 2 của thuật toán α [2] .....................................24
Hình 2.8: Ví dụ hạn chế phụ thuộc không địa phương của thuật toán α [2] .................24
Hình 2.9: 4 tiêu chí chất lượng cho mô hình kết quả [1]...............................................25
Hình 2.10: Ví dụ 4 mô hình khác nhau cho cùng một nhật ký sự kiện [1] ...................26
Hình 3.1: Mô hình phát hiện quá trình dựa trên vùng trạng thái [2] ............................. 28

Hình 3.2: Ví dụ trạng thái của một vết [2] ....................................................................29
Hình 3.3: Trạng thái của một vết thể hiện qua các thành phần past, future [2] ............29
Hình 3.4: Các cách biểu diễn trạng thái của vết theo các mức độ trừu tượng [4] .........31
Hình 3.5 : Vùng R tương ứng với vị trí pR [1] .............................................................. 34
Hình 3.6 : Chuyển đổi “hệ thống chuyển” thành “lưới Petri”[1] ..................................37
Hình 3.7 Sử dụng Foldings trong phát hiện quá trình dựa trên vùng [5] ...................... 40
Hình 3.8 : Tổng quan mô hình phân chia trong kiểm tra độ phù hợp[6] ...................... 41
Hình 3.9 : Tổng quan mô hình phân chia trong phát hiện quá trình [6] ........................ 42
Hình 4.1: Thông tin nhật ký sự kiện L6 ........................................................................45


3
Hình 4.2: Mô hình quá trình của L6 dựa trên thuật toán Alpha ....................................46
Hình 4.3: Hệ thống chuyển trạng thái của L6 ............................................................... 46
Hình 4.4: Mô hình quá trình của L6 dựa trên vùng trạng thái ......................................47
Hình 4.5: Thông tin nhật ký sự kiện L9 ........................................................................48
Hình 4.6: Mô hình quá trình của L9 dựa trên thuật toán Alpha ....................................48
Hình 4.7: Hệ thống chuyển trạng thái của L9 ............................................................... 49
Hình 4.8: Mô hình quá trình của L9 dựa trên vùng trạng thái ......................................49
Hình 4.9: Thông tin nhật ký sự kiện Hospital log ......................................................... 50


4

Mở đầu
Ngày nay cùng với việc phát triển của khoa học công nghệ, đặc biệt là lĩnh
vực công nghệ thông tin dữ liệu sinh ra từ các hệ thống thông tin, thiết bị công
nghệ, máy móc, Internet,…ngày càng bùng nổ về số lượng cũng như tốc độ thay
đổi, tính đa dạng từ các nguồn khác nhau dẫn đến những thách thức không nhỏ
trong ngành khoa học dữ liệu. Các kỹ thuật khai phá dữ liệu (data mining) đã,

đang và sẽ đóng vai trò vô cùng quan trọng trong việc trích xuất tri thức từ dữ
liệu đã có từ đó có thể tạo lợi thế canh tranh lớn trong kinh doanh. Tuy nhiên các
kỹ thuật này mới chỉ tập trung chủ yếu vào đặc tính của dữ liệu mà đã bỏ qua
một yếu tố vô cùng quan trọng là quá trình thay đổi dữ liệu đã diễn ra như thế
nào? Để làm rõ vai trò quan trọng của yếu tố quá trình (process) này chúng ta
cùng xem xét một ví dụ điển hình đó là các hệ thống thông tin trong các tổ chức
kinh doanh nghiệp vụ. Các hệ thống thông tin này thường hỗ trợ khả năng ghi
chép, tức là lưu lại những gì đã được thực hiện trong quá trình hoạt động của tổ
chức. Loại dữ liệu sự kiện này ngày càng nhiều và có mặt ở khắp nơi. Trong khi
đó, các tổ chức, doanh nghiệp vẫn chỉ lên kế hoạch hoạt động bằng các mô hình
quá trình xây dựng thủ công với nhiều hạn chế, hay xác định các vấn đề trong
quá trình hoạt động qua những nhận định và nắm bắt chủ quan, nhiều khi sai
lệch thực tế.
Thông tin trong dữ liệu sự kiện là chi tiết, chân thực và khách quan về chính
những gì tổ chức đang cố gắng quan sát và nắm bắt. Nếu tổ chức tận dụng được
những thông tin này thì điều đó có thể hỗ trợ rất nhiều cho các quá trình kinh
doanh. Từ những yếu tố trên, khai phá quá trình đã ra đời và trở thành đề tài
nóng được nhiều nhà khoa học quan tâm nghiên cứu.
Phát hiện quá trình là một trong ba bài toán chính của khai phá quá trình với
mục tiêu xây dựng mô hình chỉ từ nhật ký sự kiện mà không sử dụng bất kì một
mô hình hay thông tin tiền nghiệm nào khác. Có rất nhiều thuật toán, phương
pháp phát hiện quá trình khác nhau. Ví dụ: thuật toán α, α+, α++, khai phá kinh
nghiệm, khai phá di truyền, khai phá dựa trên vùng… Mỗi loại đều có những
điểm mạnh điểm yếu riêng. Luận văn sẽ tập trung giới thiệu phương pháp phát
hiện quá trình nâng cao dựa trên vùng trạng thái. Nâng cao ở đây được hiểu với
ý nghĩa đây là một thuật toán ra đời sau, có nhiều ưu điểm hơn các thuật toán
kinh điển ban đầu như thuật toán α.


5

Luận văn được chia thành bốn chương với các nội dung:
Chương 1: Giới thiệu tổng quan về khai phá quá trình, các bài toán trong
khai phá quá trình và các khái niệm liên quan..
Chương 2: Đi vào cụ thể bài toán phát hiện quá trình và các thách thức
Chương 3: Trình bày phương pháp phát hiện quá trình dựa vào vùng
trạng thái và đánh giá ưu nhược điểm của phương pháp.
Chương 4: Trình bày thực nghiệm phương pháp đã trình bày ở chương 3
với một vài bộ dữ liệu và đánh giá thực nghiệm.
Kết luận và định hướng phát triển tiếp theo: Tóm lược kết quả đã đạt
được của luận văn, chỉ ra những khuyết điểm cần khắc phục và đưa ra định
hướng nghiên cứu tiếp theo.


6

Chương 1. GIỚI THIỆU VỀ KHAI PHÁ QUÁ TRÌNH

1.1.

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

1.1.1. Khai phá quá trình là gì
Khai phá quá trình (process mining) là một chuyên ngành nghiên cứu mới.
Theo Wil M.P van der Aalst [1], khai phá quá trình là chuyên ngành nghiên cứu
về những phương thức phát hiện, phân tích và cải tiến các quá trình dựa vào
thông tin trích xuất được từ dữ liệu sự kiện.
1.1.2. Vị trí của khai phá quá trình trong KHDL và Big data.
Ngày nay trong KHDL (khoa học dữ liệu) người ta không chỉ chú ý tới việc
lưu trữ và phân tích dữ liệu mà người ta còn quan tâm đến mối liên hệ giữa dữ
liệu với các quá trình liên quan. Khai phá quá trình chính là cầu nối giữa quản lý

quá trình kinh doanh truyền thống với các kỹ thuật phân tích dữ liệu làm trung
tâm như: khai phá dữ liệu và học máy.

Hình 1.1: Vị trí của khai phá quá trình trong khoa học dữ liệu [2]


7

Hình 1.2: Vai trò cầu nối của khai phá quá trình [6]
Khai phá quá trình là phương tiên giao tiếp giữa phân tích mô hình quá
trình (process model analysis) với phân tích định hướng dữ liệu (data-oriented
analysis). Nó được dùng để trả lời các câu hỏi khác nhau liên quan đến hiệu
năng và tính tuân thủ.
1.1.3. Mối liên hệ với khai phá dữ liệu
Theo Van der Aalst [2], khai phá quá trình liên quan mật thiết đến khai phá
dữ liệu. Trong khi các kĩ thuật khai phá dữ liệu truyền thống chủ yếu tập trung
vào dữ liệu (data-centric) thì khai phá quá trình tập trung vào quá trình
(process-centric).
Khai phá quá trình được sử dụng để trả lời cho các câu hỏi:
- Quá trình nào con người thực sự làm theo?
- Đâu là những trở ngại trong quá trình của tôi?
- Đâu là chỗ mà con người hay máy móc thực hiện khác với lại quá trình
mong đợi hay quá trình lý tưởng ban đầu?
- Đâu là “lối mòn” trong quá trình của tôi?
- Những tác nhân nào đang gây trở ngại?
- Liệu tôi có thể tiên đoán các vấn đề có thể gặp phải (độ trễ, độ sai lệch,
rủi ro,…) trong các trường hợp đang chạy?
- Làm thế nào để thiết kế lại quá trình, tổ chức, máy móc cho hiệu quả?



8

Mặc dù cả hai đều bắt đầu từ dữ liệu nhưng các kỹ thuật khai phá dữ liệu
thường không tập trung đến quá trình, không tập trung vào dữ liệu sự kiện.
Những chủ đề như phát hiện quá trình, kiểm tra độ phù hợp, phân tích các trở
ngại trong quá trình kinh doanh là không được đề cập trong các kỹ thuật khai
phá dữ liệu truyền thống. Khai phá dữ liệu và khai phá quá trình cần được kết
hợp với nhau để trả lời các câu hỏi nâng cao hơn.

1.2.

Các bài toán trong khai phá quá trình

Trong khai phá quá trình có 3 loại bài toán chính: bài toán phát hiện quá
trình (process discovery), kiểm tra sự phù hợp (conformance checking), tăng
cường quá trình (process enhancement).
Có 3 thao tác chính thể hiện mối quan hệ giữa mô hình và nhật ký sự kiện
là: : Play-out, Play-in và Replay. Trong đó Play-out là từ mô hình sinh ra hoạt
động, Play-in là tự động hình thành mô hình từ nhật ký sự kiện, Replay là chạy
lại mô hình đồng thời so sánh với dữ liệu sự kiện để kiểm tra tính đúng đắn cũng
như là cải tiến mô hình.

Hình 1.3: Các bài toán trong khai phá quá trình [2]


9
1.2.1. Phát hiện quá trình
Là bài toán với mục tiêu xây dựng mô hình chỉ từ nhật ký sự kiện mà
không sử dụng bất kì một mô hình hay thông tin tiền nghiệm nào khác. Một ví
dụ là thuật toán Alpha (α- algorithm) chỉ nhận đầu vào là một nhật ký sự kiện, sẽ

sinh ra một lưới Petri tương ứng mà không cần sử dụng thêm tri thức bổ sung
nào khác.
Mô hình xây dựng được có thể trả lời các câu hỏi phổ biến trong quá trình
sản xuất kinh doanh như:
- Hoạt động nào nằm trước hoạt động nào?
- Có nhóm hoạt động nào được thực hiện đồng thời không?
- Trong quá trình có hoạt động nào bị lặp không?
- Các nhân viên tương tác như thế nào?
- Những ai làm cùng nhiệm vụ với nhau?
- Có bao nhiêu vị trí tham gia trong một trường hợp?
1.2.2. Kiểm tra độ phù hợp
Bài toán này sử dụng đầu vào gồm một mô hình có sẵn và nhật ký sự kiện.
Mô hình sẽ được sử dụng để kiểm tra xem các sự kiện thực tiễn được lưu trong
nhật ký sự kiện có phù hợp với mô hình không, và ngược lại.
Có thể mô hình đang sử dụng không bao hàm được tất cả các trường hợp
vì thế có những trường hợp các hoạt động không tuân theo mô hình. Cũng có
trường hợp chỉ tồn tại trên mô hình mà thực tế không bao giờ xảy ra. Do vậy, sẽ
luôn hữu ích khi có một công cụ cung cấp phản hồi về những vấn đề này. Bài
toán kiểm tra sự phù hợp của mô hình nhằm cung cấp những công cụ phản hồi
như vậy.
1.2.3. Tăng cường mô hình
Sau có được kết quả của bước kiểm tra độ phù hợp thì bài toán tiếp theo
được đặt ra là tăng cường mô hình. Bài toán hướng tới việc mở rộng hoặc cải
tiến mô hình có sẵn, nhờ rút ra kinh nghiệm từ thông tin về quá trình thực tế đã
thu thập được trong các nhật ký sự kiện. Tăng cường ở đây có 2 loại, một là
“sửa” mô hình để phản ánh đúng hơn với thực tế, hai là “mở rộng” mô hình để
thêm vào các khía cạnh bổ sung.
Tăng cường mô hình giúp tăng hiệu suất làm việc, giải quyết những điểm
mâu thuẫn hoặc bế tắc, loại bỏ các thành phần không cần thiết...



10
1.3.

Mô hình hóa quá trình
Các phương pháp mô hình hóa quá trình thương mại chính thường sử
dụng các dạng kí hiệu mô hình như BPMN, UML, EPC, các loại lưới Petri, hệ
thống chuyển, luồng điều khiển,...
1.3.1. Nhật ký sự kiện (Event Logs)
Điểm khởi đầu cho khai phá quá trình là nhật ký sự kiện (event logs). Mỗi
sự kiện trong nhật ký sự kiện tương ứng với một hoạt động và một trường hợp
cụ thể. Trong mỗi trường hợp, các sự kiện này được sắp xếp theo một thứ tự nào
đó tùy thuộc vào thực tế diễn ra trong quá trình. Ngoài các sự kiện, nhật ký sự
kiện còn có thể lưu trữ một số thông tin khác liên quan đến sự kiện mà một số
kỹ thuật khai phá quá trình cũng có thể tận dụng như nguồn lực thi hành sự kiện,
thời gian bắt đầu thi hành, thời gian kết thúc, v.v...

Bảng 1.1: Một phân đoạn của nhật ký sự kiện cho yêu cầu bồi thường [1]
- Mỗi quá trình (process) bao gồm các trường hợp (cases).
- Mỗi trường hợp bao gồm các sự kiện (event) sao cho mỗi sự kiện chỉ liên
kết với đúng một trường hợp.


11
- Trong mỗi trường hợp, các sự kiện diễn ra theo thứ tự.
- Các sự kiện có thể có thuộc tính (attribute) như hoạt động, thời gian, chi
phí, nguồn lực,...
Không phải tất cả các sự kiện đều phải có tập thuộc tính như nhau, song
thông thường, các sự kiện liên quan đến cùng hoạt động thì sẽ có chung tập
thuộc tính.

Loại dữ liệu trong nhật ký sự kiện xác định phương diện thông tin nào có
thể được khai phá. Theo Van der Aalst [1], có 4 phương diện khai phá chính:
1) Phương diện luồng điều khiển (control-flow perspective) tập trung vào luồng
điều khiển, tức là thứ tự của các hoạt động. Mục đích của khai phá phương
diện luồng điều khiển là tìm được các đặc tính tốt nhất có thể cho tất cả các
luồng điều khiển. Phương diện luồng điều khiển có thể được khai phá qua
nhật ký sự kiện khi nhật ký sự kiện cung cấp các nhiệm vụ đã được xử lý
trong quá trình (chẳng hạn qua các trường tên công việc, thời gian) và ta có
thể suy luận được thứ tự xử lý và liên kết các nhiệm vụ này vào các trường
hợp (mẫu) riêng biệt.
2) Phương diện tổ chức (organizational perspective) tập trung vào các thông tin
về nguồn lực ẩn trong nhật ký sự kiện, ví dụ như những đối tượng nào (người,
hệ thống, vai trò, bộ phận) tham gia vào hoạt động và các đối tượng liên quan
đến nhau như thế nào. Khai phá phương diện tổ chức ứng dụng cho cơ cấu tổ
chức qua việc phân loại nguồn lực vào các vai trò và đơn vị trổ chức hoặc
qua các thông tin thu được từ mô hình mạng xã hội.
3) Phương diện trường hợp (case perspective) tập trung vào các thuộc tính, đặc
điểm riêng của mỗi trường hợp. Rõ ràng, mỗi trường hợp đều có thể được mô
tả bằng đường đi của nó trong luồng quá trình. Tuy nhiên, ta cũng có thể mô
tả các trường hợp bằng giá trị của các phần tử dữ liệu tương ứng. Ví dụ, nếu
một trường hợp biểu diễn các đơn hàng bổ sung, thì qua đó ta có thể muốn
biết nhà cung cấp hoặc số lượng sản phẩm đã được đặt mua.
4) Phương diện thời gian (time perspective) quan tâm tới thời gian và mức độ
thường xuyên của các sự kiện. Khi các sự kiện được ghi lại cùng với thời
gian, ta có thể phát hiện các điểm thắt cổ chai, đo lường sức phục vụ, giám
sát việc sử dụng tài nguyên, và dự đoán thời gian xử lý còn lại của các trường
hợp đang chạy.
Các phương diện này không tách biệt độc lập mà chồng chéo một phần nào
đó lên nhau, và không đầy đủ. Tuy nhiên, chúng mô tả tốt những đặc điểm mà
khai phá quá trình muốn phân tích.



12

1.3.2. Các loại mô hình hóa quá trình
Có rất nhiều bộ ký hiệu cho mô hình hóa quá trình, tuy nhiên trong luận
văn sẽ chỉ giới thiệu về hai loại mô hình hóa mà sẽ được sử dụng ở các phần sau
là Lưới Petri (Petri net) và Hệ thống chuyển (Transition system). Chúng ta có
thể dễ dàng chuyển đổi sang các ngôn ngữ mô hình hóa khác như BPMN, BPEL
hay biểu đồ hoạt động UML,...
1.3.2.1.

Lưới Petri (Petri Nets)

Lưới Petri (petri net) là ngôn ngữ mô hình hóa quá trình lâu đời nhất và
tốt nhất trong các ngôn ngữ đã được khảo sát. Lưới Petri cho phép biểu diễn các
mô hình chứa thành phần đồng thời. Mặc dù kí hiệu đồ họa rất trực quan và đơn
giản, lưới Petri vẫn có khả năng biểu diễn rất tốt và người ta có thể sử dụng
nhiều kĩ thuật để phân tích các mô hình biểu diễn dưới dạng lưới Petri. Hình 1.4
là một ví dụ về lưới Petri.

Hình 1.4: Lưới Petri và các thành phần [1]
Lưới Petri là đồ thị hai chiều bao gồm các vị trí (place) và các bước
chuyển (transition). Lưới Petri có cấu trúc tĩnh, nhưng các thẻ (token) có thể lưu
thông trong mạng lưới này nhờ sự điều khiển của luật cháy (firing rule).


13
Trạng thái của lưới Petri được xác định bởi sự phân bố của các thẻ ở các
vị trí và được gọi là dấu (marking) của vị trí đó.


Hình 1.5: Ví dụ về marking của một lưới Petri cho hệ thống đèn giao thông [2]
Trong dấu khởi tạo thể hiện ở hình 1.4 chỉ có một thẻ, và start là vị trí duy
nhất được đánh dấu.
Định nghĩa 1.1[1]. Lưới Petri là một bộ ba N = (P, T, F) trong đó P là
một tập hữu hạn các vị trí (vị trí), T là một tập hữu hạn các bước chuyển
(transition) sao cho P ∩ T = Ø, và F ⊆ (P × T) ∪ (T × P) là tập các cạnh có
hướng, gọi là luồng quan hệ (flow relation) . Lưới Petri được đánh dấu là một
cặp (N, M), trong đó N = (P, T, F) là một lưới Petri và M ∈ 𝔹(P) là một tập bội
(multi-set) trên P biểu thị dấu (marking) của lưới. Tập tất cả các lưới Petri được
đánh dấu được biểu thị bằng kí hiệu 𝒩.
Theo định nghĩa, lưới Petri trong hình 1.4 có thể chuẩn hóa lại với bộ ba
N = (P, T, F) như sau:
P = {start, cl,c2, c3, c4, c5, end},
T = {a, b, c, d, e, f, g, h}, và
F = {(start, a), (a, cl), (a, c2), (cl, b), (cl, c), (c2, d), (b, c3), (c, c3), (d, c4),
(c3, e), (c4, e), (e, c5), (c5, f ), (f, cl), (f, c2), (c5, g), (c5, h), (g, end), (h, end)}.
Vị trí được đánh dấu trong hình 1.4 là [start], nghĩa là tập bội biểu thị dấu
ở đây chỉ chứa 1 thẻ. Các hành vi động của một lưới Petri được đánh dấu được
xác định bởi luật cháy (firing rule).


14
- Một bước chuyển sẽ được kích hoạt nếu mỗi vị trí đầu vào của nó chứa
một thẻ.
- Một bước chuyển đang kích hoạt sẽ có thể đốt cháy, qua đó tiêu thụ một
thẻ từ mỗi vị trí đầu vào và cung cấp một thẻ cho mỗi vị trí đầu ra.

Hình 1.6: Bước chuyển được kích hoạt và có thể cháy [2]
Trong hình 1.4, bước chuyển a được kích hoạt nhờ dấu [start]. Việc đốt

cháy a sẽ cho dấu [c1, c2]. Lưu ý rằng ở bước này, một thẻ bị tiêu thụ và hai thẻ
mới được sinh ra. Tại dấu [cl, c2], bước chuyển a sẽ không còn được kích hoạt
nữa. Tuy nhiên, các bước chuyển b, c, và d bây giờ đã được kích hoạt. Từ dấu
[cl, c2], việc đốt cháy b sẽ cho dấu [c2, c3]. Đến đây, d vẫn được kích hoạt,
nhưng b và c thì không. Bởi vì trong lưới Petri này có cấu trúc vòng lặp liên
quan đến f nên sẽ có vô hạn các chuỗi cháy bắt đầu ở [start] và kết thúc tại [end].
Giả sử bây giờ dấu khởi tạo là [start5]. Đốt cháy bước chuyển a bây giờ sẽ
cho kết quả là dấu [start4, cl, c2]. Ở dấu này, a vẫn được kích hoạt. Đốt cháy a
lần nữa ta được [start3, cl2, c22]. Bước chuyển a có thể cháy 5 lần trong liên tiếp
và cho kết quả là [cl5, c25]. Lưu ý rằng sau khi đốt cháy a lần đầu tiên, cả b, c và
d đều được kích hoạt và có thể đốt cháy cùng lúc.
Tính bị chặn (Boundedness):
- Một vị trí p là k-bounded nếu không có một dấu có thể đạt được với nhiều
hơn k thẻ trong p.
- Một lưới Petri là k-bounded nếu tất cả các vị trí là k-bounded.
- Một vị trí/lưới Petri là bị chặn nếu tồn tại một số k như vậy.
- Một lưới Petri là k-bounded nếu không có vị trí nào có nhiều hơn k thẻ.
Tính an toàn (safeness)


15
Một lưới Petri được đánh dấu là an toàn (safe) nếu và chỉ nếu nó là 1bounded.
Deadlock
- Một dấu là chết (dead) Nếu không có bước chuyển nào được kích hoạt.
- Một lưới Petri có một deadlock tiềm ẩn nếu có thể đạt được một dấu chết.
- Một lưới Petri là deadlock-free nếu mỗi dấu có thể đạt được kích hoạt ít
nhất một bước chuyển.
Tính sống sót (liveness)
- Một bước chuyển t là sống (live) nếu từ bất kỳ dấu có thể đạt được đều có
thể đạt tới một dấu mà ở đó t được kích hoạt.

- Một lưới Petri là sống nếu tất cả các bước chuyển là sống.
- Một lưới Petri là sống thì deadlock-free. Tuy nhiên một lưới Petri là
deadlock-free thì không chắc là sống.
1.3.2.2.

Hệ thống chuyển (Transition systems)

Hình 1.7: Một hệ thống chuyển có một trạng thái khởi đầu
và một trạng thái kết thúc[1]
Hệ thống chuyển là loại kí hiệu mô hình quá trình cơ bản nhất. Hệ thống
chuyển bao gồm các trạng thái (state) và các bước chuyển (transition). Hình 1.7
mô tả một hệ thống chuyển với 7 trạng thái. Các trạng thái được biểu diễn bằng
hình tròn màu đen. Có một trạng thái khởi tạo được gán nhãn sl và trạng thái kết
thúc được gán nhãn s7. Mỗi trạng thái có một nhãn riêng biệt, nhãn này chỉ đơn
giản là định danh cho trạng thái và không có ý nghĩa gì cả. Các bước chuyển


16
được biểu diễn bằng các cạnh. Mỗi bước chuyển kết nối hai trạng thái và được
gán nhãn bởi tên của một hoạt động. Nhiều cạnh có thể có cùng nhãn, ví dụ
trong hình này nhãn "check ticket” xuất hiện 2 lần.
Định nghĩa hệ thống chuyển như sau:
Định nghĩa 1.2[1]. Hệ thống chuyển là một bộ ba TS = (S, A, T) trong đó
S là tập các trạng thái (state), A ⊆ 𝒜 là tập các hoạt động (activity), và T ⊆ S ×
A × S là tập các bước chuyển (transition). Sstart ⊆ S là tập các trạng thái ban đầu
(trạng thái bắt đầu), và Send ⊆ S là tâp các trạng thái cuối cùng (trạng thái kết
thúc).
Các tập hợp Sstart và Send được xác định ngầm. Về nguyên tắc, tập S có thể vô
hạn. Tuy nhiên, trong hầu hết các ứng dụng trên thực tế, không gian trạng thái là
hữu hạn. Trong trường hợp này, hệ thống chuyển cũng được coi là một máy hữu

hạn trạng thái (Finite-State Machine - FSM) hay ôtômát hữu hạn (finite-state
automaton).
Theo định nghĩa nêu trên, hệ thống chuyển trong hình 1.7 có thể được
chuẩn hóa như dưới đây:
S = {s1,s2, s3, s4, s5, s6, s7},
Sstart = {s1},
Send = {s7},
A = {register request, examine thoroughly, examine casually, check ticker,
decide, reinitiate request, reject request, pay compensation},
T = {(si, register request, s2), (s2, examine casually, s3), (s2, examine
thoroughly, s3), (s2, check ticket, s4), (s3, check ticket, s5), (s4, examine
casually, s5), (s4, examine thoroughly, s5), (s5, decide, s6), (s6, reinitiate
request, s2), (s6, pay compensation, s7), (s6, reject request, s7)}.
Ta có thể tìm hiểu về các hành vi của một hệ thống chuyển cho trước. Một
bước chuyển bắt đầu với một trong những trạng thái ban đầu. Mỗi đường dẫn
trong đồ thị bắt đầu tại một trạng thái tương ứng với một trình tự thực hiện có
thể. Ví dụ, đường dẫn register request, examine casually, check ticket trong hình
1.7 là một ví dụ về trình tự thực hiện, bắt đầu ở trạng thái s1 và kết thúc tại trạng
thái s5. Có vô số trình tự trạng thái trong hệ thống chuyển này. Một đường dẫn
kết thúc thành công (terminate successfully) nếu nó kết thúc tại một trong những
trạng thái cuối cùng. Một đường dẫn gọi là bế tắc(deadlocks) nếu nó gặp một


17
trạng thái không kết thúc nhưng lại không có bước chuyển ra nào. Lưu ý rằng dù
không có kết thúc cũng không đảm bảo được rằng đường dẫn sẽ kết thúc thành
công. Hệ thống chuyển có thể không bế tắc, các bước chuyển có thể vẫn được
kích hoạt nhưng không thể dẫn tới trạng thái cuối cùng (livelock).
Bất cứ mô hình quá trình nào mà về mặt ngữ nghĩa được coi là thi hành
được thì sẽ có thể ánh xạ sang hệ thống chuyển. Do đó, có nhiều khái niệm đã

được định nghĩa giúp hệ thống chuyển có thể dễ dàng dịch sang các ngôn ngữ
mô hình hóa bậc cao như lưới Petri, BPMN, UML...
Các hệ thống chuyển khá đơn giản nhưng lại gặp vấn đề trong biểu diễn
các đồng thời một cách ngắn gọn. Giả sử khi ta có n hoạt động song song, nghĩa
là n hoạt động cần thi hành nhưng theo thứ tự nào cũng được. Ta sẽ có thể có n!
trình tự hoạt động. Hệ thống chuyển sẽ yêu cầu 2n trạng thái và n × 2n-1 bước
chuyển. Đây là một ví dụ về vấn đề "bùng nổ trạng thái” (state explosion). Xem
xét ví dụ 10 hoạt động song song, số trình tự thi hành có thể có là 10! = 3628800,
số trạng thái có thể đạt tới là 210 = 1024, và số bước chuyển là 10 × 210-1 = 5120.
Lưới Petri tương ứng sẽ gọn hơn rất nhiều và chỉ cần 10 bước chuyển, 10 vị trí
để mô hình hóa 10 hoạt động song song. Để giải quyết vấn đề đồng thời trong
các quá trình thương mại, ta cần sử dụng các mô hình ý nghĩa hơn như lưới Petri
để thể hiện được đầy đủ kết quả khai phá quá trình.
1.4.

Tóm tắt chương 1

Chương 1 của luận văn đã giới thiệu tổng quan về khai phá quá trình, vị
trí, vai trò và các nhóm bài toán chính trong khai phá quá trình. Các khái niệm,
đặc điểm chính của nhật ký sự kiện, các phương diện khai phá đã được đề cập.
Tiếp theo, các khái niệm cơ bản và các đặc tính chính của hai loại mô hình hóa
được sử dụng trong luận văn là lưới Petri, và hệ thống chuyển đã được giới thiệu
khá chi tiết.
Trong chương tiếp theo của luận văn, sẽ đi chi tiết hơn vào một trong ba
bài toán chính trong khai phá quá trình là bài toán phát hiện quá trình.


18

Chương 2. PHÁT HIỆN QUÁ TRÌNH VÀ NHỮNG THÁCH THỨC

2.1. Bài toán phát hiện quá trình
2.1.1. Phát biểu bài toán
Theo Van der Aalst [1], bài toán phát hiện quá trình được định nghĩa như
sau:
Định nghĩa 2.1[1]: (Bài toán phát hiện quá trình tổng quát) Cho nhật ký sự
kiện L, thuật toán phát hiện quá trình là hàm ánh xạ L sang một mô hình quá
trình sao cho mô hình đó có khả năng đại diện (representative) cho các hành vi
thấy được trong nhật ký sự kiện. Thách thức ở đây là tìm một thuật toán như vậy.
Các thuật toán phát hiện quá trình theo định nghĩa trên có thể sinh một loại
mô hình quá trình nào đó, chẳng hạn như BPMN, EPC, YAWL, hay mô hình
dạng lưới Petri. Ngoài ra, nhật ký sự kiện làm đầu vào cũng có thể có nhiều
thuộc tính. Yêu cầu duy nhất là mô hình thu được phải có khả năng đại diện cho
các hành vi thấy được trong nhật ký sự kiện. Với định nghĩa này, ta có thể thấy
phát hiện quá trình là một bài toán khá rộng và đa dạng, trong đó tất cả các
phương diện của quá trình đều có thể được khai phá. Luận văn sẽ tập trung vào
phát hiện quá trình trên khía cạnh luồng điều khiển, gọi tắt là phát hiện luồng
điều khiển.

Hình 2.1: Bài toán phát hiện quá trình [1]
Mô hình đầu ra của bài toán phát hiện luồng điều khiển nói chung có thể
biểu diễn dưới nhiều dạng kí hiệu khác nhau: dạng BPMN, EPC, YAWL, lưới
Petri... Để có thể hình dung rõ ràng hơn, mà không làm mất đặc trưng của bài
toán, ta chọn lưới Petri làm dạng kí hiệu cho mô hình đầu ra của bài toán. Vậy
ta phát biểu bài toán phát hiện luồng điều khiển như sau [4]:


19
Định nghĩa 2.2[1]: Gọi L ∈ 𝔹(𝒜*) là một nhật ký sự kiện. Phát hiện luồng
điều khiển là bài toán xác định công thức hay thuật toán γ ánh xạ nhật ký sự
kiện L sang một mô hình luồng điều khiển dạng lưới Petri γ(L) = (N, M) sao cho

N là một lưới WF (workflow-net, WF-net) phù hợp và tất cả các vết trong L
tương ứng với trình tự cháy thích hợp của (N,M).
2.1.2. Giới thiệu thuật toán Alpha
Thuật toán α được WMP van der Aalst và cộng sự nghiên cứu và đề xuất
năm 2004 [12]. Đây là một thuật toán khá đơn giản, ứng dụng đặc điểm của lưới
WF, rằng trong nhiều lưới WF, hai hoạt động có sự kết nối với nhau nếu xác
định được quan hệ nhân quả của chúng trong nhật kí sự kiện.
Đầu vào: Nhật kí sự kiện L với tập các hoạt động T.
Đầu ra: Lưới Petri α(L) mô hình hóa L với hai vị trí đầu, cuối được định nghĩa
như dưới đây:

Giải thích thuật toán:
 Bước 1: Mọi bước chuyển của lưới đầu ra TL : mỗi hoạt động trong L tương
ứng với một bước chuyển trong α(L)
 Bước 2: Mọi bước chuyển được nối từ vị trí vào i (start): TI đó là các phần tử
đầu tiên ở mỗi vết 〈t1, …, tn〉, …, 〈t’1, …, t’m〉
 Bước 3: Mọi bước chuyển nối tới vị trí ra o (end): TO đó là các phần tử xuất
hiện ở cuối mỗi vết 〈t1, …, tn〉, …, 〈t’1, …, t’m〉
 Bước 4: Xác định mọi cặp tập song kết nối (A, B). mọi phần tử a∈A và mọi
phần tử b∈B là quan hệ nhân quả (ví dụ a →L b), tất cả các phần tử trong A
là độc lập với nhau (a1#La2), và tất cả các phần tử trong B là độc lập với
nhau (b1#Lb2).


×