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 Lừ nhật ký sự kiện, xây đựng phần mềm và khung ứng dựng thử nghiệm tại doanh nghiệp V
Trang 1ĐẠI HỌC QUÔC GIA HÀ NÔI TRUONG ĐẠI HỌC CÔNG NGIIỆ
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 THIÁI
LUAN VAN THAC SI Hf THONG THONG TIN
Hà Nội —2015
Trang 2
TRƯỜNG ĐẠI HỌC CÔNG NGITE
LUU VAN BA
THUAT TOAN PHAT HIEN QUA TRINH NANG CAO
DỰA TREN KHAI NIEM VUNG TRANG THAI
Ngành: Công nghệ thông tin
Chuyên ngành: 1Iệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ HE THONG THONG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HÀ QUANG THỤY
Ha Noi - 2015
Trang 3Lờ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 IIà 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 xm chân thảnh câm ơn các thay, cô đã tận tình đạy bảo, hướng din nghiên cửu và tạo moi dié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 lạ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 Lừ nhật ký sự kiện, xây đự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 Ú5 năm 2015
Học viên
Luu Vin Ba
Trang 4Tôi xin cam đoan nội đung được trình bày trong luận văn này là đo tôi
thực hiện dưới sự hướng dẫn của PGS.TS IIà 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 đanh 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
TIọc viên
Luu Van Ba
Trang 5MUC LUC Danh mục các băng,
Danh mục các hình vẽ, đề thị
Mũ dầu
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.11 Khai phá quá trình là gì
11.2 Vị trí của Khai phá quả trình trong KHDI va Big data
1.1.3 Mối liên hệ với khai phả dữ liệu 5ssscccec
1.2 Các bài toán trong khai phả quá trình, ccccscee
1.2.1 Phát hiện quả trình à check
1.2.2 Kiểm tra độ phù hợp cccicccccccccccecrrrrrrerrree
1.2.3 Tầng cường mồ hình cecccceeeieeirree
1.3 Mô hinh hóa quả trình
1.3.1 Nhat ky sw kin (Event Logs)
1.3.2 Cáo loại mô hình hỏa quá trỉnh
13.2.1 Luéi Petri (Petri Nets)
13.2.2 Hé thong chuyén (Tramsilion systems)
14 Tôm lãi chương Ì
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 qua trình
2.1.1 Phát biểu bài toán
21.2 Giới thiệu thuật toán Alpha
2.2 Chất lượng mô hình kết quả oooccoccccccccrcrrec
2.3 Các thách thức trong phát hiện quả trình
24, Tôm tắt chương 2 iinirrnrrirrirrrree
Chương 3 PHÁT HIỆN QUÁ TRÌNH DỰA TRÊN VUNG TRANG THAL
3.1 Giới thiệu phương pháp
Trang 62.12 Xây đụng hệ thông chuyển
32.2 Chuyến đổi từ hệ thống chuyến sang lưới Petri
KET LUAN VA BINH HUGNG NGHIEN CUU TIEP
TAI LIEU THAM KHẢO
lạ no
ip =
Trang 7Danh muc các bang
Bang 1 1: Mét phan đoạn của nhật ký sự kiện cho yêu cầu bồi thường [1]
Bang 2.1: Bằng ví dụ về song kết nội cực đại và không cực đại |2]
đả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] Bang 3.2: Bằng vỉ dụ về vũng và không phải là vừng [2]
Trang 8Tìmh 1.1: Vị trí của khai phá quá trình trong khoa học đữ liệu [2]
Tình 1.2: Vai trò cầu nối của khai phá quá trình [6| :::-c:
Hình l 3: Các bài toán trong khai phá quá trình []
TRình 1 + Tưới Petri và các thành phân [1]
Hình 1.5: Vị dụ về marking của một lưới Petri cho hệ thông, dèn giao thông [Z] Hình 1.6: Bước chuyển được kích hoạt và có thế cháy [2]
Tình 1.7: Một hệ thông chuyển có một trạng thái khởi dầu
và một trạng thái kết thúc[1]
TRình 2.1: Bài toán phát hiện quá trình [1]
tình 2.2: Ví dụ cặp tập song kết ni (A,B) |2J "
Hình 2.3: Vị trí pm kết nổi các bước chuyên trong tập A và 13 [2]
Hinh 2.4: Kết quả thuật toán ø cho L5 [1]
Hình 2.5: Vĩ dụ bạn chế dư thừa của thuật toàn œ [2] ec
Tinh 2.6: Vi du han chế chu trình bing I của thuật toán œ [2]
Hinh 2.7: Vi du han chế chu trình bằng 2 của thuật toán o [2]
Tình 28: Ví dụ hạn chế phụ (huộc không địa phương của thuật toán ø |2
THinh 2.9: 4 tiêu chỉ chất lượng cho mô hình kết quả [1]
Tình 2.10: Ví dụ 4 mê tình khác rau cho cùng một nhật ký sự kiện [1]
Hình 3.1: Mô hình phát hiện quá trình dựa trên vùng trạng thái |2J
Hinh 3.2: Vi du trang thái của một vết [2]
Tì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]
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] Tinh 3.5: Vùng R tương ứng với vị trí pw [1]
Tình 3.6: Chuyển đổi “hệ thông chuyển” thành “lưới Petri”Ll |
Hình 3.7 Sử dụng Foldings trong phát hiện quá trình dựa trên vũng [5|
Tinh 3.8 - Téng quan mô hình phan chia trong kiêm tra độ phù hợp[6]
Tình 3.9 : Tổng quan mô hình phân chua trong phát hiện quá trình |ó
1Hình 4.1: Thông tin nhật kỷ sự kiện L6
Trang 9Mô hình quá trình của L6 đựa trên thuật toán Alpha
Hồ thông chuyển trạng thái của L6
Mô hình quá trình của Ló đựa trên vũng trạng thải
Thêng tin nhật ký sự kiện L9
Mô hình quả trình của T.8 đựa trên thuật toàn Àlpha
Hệ thông chuyên trạng thải của LỠ 5c uy
Mô hình quả trình của T.9 đựa trên vùng trạng thái Thông tin nhật ký sự kiện Hospital log se
Trang 10Neay 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 đữ 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 da dang tir cde 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ỉ lập trung chú yếu vào đặc lính của đữ liệu mà đã bỏ qua
tố vô củng quan trọng lá quá trình thay déi dữ liệu đã diễn ra như thể
làm rõ vai trò quan trọng của yếu tố qua tinh (process) nay chúng ta cùng xem xét một ví dụ diễ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 Loai dữ liêu sự kiên này ngày càng nhiều va có mặt ở khắp nơi Irong 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
Tech thu tế
chân thực và khách quan về chính
im bắt Niễu tổ chức tận dụng được
Thông tin trong dữ liệu sự kiện lã chỉ tiết,
những gỉ tổ chức đang cố ping quan sắt vả
những thông tin nay thì điểu đó có thể hỗ trợ rất nhiều cho các quá trình kinh đoanh 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
Thát hiện quá trình là một trong ba bài Loá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 ki 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á trinh khác nhau Ví đụ: 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ển 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 «.
Trang 113
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, oá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: Trinh bảy phương pháp phát hiện quá trình dựa vào vùng
trạng thái va đá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ộ đữ liệu và dá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.
Trang 121.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 (proeess 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
Trang 13process model analysis (simulation, verification, optimization, gaming, etc)
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 đer 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 (đafa-cemric) thì khai phá quá trình tập trung vào quá trình
(process-centri€)
Khai phá quá trình được sử dụng để trả lời cho các câu hỏi
- Qua 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?
- Lam thé nao dé thiét ké lai qua trinh, tổ chức, máy móc cho hiệu quả?
Trang 14thườ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á trinh (process discovery), kiém tra su phù hợp (conformance checking), tăng
cuong qua trinh (process enhancement)
€ó 3 thao tác chính thể hiện mối quan hệ giữa mô hình và nhật ky sự kiện
la: : Play-out, Play-in va 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
Trang 151.2.1 Phát hiện quá trình
Là bài toản với mục tiêu xây đự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í
đụ 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 ương ứng mà không cần sử dụng thêm trị thức bỗ sung
nảo khác
Mô hình xây dựng dượ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ư:
- Hoat dng nao nam trước hoat déng nao?
- Cénhom hoạt động nảo được thực hiện đông thời không?
- Trong qua trinh 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ẽ dược sử dụng dễ kiểm tra xem các sự kiện thực tiễn dượ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
vi 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ụ cũng chp phin hai về những vấn để nay, Bai
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ó dược kết quả của bước kiểm tra dộ phủ hợp thì bải toán tiếp theo
dược dặ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 cai
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ặu bể tắc, loại bỏ các thành phần không cần thiết.
Trang 161.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ử đụng các đạ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 Xhật ký sự kiện (Event Logs)
Điểm khởi dầu cho khai phá quá trình là nhật kỷ sự kiện (event logs) Mai
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 dược sắp xép theo mat thir ty nao
đó 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
Cased Eventid
Properties Timestamp “Activity, Resource — Cost
35651134 3i 132010: Examine thoroughly Sue 100
38054125 Check ticket Mike 10
35654485 30-132010:12.12 Check ticket Mike 100
35654487 3G 12 MON: 74.16 Examine casually Pate 40a
35634488 U5-01-201 Decide Sara 200
33654489 08012011205 Pay compensation Elen 200
335654522 30-12-2010: Examine casually Mike 400
- M&i quả trình (process) bao gồm các trường hop (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.
Trang 1711
- _ rong 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, chỉ 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 thi sẽ có chung tập thuậc tính
Loai dit ligu 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 đer Aalst [1], có 4 phương diện khai phá chính
1) Phương diện luông điều khiển (controlflow perspeciive) 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ệL
2) Phuong dién té chire (organizational perspective) tap trang vao cac théng tin
về nguén hye ẩ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 ciận trường hựp (caxe perspective) lập trưng vào cac 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 Vi dụ, nếu một trường hợp biểu diển các dơ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 đã dược đặt mua
4) Phương diện thời gian (time perspeclive) 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 dầy dủ Tuy nhiên, chúng mô tả tốt những đặc diểm mà khai phá quá trình muốn phân Lich
Trang 181.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) Chung ta cd
thé đễ dàng chuyền đổi sang các ngôn ngữ mô hình hóa khác nhuw BPMN, BPEL
hay biểu đồ hoạt dé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à đồ thi hai chiều bao gồm các vị tri (place) vA céc bude
chuyển (/ransition) Lưới Petri có câu trúc tĩnh, nhưng các thẻ (foken) có thể lưu
thông trong mạng lưới này nhờ sự điều khiển của luật chay (firing rule).
Trang 1913 Trang thái của lưới Petri được xác định bởi su phân bố của các thẻ ở các
vị trí và được gọi là dấu (marking) của vị trí đó
orange © orange @) orange
Hinh 1.5: Vi du 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ị #), T là một tập hữu hạn các bước chuyển (transition) sao cho PNT = @, và F€(P * T)U(T * P) là tập các cạnh có hướng, gọi là luồng quan hệ (/low relafion) 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 va M € B(P) là một tập bôi
(multi-set) trên P biéu thi 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 W"
“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, e đ, e,ƒ g, h}, và
F = {(start, a), (a, cl), (a, c2), (cl, b), (cl, c), (c2, d), (b, e3), (c, c3), (d, c4)
(c3, e), (c4, e), (e, c5), (c5, £), (f, cl), (f, €2), (5, g), (€5, 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 xac dinh bai luat chay (firing rule)
Trang 20~_ 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
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ờ dau [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
[el, 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 nay 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 tai [end]
Giả sử bây giờ dấu khởi tạo là [starf] Đốt cháy bước chuyền a bây giờ sẽ cho kết quả là dấu [starf, cl, c2] Ở dấu này, a vẫn được kích hoạt Đốt cháy a
lần nữa ta được [start’, cl’, c2?] Bude chuyền a có thể cháy 5 lần trong liên tiếp
va cho két qua la [cl’, c2*] Lưu ý rằng sau khi đốt cháy a lần đầu tiên, cả b, ¢ va
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 dau 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 vi 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à &-bounded nêu không có vị tri nao có nhiều hơn É thẻ
Tinh an toan (safeness)
Trang 211ã
Một lưới Petri được đánh đâu La an toan (safe) néu và chỉ nếu nó là 1-
bounded
Deadlack
- 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 đeadlook tiềm ân nếu có thế đạt được một dấu chết -Một lưới Delri lá đeadlock-lrec nếu mỗi đấu có thể đát được kích hoại it
nhất một bước chuyển
Tỉnh sống sot (liveness)
- Một bước chuyển t là sống (1ive) nếu từ bất kỳ dấu có thể đạt được đều có
thể dạt tới một đầu mà ở đó † dượ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-fee Tuy nhiên một lưới Petri là đeađlock-free thì không chắc lả sông
13.22 IIệ thông chuyển (Transition systems)
TIệ thống chuyển là loại kí hiệu mô hình quá trình cơ bắn nhất TIệ thống
chuyển bao gồm các trạng thái (sa/e) và các bước chuyến (znsiion) Ilình 1.7
mô lả 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 den Có một trạng thái khởi tạo được gán nhẫn sÌ vả trạng thái kết thúc được gan 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
Trang 22đượ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, vi dụ trong hình này nhãn "check ticket” xuất hiện 2 lần
inh nghĩa hệ thống chuyển như sau
Dink nghia 4 2{1] 11é thông chuyển là một bộ ba T8 — (8, A, T) rong đó
5 là tập các trạng thái (state), A C «4 là tập các hoạt động (activiiy), và T C§ «
A x8 là tập các bước chuyển (transition) 8“° G S là tập các trạng thái ban đầu
(trạng thái bất đầu), và S““C § lả tập các trạng thái cuối cùng (trạng thái kết
‘Theo dinh nghia néu trên, hệ thống chuyển trong hình 1.7 có thể dược
chuẩn hỏa như dưới đây:
request, $2), (s6, pay compensation, s7), (s6, reject request, s7)}
TTa có thể tìm hiểu về các hành vĩ 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 din 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 ở trang thái ø! và kết thúc tại trang
thái s5 Có vô số trình tự trạng thái trong hệ théng chuyén nay Mét đường dẫn kết thúc thành công (terminate successfully) néu no két thie lai mOl trang những
trạng thái cuối cùng Miệt đường dẫn gọi là bá rắc(đeadlacks) nếu nó gặp một
Trang 2317
trạng thái không kết thúc nhưng lai 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 lIệ thống chuyển có thể không bế tắc, các bước chuyển có thể vẫn được kich hoat nhưng không thể dẫn tới trạng thái cuỗi cùng (1ivelock)
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 2o đó, 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ữ m6 hinh hoa bac cao nhu ludi Petri, BPMN, UML
Các hệ thống chuyển khá don piản nhưng lại pặ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 'Ưa sẽ có thể có n' trình tự hoạt động T1ệ thông chuyến sẽ yêu cầu 2" trạng thái vả n x 2°! 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í đụ 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à 219 = 1024, và số bước chuyển là 10 x 21%! = 5120 Lưới Petri tương ứng sẽ gọn hơn rất nhiêu và chi can 10 bude chuyển, 10 vị trí
để mồ hình hóa 10 hoạt động sơng song ĐỂ giải quyết vấn dé ding thời wong
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 day dủ kết quá khai phá quá trinh
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 bai 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á chỉ tiết
'Irong chương tiếp theo của luận văn, sẽ đi chỉ 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ả trinh
Trang 24Chươ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
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 canh luồng điều khiển, gọi tắt là phát hiện luồng
Hình 2.1: Bài toán phát hiện quả trình [L]
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 dang 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]:
Trang 2519
Định nghĩa 2.2[1]: Gọi L € #(z⁄Z*) 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 y ánh xạ nhật lạ) sự
kiện L sang một mô hình luông điều khiển dạng lưới Petri y(L) = (N, M) sao cho
N là một lưới WF (workflow-net, WF-net) phit hop va tất cả các vết trong L
tương ứng với trình tự cháy thích hop ctia (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 va dé 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, ring 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:
(1) Tụ, =lt €7 | 3„z¿ t cơ]
(2) T) = €T | Agen t =first(o))
QB) To =(t€T |Foen t =last(a)}
(4) Xp =((A, B)[ACT, A AFB A BCT, A BAD A VacaYbcs a4
b A Mayared M1 Hy a2 A Yo, prep by Hy br)
(5) Yr = (A.B) € X21 V(apyex, AGA’ ABC B’ => (A, B) = (A', B’))
(6) P„ =|p(A | (A B) € Ye) U fin, en}
Œ1) F ={(a pịA,m)|(A B) eYL A^ aeA] U [(p(A,m,b)|(A,B)ŸL A be
BỊ U{ữr.f)|t£ €T;¡] O{Œ.ør)[† 6 To]
(8) @(L) = (Pr, TL, Fi)
Giải thích thuật toán:
* Bước 1: Mọi bước chuyển của lưới đầu ra Tụ : mỗi hoạt đông trong L tương ứng với một bước chuyển trong a(L)
" Đước2 Mọi | bước chuyển được nồi từ vị trí vào ¡ (start); T; dé là các phan tử đầu tiên ở mỗi vết (d, „,:0),-:., (P1 )
" Bước 3: Mọi bước chuyển tới vị trí ra o (end): To đó là các phần tử xuất
hiện ở cuối mỗi vết (tI, ., tn), ., (U1, ., Um)
" Bước 4: Xác định mọi cặp tập song két ndi (A, B) moi phan tr a€A va moi phần tử b€B là quan hệ nhân quả (vi dụ a —L b), tất cả các phần tử trong A
là độc lập với nhau (al#aa2), và tất cả các phần tử trong B là độc lập với
nhau (bl#vb2)
Trang 26
Hình 2.2: Vi dụ cặp tập song kết nói (A,B) [2]
" Bước 5: Xác định mọi cặp tập song kết nối cực đại (A, B)
Bang 2.1: Bảng ví dụ về song kết nối cực đại và không cực đại [2]
» Bước 6: Xác định tập các vị trí từ các cặp song kết nối cực đại, vị trí vào, vị trí ra
Trang 2721
A={ai,3;, am} B={bj,bo, Dn}
Hinh 2.3: Vi tri pya,s) ket ndi cdc buéc chuyén trong tap A va B [2]
= Buse 7: Néi cac cung
Trang 28Tr={a.b,e.d,e.f}
Tr — {a}
Tr={f}
Xt — {Ca}, (61) fa}, fet), 6}, <ch), Or eh, fap),
Cd} f6}) fe} (7), (a d}, £87), Lb}, for}
¥o = {fa}, feh), Ceh fab), tet, Ph, (fad) {oh}, bb fot ht
Pe = {Bifay fe} Pd Aah: PUeh UP fad} (0}) Poy fesy)s (EOL }
Fr— {(a Pepa sep): Puat tap @): (Peep fapy): Prep sap) Ds
Ce Bites deh) Pep tep eh) (A Pad} doy) (Ee Pad} tops
Maat) oy 2) BrP poy tery Pel tere) Wie) tenis
¥e= {a} fet), Veh tah) (feb tA Cad (8): Wb} tof byt
Hình 2.4: Két qud thuật toán a cho L5 [1]
—%3»
Về cơ bản, thuật toán ø quét qua nhật kỉ sự kiện để kiểm các mẫu cụ thể
Ví dụ, nếu hoạt động b được thi hành liên sau hoạt động a nhưng hoạt động a
không bao giờ được thi hành liên sau b, thì ta xem là có một sự phụ thuộc nhân quả giữa a và b Để phân ánh mối quan hệ phụ thuộc này, lưới Petri tương ửng
sẽ có một vị Irí nối a với b
Trang 2923
Hạn chế của thuật toán a
'Thuật toán œ khai phá lớp nhật ký sự kiện lớn với giả định nhật ký sự kiên
liên quan hoàn toàn với quan hệ thứ tự Thuật toán có hạn chế ngay cả khi "liên quan hoàn toàn” Sau đây là một vài hạn chế điển hình của thuật toán ơ
1) Dư thừa
Rất nhiều lưới WF khác nhau lại có hành vi như nhau
Hình 2.5: Lí dụ hạn chế dự thừa của thuật toan a [2]
Hai vị trí p1, p2 là thừa được gọi là “ẩn”, bị gỡ đi không ảnh hướng hành vi
Trang 30Lg =[(a,b,d)>, (a,b,c,b,d)?, (a,b, c,b,c,b.d)]
M6 hinh phat hién
Mô hình mong đợi — (®) EE N¬ [s]+)
Hình 2.7: Ví dụ hạn chế chu trình bằng 2 của thuật toán a [2]
3) Phụ thuộc không địa phương
Thuật toán ø chỉ xét quan hệ đi trước trực tiếp >„ và cảm sinh trực tiếp
Ví dụ:
Ly = [(a,c,d)*, (b,c,e)*?]
Hinh 2.8: Vi du han ché phụ thuộc không địa phương của thuật toán a [2]
Mô hình thực sự: không phát hiện hai vị trí p1, p2
'Tóm lại thuật toán Alpha cung cấp một cách tiếp cận cơ bản cho bài toán
phát hiện quá trình Mặc dù còn nhiều hạn chế tuy nhiên là các tiếp cận tốt để
minh họa những thành phần chính trong phát hiện quá trình Ngày nay có nhiều thuật toán phát hiện quá trình tốt hơn, có thể khắc phục được nhiều hạn chế của thuật toán œ Ví dụ các biến thể œ+, œ++ hoặc những thuật toán có cách tiếp cân hoàn toàn khác như khai phá di truyền, khai phá dưa trên vùng