Trong mọi trường hợp, nhiệm vụ chủ yếu của máy tính làđóng vai trò làm một bộ phận của một hệ thống có tổ chức cao, đồng thời đảm bảođược dòng thông tin mong muốn giữa các bộ phận làm vi
Trang 1Những lời đầu tiên
Với những dòng chữ đầu tiên này, tôi xin dành để gửi lời cảm ơn chân thành
và sâu sắc nhất tới Cố PGS.TS Trần Thọ Châu - người đã tận tình hướng dẫn, chỉbảo cho tôi từ những kiến thức trên lớp Đại học, Cao học cho đến Luận văn thạc sỹkhoa học
Tôi cũng xin gửi lời cảm ơn rất chân thành và sâu sắc tới Cô giáo, TS
Nguyễn Thị Minh Huyền – người đã tiếp tục hướng dẫn tận tình và tạo cho tôinhững điều kiện tốt nhất cho tới khi hoàn thành công việc của mình
Đồng thời, tôi xin gửi lời cảm ơn sâu sắc tới các Thầy, Cô trong Bộ môn Tinhọc, Ban Chủ nhiệm Khoa Toán – Cơ – Tin học và các Thầy, Cô, cán bộ công táctại Phòng Sau đại học những người đã tạo rất nhiều điều kiện và cho tôi những lờikhuyên vô cùng bổ ích để giúp tháo gỡ những khó khăn, vướng mắc trong quá trìnhhọc tập
Cuối cùng, xin cảm ơn tất cả những người thân yêu trong gia đình tôi cùngtoàn thể bạn bè, những người đã luôn giúp đỡ và động viên tôi mỗi khi vấp phảinhững khó khăn, bế tắc
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cánhân, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn,những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiềunguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được tríchdẫn hợp pháp
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quyđịnh cho lời cam đoan của mình
Hà Nội, ngày 14 tháng 12 năm 2012
Bùi Việt Hải
Trang 3MỤC LỤC
MỞ ĐẦU 1
Chương 1 – MẠNG PETRI CƠ SỞ VÀ MẠNG CÁC ĐIỀU KIỆN - BIẾN CỐ 4
1.1 Các khái niệm cơ bản về mạng Petri 4
1.1.1 Ví dụ về mạng Petri 4
1.1.2 Các khái niệm cơ sở 5
1.1.3 Phân loại mạng Petri 7
1.2 Mạng các điều kiện – biến cố 8
1.2.1 Các trường hợp và các bước 8
1.2.2 Hệ điều kiện - biến cố 11
1.2.3 Hệ chu trình và hệ sống 12
1.2.4 Sự tương đương của các hệ điều kiện – biến cố 13
1.2.5 Các hệ mạng an toàn và đầy đủ hóa hệ điều kiện – biến cố 15
1.2.6 Đồ thị các trường hợp 17
1.2.7 Các quá trình của hệ điều kiện – biến cố 19
Chương 2 – MẠNG VỊ TRÍ/ CHUYỂN VÀ MỘT SỐ TÍNH CHẤT CỦA MẠNG PETRI 29
2.1 Mạng vị trí chuyển 29
2.1.1 Khái niệm mạng vị trí chuyển 29
2.1.2 Mạng an toàn và quá trình chuyển mạng về mạng an toàn 32
2.1.3 Biểu diễn đại số cho các mạng Petri 33
2.1.4 Đồ thị phủ của mạng Petri 37
2.1.5 Ngôn ngữ sinh bởi lưới mạng 38
2.2 Một số tính chất của mạng Petri 40
2.2.1 Tính chất bị chặn của mạng Petri 40
2.2.2 Tính chất sống của mạng Petri 41
2.2.3 Tính chất tắc nghẽn của mạng Petri 42
2.2.4 Tính chất thuận nghịch của mạng Petri 42
Trang 4Chương 3 – ỨNG DỤNG MẠNG PETRI TRONG LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG TƯƠNG TRANH 443.1 Phương pháp đối tượng hợp tác 443.2 Sử dụng phương pháp COO giải quyết bài toán “Bữa ăn tối của các triết gia” 473.3 Trình biên dịch SYROCO dựa trên phương pháp COO 51KẾT LUẬN 53
Trang 5DANH MỤC BẢNG, HÌNH VẼ, CHỮ VIẾT TẮT
Hình 1 Mô hình mượn và trả sách thư viện
Hình 2 Mô hình chi tiết mượn và trả sách thư viện
Hình 3 Mô hình mạng đơn giản
Hình 4 Thí dụ về các bước
Hình 5 Thí dụ về tính xung đột
Hình 6 Thí dụ về các bước
Hình 7 Thí dụ về hệ sống nhưng không là chu trình
Hình 8 Ví dụ về hệ 4 mùa trong năm
Hình 9 Thí dụ hệ tương đương biểu diễn 4 mùa trong năm
Hình 10 Hệ mạng Σ và hệ mạng đầy đủ tương ứng Σ’
Hình 11 Hệ mạng an toàn nhưng không đầy đủ
Hình 12 Hệ điều kiện biến cố và đồ thị các trường hợp tương ứngHình 13 Đồ thị có hướng
Hình 14 Mô hình quá trình sản xuất và tiêu thụ
Hình 15 Sơ đồ chuyển kích hoạt và hoạt động
Hình 16 Sơ đồ chuyển không được kích hoạt
Hình 23 Thí dụ về mạng Petri thuận nghịch
Trang 6STT Ký hiệu viết tắt Minh giải
CoOperativeObjects
Object Petri Nets
11 OBCs Cấu trúc điều khiển đối tƣợng
Object Control Structure
̣ ̣ DANH MUC CÁC TƢ̀ VÀ CÁC KÝ HIÊU VIẾT TẮT
Trang 7MỞ ĐẦU
Trong đời sống hàng ngày, bên cạnh các sự kiện mà các hành động trong nóxảy ra một cách tuần tự, còn có các sự kiện mà các hành động trong nó xảy ra mộtcách không tuần tự Tương ứng với các sự kiện trên ta có các quá trình và chúngđược phân thành hai loại: các quá trình tuần tự và các quá trình không tuần tự Cácquá trình không tuần tự là cơ sở xây dựng hệ thống tương tranh
Một hệ thống được gọi là hệ tương tranh (concurrent system) nếu nó đượchợp thành từ một số hệ con (tuần tự) và có các biến cố được xảy ra một cách đồngthời Trong các hệ thống tương tranh, tại một thời điểm có thể xảy ra đồng thờinhiều hành động Các hành động này có thể không phụ thuộc vào nhau, cạnh tranhlẫn nhau trong việc sử dụng tài nguyên
Đề biểu diễn hệ tương tranh, các nhà khoa học trên thế giới đã nghiên cứu vàđưa ra các phương pháp luận như: mạng Petri được đề xuất bởi C A Petri vào năm1962; Ngôn ngữ vết (trace language) do A Mazurkiewicz đưa ra vào năm 1977;CSP (Communicating Sequential Processes) do C A R Hoare đưa ra vào năm1978; CCS (Calculus of Communicating Systems) được R Milner xây dựng vào
năm 1980; Đại số các quá trình (algebra of processes) của J A Bergstra; COSY (COncurent SYstem) do P Lauer đề xuất; Cấu trúc biến cố (event structure) của G.
Winskel…Trong đó, mạng Petri (Petri net) được biết đến như là mô hình đầu tiên
để biểu diễn hệ tương tranh được đề xuất bởi C A Petri vào năm 1962 trong Luận
án Tiến sĩ của ông “Kommunikation mit Automaten” Nếu otomat hữu hạn chỉ mô
tả được các hệ thống tuần tự thì mạng Petri, một công cụ toán học được phát triểntrên cơ sở của otomat hữu hạn, mô tả được các hệ thống không tuần tự mà trong đó
có các hệ thống tương tranh
Khái niệm mạng Petri đã được phát triển nhằm tìm kiếm những phương pháp
tự nhiên, đơn giản và có hiệu lực để mô tả, phân tích các dòng thông tin, và các dữliệu điều khiển trong các hệ xử lý thông tin Mạng Petri được sử dụng nhằm mụcđích mô hình hóa các hệ chế biến thông tin và các quá trình trên các mức độ trừutượng khác nhau, nghĩa là có thể mô hình hóa chúng một cách chi tiết nhất theo một
Trang 8ngôn ngữ thống nhất [1,2] Yêu cầu đặt ra đối với lý thuyết này là làm thế nào xâydựng được những loại máy tính có khả năng tính toán song song hoặc đồng thờiđánh giá được nhiều hàm Trong mọi trường hợp, nhiệm vụ chủ yếu của máy tính làđóng vai trò làm một bộ phận của một hệ thống có tổ chức cao, đồng thời đảm bảođược dòng thông tin mong muốn giữa các bộ phận làm việc song song của hệ thống
ấy và đương nhiên những vấn đề tính được phải chứa đựng trong đó, và hơn nữa,một số tính chất của mạng như “tính sống”, “tính an toàn” được thể hiện [1, 8]
Mạng Petri thường được áp dụng trong các lĩnh vực mà ở đó số lượng và sựphân bố của các đối tượng chuyển động là quan trọng Chẳng hạn, dữ liệu trongmáy tính, hàng hoá trong kho, tài liệu trong hệ thống hành chính, các công việcđang tiến hành ở một hệ thống sản xuất …Tại đây, mạng Petri được sử dụng để thựchiện những nhiệm vụ khác nhau như phân tích yêu cầu, mô tả chi tiết, thiết kế, kiểmtra, mô phỏng và phân tích hành vi [9] Nghĩa là, mạng Petri chỉ được sử dụng trongnhững bước đầu tiên của phát triển phần mềm (đặc tả và thiết kế), chứ không phảitrong suốt các bước thực hiện phần mềm, bởi vì chúng không phải là một ngôn ngữlập trình
Trong khi đó, lập trình hướng đối tượng là một phương pháp lấy đối tượnglàm nền tảng để xây dựng thuật giải và chương trình Việc kết hợp mạng Petri vàlập trình hướng đối tượng nhằm phát huy các điểm mạnh của mạng Petri và cáchtiếp cận hướng đối tượng có khả năng giải quyết các bài toán tương tranh
Luận văn tập trung vào tìm hiểu lý thuyết cơ bản về mạng Petri, các tính chấtđiển hình của mạng Petri thể hiện thông qua mạng vị trí/ chuyển Đồng thời, luậnvăn nghiên cứu khả năng kết hợp giữa mạng Petri và lập trình hướng đối tượngtrong một mô hình cụ thể là mô hình Đối tượng hợp tác CoOperative Objects
(COOs) Đối tượng hợp tác sử dụng lý thuyết mạng Petri để định nghĩa tính tươngtranh trong mỗi đối tượng, tương tranh giữa các đối tượng và tương tranh giữa cácđối tượng có kết nối không đồng bộ Sử dụng Đối tượng hợp tác CoOperativeObjects có thể giải được bài toán “Bữa ăn tối của các nhà triết học”
Ngoài phần Mở đầu, Phần Kết luận, nội dung luận văn được chia thành 3 chương:
Trang 9Chương 1 – Mạng Petri cơ sở và mạng các điều kiện - biến cố Chương
này trình bày các khái niệm cơ bản về mạng Petri cơ sở và mạng các hệ điều kiện –biến cố, các quá trình của hệ điều kiện – biến cố
Chương 2 - Mạng vị trí/chuyển và một số tính chất của mạng Petri.
Trong chương này, chúng tôi trình bày một cách hệ thống về mạng vị trí/chuyển vàcác tính chất của mạng Petri gồm tính chất phụ thuộc bộ đánh dấu đầu tiên và tínhchất không phụ thuộc vào bộ đánh dấu đầu tiên Trong đó, một số tính chất điểnhình của mạng Petri được đề cập là “tính bị chặn”, “tính an toàn”, “tính sống”, “tínhtắc nghẽn” và “tính thuận nghịch”
Chương 3 - Ứng dụng mạng Petri trong lập trình hướng đối tượng tương tranh Chúng tôi trình bày ứng dụng của lý thuyết mạng Petri kết hợp với lập trình
hướng đối tượng tương tranh và một ứng dụng cụ thể là mô hình Đối tượng hợp tácCoOperative Objects để giải quyết bài toán tương tranh “Bữa ăn tối của các nhà triếthọc”
Trang 10Chương 1 – MẠNG PETRI CƠ SỞ VÀ MẠNG CÁC ĐIỀU KIỆN - BIẾN CỐ
Mạng Petri là một công cụ toán học được phát triển trên cơ sở của otomathữu hạn; nhằm mô hình hóa và phân tích các hệ thống không tuần tự Mạng Petriđược đề xuất bởi C.A.Petri vào năm 1962 trong Luận án Tiến sĩ của ông Ngay từgiữa những năm 70, mạng Petri trở thành đối tượng và một trong những động lựcchính thúc đẩy việc nghiên cứu giải quyết các vấn đề về tính toán song song vàphân tán Hiện nay, mạng Petri vẫn đang được nghiên cứu phát triển mạnh mẽ vàđược áp dụng vào nhiều lĩnh vực
Mạng Petri có thể được xem như là một công cụ toán học và đồ thị đầy tiềmnăng dùng cho việc thiết kế và phân tích các hệ - sự kiện rời rạc Đồng thời, nó cũng
có thể giúp chúng ta trong việc mô hình hóa, phân tích, kiểm tra, lập lịch và đánhgiá kết quả của giai đoạn thiết kế
1.1 Các khái niệm cơ bản về mạng Petri
1.1.1 Ví dụ về mạng Petri
Việc tổ chức cho mượn và nhận trả sách ở một thư viện thông thường nhưsau: Bạn đọc có thể truy nhập vào thư viện thông qua ba bàn: bàn yêu cầu, bàn nhậnsách và bàn trả sách Trong thư viện tất cả các sách đều được để trên giá và mỗicuốn sách có một thẻ mục Bạn đọc yêu cầu: nếu cuốn sách có trong thư viện thìThủ thư lấy sách, thẻ mục của cuốn sách đó được cập nhật và bạn đọc nhận sách tạibàn nhận sách Bạn đọc trả sách: Thẻ mục của sách được cập nhật và sách được đặttrở lại giá Quy trình mượn sách và trả sách được mô tả như hình vẽ dưới đây
Bàn nhận sách
Thư viện Bàn yêu cầu
Bàn trả sáchHình 1 Mô hình mượn và trả sách thư viện
Trang 11Bổ sung vào quy trình trên hai bộ phận làm việc là: “cho mượn sách” và
“nhận lại sách” và hai thành phần thụ động là “kho sách” và “hộp thẻ mục sách đãmượn” Khi đó ta có sơ đồ thư viện như sau:
Cho mượn sách
Bàn yêu cầu Kho sách
1.1.2 Các khái niệm cơ sở
Định nghĩa 1.1.2.1: Bộ ba N = (S, T; F) được gọi là một mạng Petri nếu:
S và T là hai tập hợp không giao nhau Các phần tử của tập S được gọi là phần tử, các phần tử của tập T được gọi là T-phần tử
S-F ⊆ (S × T) ∪ (T × S) là một quan hệ nhị nguyên và được gọi là lưu đồ củamạng N
Người ta thường biểu diễn đồ thị định hướng cho mạng Petri bằng cách coimỗi phần tử của tập S ∪ T là một đỉnh của đồ thị Các S-phần tử được biểu diễnbằng các hình tròn còn các T-phần tử được biểu diễn bằng các hình vuông Quan hệlưu đồ F chính là các cung nối giữa các đỉnh tương ứng
Giả sử N là một mạng Petri Nếu không nhầm lẫn đôi khi ta viết N thay cho S
∪ T, đó chính là tập các phần tử của mạng N
i) Với mỗi x ∈ N thì:
•x = { y ∈ N (y, x) ∈ F } - được gọi là tập vào của x,
x• = { y ∈ N (x, y) ∈ F } - được gọi là tập ra của x
Trang 12iii) Phần tử x ∈ N đƣợc gọi là cô lập nếu •x ∪ x• = ∅.
iv) Mạng N đƣợc gọi là đơn giản (simple net) nếu các phần tử khác nhau không có
chung tập vào và tập ra, nghĩa là:
Giả sử N và N’ là hai mạng Petri
1) Cho một song ánh β : N → N’ Ta nói hai mạng N và N’ là β-đẳng cấu nếu:
s ∈ SN ⇔ β(s) ∈ SN’ và (x, y) ∈ FN ⇔ (β(x), β(y)) ∈ FN’
Trang 13(Điều này cũng suy ra rằng: t ∈ TN ⇔ β(t) ∈ TN’ ).
2) Hai mạng N và N’ đƣợc gọi là đẳng cấu nếu chúng là β-đẳng cấu với một song
ánh β nào đó
Hai mạng đẳng cấu với nhau thì đồ thị biểu diễn của chúng cũng đẳng cấuvới nhau và ngƣợc lại Do vậy, các mạng đẳng cấu với nhau đƣợc xem là “giốngnhau”
1.1.3 Phân loại mạng Petri
Mạng Petri đƣợc nghiên cứu một cách rộng rãi trên thế giới, hiện nay có hơn
10 loại mạng Petri khác nhau, chúng tạm đƣợc phân loại thành ba cấp bậc
• Các lớp mạng Petri loại một:
Là loại mạng đƣợc mô tả bởi các vị trí có khả năng biểu diễn giá trị đúng sai,mỗi vị trí đƣợc đánh dấu tối đa bởi một thẻ dấu không có cấu trúc (unstructuredtoken) Các mạng thuộc lớp này gồm có :
Mạng các điều kiện – biến cố (Condition / Event Systems)
Mạng cơ sở (Elementary Net Systems)
Mạng 1 – an toàn (1-safe systems)
• Các lớp mạng Petri loại hai:
Là loại mạng đƣợc mô tả bởi các vị trí có khả năng biểu diễn giá trị là một sốnguyên Mỗi vị trí đƣợc đánh dấu bởi một số thẻ dấu không có cấu trúc
(unstructured token) Đại diện cho lớp mạng này là mạng vị trí chuyển
(Place/Transition Nets)
• Các lớp mạng Petri loại ba:
Mỗi vị trí trong mạng có khả năng biểu diễn giá trị ở mức độ cao, chúngđƣợc đánh dấu bởi tập các thẻ dấu có cấu trúc
Trang 14o Mạng Petri có thời gian
đó thoả mãn, số còn lại thì không
Tập các điều kiện được thoả mãn trong một hình trạng được gọi là mộttrường hợp (case) Biến cố e có thể xuất hiện trong trường hợp c nếu các điều kiệnvào của e thuộc c còn các điều kiện ra thì không Khi biến cố e xuất hiện, các điềukiện vào của e không thoả mãn nữa còn các điều kiện ra của e bắt đầu thoả mãn
Nếu S-phần tử và T-phần tử được thể hiện như các điều kiện và các biến cốthì ta sẽ ký hiệu mạng là (B, E; F) thay cho (S, T; F)
Định nghĩa 1.2.1.1: Giả sử N = (B, E; F) là một mạng Petri.
1 Tập con c ⊆ B được gọi là một trường hợp hay trạng thái
2 Giả sử e ∈ E và c ⊆ B Ta nói rằng e là kích hoạt được trong c (hay e là kích hoạt) nếu •e ⊆ c và e• ∩ c = ∅
c-3 Giả sử e ∈ E , c ⊆ B và e là kích hoạt được trong c Khi đó, c’ = (c\•e) ∩ e•được gọi là trường hợp tiếp sau của c (c’ chính là kết quả của sự xuất hiệncủa biến cố e trong trường hợp c)
Ta viết: c [ e > c’
Một biến cố của hệ mạng có thể xảy ra nếu trong hệ có trạng thái làm thoảmãn các điều kiện trước (pre-conditions) của biến cố đó và khi ấy các điều kiện sau(post-conditions) của biến cố này chưa thoả mãn Khi biến cố xảy ra, các điều kiệntrước không thoả mãn nữa và các điều kiện sau được thoả mãn Trạng thái kế tiếpnhận được sau khi biến cố trên xảy ra phải thuộc không gian các trạng thái, để có
Trang 15thể kích hoạt các biến cố khác Không gian các trạng thái của hệ là môi trường đểdãy các bước có thể xảy ra trên hệ, tạo nên các quá trình trên hệ.
Nếu có điều kiện sau nào đó làm cản trở sự xuất hiện của e, nghĩa là •e ⊆ cvà
e•∩ c # ∅ thì ta gọi hiện tượng này là tình trạng không an toàn
Tập G ⊆ E các biến cố mà các tập vào và các tập ra của các biến cố trong G
là rời nhau thì G được gọi là tách biệt Các biến cố trong một tập tách biệt G có thểxuất hiện đồng thời trong một bước nếu mọi biến cố trong G đều được kích hoạt bởicùng một trường hợp
Định nghĩa 1.2.1.2: Giả sử N = (B, E; F) là một mạng Petri.
1 Tập các biến cố G ⊆ E được gọi là tách được nếu:
∀ e1,e2 ∈ G : e1 ≠ e2 ⇒ •e1 ∩ •e2 = e1• ∩ e2• = e1• ∩•e2 = •e1 ∩ e2• =
∅
2 Giả sử c và c’ là các trường hợp của mạng N và tập con các biến cố G là táchđược G được gọi là một bước từ c tới c’ nếu mỗi biến cố e trong G là c-kíchhoạt và c’ = (c \ •G) ∪ G•
Ta cũng ký hiệu là c [ G > c’ Bước G đã dẫn từ trường hợp c tới trường hợpc’ Nếu G chỉ chứa một biến cố G = {e} thì:
Trang 16b3 b1 e2 e3 b4
Hình 4 Thí dụ về các bướcTrong ví dụ trên:
{e1,e2} là một bước từ {b1,b2} đến {b3,b5}
{e1,e3} cũng tạo nên một bước từ {b2,b3} đến {b4,b5}
Khi thay thế các trường hợp, bước tiếp theo bước sinh ra các quá trình Nếu bướchữu hạn thì nó có thể được thể hiện bởi sự xuất hiện của các biến cố của nó theo thứ
tự tuỳ ý Do vậy, các biến cố trong một bước hữu hạn có thể thực hiện đồng thời vớinhau
Bổ đề 1.2.1.2: Giả sử N = (B, E; F) là một mạng Petri, c1, c2 là các trường hợp của
N và G là một bước hữu hạn dẫn c tới c’ Giả sử G = {e1, e2, … , ek} và <e1, e2, …, ek> là một thứ tự nào đó của các biến cố trong G Vậy thì có các trường hợp c0,c1, … , ck mà c = c0, c’ = ck và ci-1[ ei > ci với i = 1, 2, …, k
Có thể xảy ra trường hợp là hai biến cố đều được một trường hợp kích hoạtnhưng chỉ có thể xuất hiện trong các bước đơn thôi Đó là trường hợp mà hai biến
cố này có chung điều kiện vào hoặc điều kiện ra Khi đó sự xuất hiện của chúng loạitrừ lẫn nhau Các biến cố như thế được gọi là xung đột lẫn nhau (conflict) Khôngphải lúc nào cũng có thể nhận biết một cách rõ ràng rằng xung đột có xảy ra haykhông
Trang 17trước e2 thì không có xung đột giữa e1 và e3; còn nếu e2 xuất hiện trước e1 thì xảy
ra xung đột Do không có thứ tự xác định trước giữa e1 và e2 nên tình trạng này
được gọi là mập mờ
1.2.2 Hệ điều kiện - biến cố
Một mạng Petri bao gồm các điều kiện và các biến cố thì chưa đủ để mô tả
hệ thống Vì vậy ngoài mạng ta phải thêm vào các trường hợp mà ta muốn xét
Tập các trường hợp C này phải thoả các tính chất sau đây:
1 Nếu tập G ⊆ E là một bước được kích hoạt bởi trường hợp c ∈ C thì Gphải dẫn tới một trường hợp cũng thuộc C Như vậy, các bước khôngđược dẫn ra ngoài C
2 Ngược lại, nếu trường hợp c ∈ C là kết quả của bước G ⊆ E thì tình
huống mà ta đi từ đó cũng phải là một trường hợp thuộc C Hay nói mộtcách khác, nếu ta quay trở lại tìm trường hợp trước thì ta chỉ cần tìm
trong C
3 Mỗi trường hợp trong C đều có thể biến đổi (tiến trước hoặc lùi sau một
số lần) thành các trường hợp còn lại trong C
4 C phải đủ rộng để mà:
Trang 18• Mỗi điều kiện b ∈ B phải thuộc vào ít nhất một trường hợp trong
C nhưng không thuộc vào mọi trường hợp trong C Điều này giúploại trừ điều kiện cô lập và chu trình hẹp
• Mỗi biến cố e ∈ E phải có ít nhất một trường hợp trong C kíchhoạt được nó
Ta cũng loại trừ các biến cố cô lập vì sự xuất hiện của các biến cố phải quansát được Hơn nữa, ta cũng không cho phép hai điều kiện hay hai biến cố khác nhau
có chung tập vào và tập ra vì ta sẽ không phân biệt được chúng
Định nghĩa 1.2.2.1: Bộ bốn Σ = (B, E; F, C) được gọi là một hệ điều kiện - biến cố
(C/E-system) nếu:
Bộ ba (B, E; F) là một mạng Petri đơn giản, không có phần tử cô lập và B ∪ E # ∅.Tập C ⊆ P(B) là một lớp tương đương của quan hệ đạt được rΣ = (rΣ ∪ rΣ-1)*,trong đó quan hệ rΣ ⊆ P(B) × P(B) được định nghĩa như sau:
c1 rΣ c2 ⇔ ∃ G ⊆ E , c1 [ G > c2
C được gọi là không gian các trường hợp của Σ
∀e ∈ E , ∃ c ∈ C để e được kích hoạt trong c
Ví dụ:
b1 b2
b3 b4
Hình 6 Thí dụ về các bướcTrong ví dụ trên: C = {{b1} , {b2} , {b3} , {b4}} là một không gian các trường hợpcủa hệ điều kiện – biến cố
1.2.3 Hệ chu trình và hệ sống
Những yêu cầu đặt ra cho không gian các trường hợp C của hệ điều kiện biến cố Σ sẽ cụ thể hơn bằng cách thể hiện được rằng C là tập tất cả các trường hợp
Trang 19Định lý 1.2.3.1: (Wolfgang Reisig, [8])
Mọi hệ điều kiện - biến cố chu trình là sống
1.2.4 Sự tương đương của các hệ điều kiện – biến cố
Ta nói rằng hai hệ điều kiện - biến cố đã cho là tương đương nếu các trườnghợp và các bước của chúng tương ứng với nhau theo cách sau đây
Định nghĩa 1.2.4.1: Giả sử Σ và Σ’ là hai hệ điều kiện - biến cố.
1) Giả sử có hai song ánh α : CΣ → CΣ ’ và β : EΣ → EΣ ’
- Hai hệ Σ và Σ’được gọi là (α,β)-tương đương nếu:
∀ c 1 , c 2 ∈ CΣ , ∀ G ⊆ EΣ : c 1 [ G > c 2 ⇔ α(c1) [ β(G) > α(c2)
Trang 202) Hai hệ Σ và Σ’được gọi là đẳng cấu nếu hai mạng (BΣ , EΣ; FΣ) và
(BΣ ’, EΣ ’; FΣ ’) là β-đẳng cấu với song ánh β nào đó và:
c ∈ CΣ ⇔ {β(b) b ∈ c} ∈ CΣ ’
Định lý 1.2.4.1: (Wolfgang Reisig, [8])
Các hệ điều kiện - biến cố tương đương có số các trường hợp, số các biến cố và sốcác bước như nhau nhưng số các điều kiện của chúng có thể khác nhau
Ví dụ: Hai hệ điều kiện - biến cố tương đương biểu diễn các mùa trong năm
Xuân
Lập xuân
Lập hạ Hạ
Lập thu
Hình 8 Ví dụ về hệ 4 mùa trong năm
Trang 211 Điều kiện b’ được gọi là bù của điều kiện b khi và chỉ khi b = b’ và b =
Tập các điều kiện B’: s1 – xuân hoặc hạ
s 2 – xuân hoặc thu
s 3 – hạ hoặc thu
Tập các trường hợp C’: {s 1 , s 2 } = xuân , {s 1 , s 3} = hạ ,
{s 2 , s 3} = thu , ∅ = đông
Định lý 1.2.4.2: (Wolfgang Reisig, [8])
Giả sử Σ và Σ’ là hai hệ điều kiện - biến cố tương đương
1 Hệ Σ là chu trình ⇔ hệ Σ’ là chu trình
2 Hệ Σ là sống ⇔ hệ Σ’ là sống
Hệ điều kiện - biến cố tuần tự với các trường hợp bao gồm chỉ một điều kiệntương ứng với các ôtômat hữu hạn Với hai hệ như thế sự tương đương trùng với sựđẳng cấu
1.2.5 Các hệ mạng an toàn và đầy đủ hóa hệ điều kiện – biến cố
Trong phần trước chúng ta đã chỉ ra rằng biến cố sẽ không được kích hoạttrong tình trạng không an toàn Tình trạng như thế có thể loại trừ được nhờ mộtphép biến đổi tương đương trên các hệ điều kiện - biến cố Để làm việc này, ta thêm
−
vào cho mỗi điều kiện b một điều kiện bù của nó b để trong mỗi trường hợp của hệ
−
thì hoặc b hoặc b được thoả mãn.
Định nghĩa 1.2.5.1: Giả sử Σ là hệ điều kiện - biến cố và b, b’ là các điều kiện trong
Định nghĩa 1.2.5.2: Giả sử Σ là hệ điều kiện - biến cố và ký hiệu B là tập các điều
kiên trong BΣ không có bù Với mỗi điều kiện b trong B ta thêm vào điều kiện mới b Đặt quan hệ F = { (e, b ) b ∈ B ∧ (b, e) ∈ FΣ } ∪ { ( b , e) b ∈ B ∧ (e, b) ∈ FΣ }
Trang 22• •
Khi đó hệ điều kiện - biến cố ∑ = ( BΣ ∪ { b b ∈ B}, EΣ ; FΣ ∪ F, ϕ( CΣ) ) được
Mỗi điều kiện b không có bù trong Σ thì đã có bù trong ∑
Với c ∈ CΣ đặt ϕ(c) = c ∪ { b b ∈ B ∧ b ∉ c}.
−
gọi là đầy đủ của hệ Σ.
−
Định lý 1.2.5.1: (Wolfgang Reisig, [8])
Giả sử Σ là hệ điều kiện - biến cố và trường hợp c ∈ CΣ
= −
1 ∑ = ∑
2 ∀ b ∈ BΣ , ∀ c ∈ CΣ : b ∈ ϕ(c) ⇔ b ∉ ϕ(c)
3 c = ϕ(c) ∩ BΣ
Định lý 1.2.5.2: (Wolfgang Reisig, [8])
Giả sử Σ là hệ điều kiện - biến cố và tập G ⊆ EΣ và B là tập các điều kiện không có
bù trong BΣ
a) –G = •G ∪ { b b ∈ B ∧ b ∈ G• } và
G– = G• ∪ { b b ∈ B ∧ b ∈ •G }b) •G = –G ∩ BΣ , G• = G– ∩ BΣ Bây giờ ta có thể chỉ ra rằng việc làm đầy đủ một hệ điều kiện - biến cố sẽcho ta một hệ điều kiện - biến cố an toàn tương đương
Ví dụ:
Hình 10 Hệ mạng Σ và hệ mạng đầy đủ tương ứng Σ’
Trang 23b3
Định nghĩa 1.2.5.3: Giả sử Σ là hệ điều kiện - biến cố.
Hệ Σ được gọi là an toàn (safe) nếu với mỗi biến cố e ∈ EΣ và mỗi trường hợp c ∈
CΣ :
1. •e ⊆ c ⇒ e• ⊆ BΣ \ c , nghĩa là e• ∩ c = ∅
2 e• ⊆ c ⇒ •e ⊆ BΣ \ c , nghĩa là •e ∩ c = ∅
Chú ý rằng, trong định nghĩa trên mệnh đề 2 không phải bao giờ cũng suy được
từ mệnh đề 1 Chẳng hạn, xét hệ đơn giản sau đây:
Định lý 1.2.5.3: (Wolfgang Reisig, [8])
1) Mọi hệ điều kiện - biến cố đầy đủ là an toàn
2) Với mỗi hệ điều kiện - biến cố có một hệ an toàn tương đương
Để có cái nhìn tổng quát tất cả các trường hợp của một hệ điều kiện - biến
cố, ta xây dung đồ thị các trường hợp của hệ này Các đỉnh của đồ thị là các trườnghợp còn các cung chính là các bước trên hệ
Định nghĩa 1.2.6.1:
Giả sử Σ là một hệ điều kiện - biến cố và G là tập tất cả các bước của hệ này.Đặt:
Trang 24P = { (c1, G , c2) ∈ CΣ × G × CΣ c1[ G > c2 }
Đồ thị ΦΣ = (CΣ , P) được gọi là đồ thị các trường hợp của Σ.
Định lý 1.2.6.1: (Wolfgang Reisig, [8])
Hệ điều kiện - biến cố Σ là chu trình nếu đồ thị các trường hợp của nó là liênthông mạnh
Định lý 1.2.6.2: (Wolfgang Reisig, [8])
Hệ điều kiện - biến cố Σ là sống khi và chỉ khi với mỗi trường hợp c0 ∈ CΣ
và với mỗi biến cố e ∈ EΣ đều có đường đi c 0 l 1 c 1 … l n c n trong đồ thị ΦΣ mà nhãn
Hình 12 Hệ điều kiện biến cố và đồ thị các trường hợp tương ứng
Hệ này là chu trình và đồ thị các trường hợp của nó là liên thông mạnh
Định lý 1.2.6.3: (Wolfgang Reisig, [8])
Hai hệ điều kiện - biến cố là tương đương khi và chỉ khi đồ thị các trườnghợp của chúng là đẳng cấu với nhau
Không phải mọi đồ thị định hướng đều có thể thể hiện như đồ thị các trườnghợp của các hệ điều kiện - biến cố Xét đồ thị định hướng sau đây:
Trang 25c1 e1 e2 c2 c3 e3
c4
Hình 13 Đồ thị có hướng
Theo đồ thị trên thì hai biến cố e 1 và e 2 đều được trường hợp c 1 kích hoạt Nếu trong
c 1 có xung đột giữa e 1 và e 2 thì c 2 không thể kích hoạt e 2 Khi đó, trong đồ thị phải
bỏ cung (c 2 ,{e 2 }, c 4 ) Ngược lại, nếu trong c 1 không có xung đột giữa e 1 và e 2 thì c 3
có thể kích hoạt e 1 Vậy thì, trong đồ thị phải thêm cung (c 3 , {e 1 }, c 4)
Đồ thị các trường hợp trở nên rất phức tạp đối với các hệ tương tranh mạnh
Chẳng hạn, một bước chứa n biến cố sẽ sinh ra 2 n cung trong đồ thị các trường hợp.Định lý sau đây sẽ thể hiện điều đó
Định lý 1.2.6.4: (Wolfgang Reisig, [8])
Giả sử Σ là hệ điều kiện - biến cố và c1 , c 2 , c 3 ∈ CΣ , G1, G2 ⊆ EΣ
1 Nếu c 1 G1 c 2 G2 c 3 là đường đi trong đồ thị ΦΣ thì G1 ∩ G2 = ∅
2 Giả sử G1 ∩ G2 = ∅ Nếu c1 (G1 ∪ G2) c 2 là một cung trong ΦΣ thì tồn tại c
∈ CΣ sao cho c 1 G1 c G2 c 3 là đường đi trong đồ thị ΦΣ
1.2.7 Các quá trình của hệ điều kiện – biến cố
Có thể định nghĩa quá trình của hệ điều kiện - biến cố như là một đường đitrong đồ thị các trường hợp của nó Song đường đi như thế không mô tả chính xácđược cái mà ta hiểu trực quan từ quá trình Thứ tự tổng thể của các phần tử của nócũng không cho ta một thông tin nào về sự xuất hiện trước sau của các biến cố hayliệu chúng có độc lập với nhau hay không Thứ tự bộ phận mà trong đó các biến cốxuất hiện chỉ được biểu diễn gián tiếp trong đồ thị các trường hợp bởi tập tất cả cáckhả năng xuất hiện kế tiếp của các bước
Trang 26Bởi vậy, chúng ta muốn tìm một cách mô tả thích hợp hơn cho quá trình Đặcbiệt là, nó phải rõ ràng và chỉ ra được một cách tường minh rằng các biến cố có xuấthiện một cách đồng thời được không Mô tả như thế được xem như là bản ghi sựxuất hiện của các biến cố và sự thay đổi của các điều kiện Các phần tử của bản ghi
này được sắp thứ tự bộ phận nhờ quan hệ “a là điều kiện tiên quyết cho b” Hơn
nữa, sự lặp lại của chính biến cố hay chính điều kiện này được ghi lại như một phần
tử mới Có một biểu diễn thực sự đúng đắn cho các bản ghi như thế lại chính là mộtmạng
Để có thể điều khiển các quá trình được mô tả như thế, chẳng hạn “mạngđược sắp thứ tự bộ phận”, ta cần phải xét một số tính chất của tập có thứ tự bộ phận
và sau đó xét các mạng hiện Đó là các mạng được sắp thứ tự bộ phận và thích hợp
để mô tả các quá trình Sau đó, ta trình bày khái niệm quá trình và chỉ ra rằng cácquá trình có thể hợp thành và phân rã như thế nào Đồng thời, ta cũng nghiên cứumối liên hệ của chúng với đồ thị các trường hợp
Định lý 1.2.7.1.1: (Wolfgang Reisig, [8])
Giả sử A là một tập hợp và ρ là một quan hệ tương tự trên A
1 Mỗi phần tử của A phải thuộc vào một vùng của ρ
2 Các vùng của tập không rỗng A là khác rỗng và không có vùng nào là tậpcon thực sự của một vùng khác
Trang 273 Nếu ρ là quan hệ tương đương thì các vùng của ρ chính là các lớp tươngđương của nó.
Định lý 1.2.7.1.3: (Wolfgang Reisig, [8])
Với mỗi tập có thứ tự bộ phận A thì li và co là các quan hệ tương tự
Định nghĩa 1.2.7.1.3: Giả sử A là tập có thứ tự bộ phận và tập con B ⊆ A.
1 Tập con B được gọi là một đường nếu B là một vùng của quan hệ li.
2 Tập con B được gọi là một nhát cắt nếu B là một vùng của quan hệ co.
Định lý 1.2.7.1.4: (Wolfgang Reisig, [8])
Trang 28i) ∀ a, b ∈ B : ¬ (a < b ∨ b < a) và
ii) ∀ a ∈ A \ B , ∃ b ∈ B : a<b ∨ b<a
Khái niệm tập bị chặn và tập trước được định nghĩa như sau:
Định nghĩa 1.2.7.1.4: Giả sử A là tập có thứ tự bộ phận và giả sử B và C là các tập
Định lý 1.2.7.1.6: (Wolfgang Reisig, [8])
Giả sử A là tập có thứ tự bộ phận, L là một đường và D là một nhát cắt trong
A Khi đó: | L ∩ D | = 1
Tính K-trù mật của một tập có thứ tự bộ phận được định nghĩa như sau:
Định nghĩa 1.2.7.1.5: Tập có thứ tự bộ phận A được gọi là K-trù mật nếu mỗi
đường và mỗi một nhát cắt trong A đều có giao khác rỗng
Tuy nhiên, không phải tập có thứ tự bộ phận nào cũng là K-trù mật Chẳnghạn,
Trang 29Định nghĩa 1.2.7.2.1:
Mạng K = (SK, TK; FK) được gọi là một mạng hiện nếu:
1 ∀ a, b ∈ K : a FK+ b ⇔ ¬ (b FK+ a) (mạng K là phi chu trình).
2 ∀ s ∈ SK : | •s | ≤ 1 ∧ | s• | ≤ 1 (S-phần tử không rẽ nhánh)
Định lý 1.2.7.2.1: (Wolfgang Reisig, [8])
Giả sử K là một mạng hiện Quan hệ < được định nghĩa như sau:
Ký hiệu: sl(K) là tập tất cả các lát cắt của mạng hiện K
Định lý 1.2.7.2.2: (Wolfgang Reisig, [8])
Mọi mạng hiện không rỗng bị chặn đều là K-trù mật
Chú ý rằng, mạng hiện không bị chặn chưa chắc đã là K-trù mật
1.2.7.3 Các quá trình
Bây giờ chúng ta định nghĩa các quá trình của một hệ điều kiện - biến cốbằng cách sử dụng các mạng hiện bị chặn Vì mỗi hệ điều kiện - biến cố đều có thểbiến đổi thành một hệ điều kiện - biến cố an toàn tương đương, nên ta sẽ chỉ địnhnghĩa quá trình cho các hệ điều kiện - biến cố an toàn
Trang 30Các quá trình sẽ được mô tả như các ánh xạ từ các mạng hiện bị chặn vào hệđiều kiện - biến cố an toàn thoả mãn hai yêu cầu sau đây:
Định lý 1.2.7.3.1: (Wolfgang Reisig, [8])
Giả sử p : K → ∑ là một quá trình và tập con T ⊆ TK thoả mãn ∀ t 1 , t 2 ∈ T :
t 1 co t 2 Thế thì, ∃ c 1 , c 2 ∈ C∑ : c1 [ p(T) > c 2
Định nghĩa 1.2.7.3.2: Hai quá trình p1 : K1 → ∑ và p2 : K2 → ∑ của cùng một hệđiều kiện - biến cố ∑ được gọi là đẳng cấu nếu mạng hiện K1 là β-đẳng cấu vớimạng hiện K2 và: ∀ x ∈ K1 : p1(x) = p2(β(x))
Dưới đây ta không phân biệt các quá trình đẳng cấu mà ta có thể hiểu hoặc làlớp các tương đương các quá trình đẳng cấu với nhau hoặc là một đại diện nào đócủa lớp này