Các thuật toán điều khiển t-ơng tranh trên hệ mạng và độ phức tạp của chúng 49... Những kết quả này gợi ý cho tác giả ứng dụng lý thuyết đồ thị để xây dựng các thuật toán điều khiển tố
Trang 1đại học quốc gia hà nội tr-ờng đại học khoa học tự nhiên
vũ trọng quế
ứng dụng lý thuyết đồ thị để khảo sát
đặc tr-ng một số lớp ngôn ngữ
và điều khiển t-ơng tranh
Chuyên ngành: Đảm bảo Toán học cho Máy tính và Hệ thống tính toán Mã số: 62.46.35.01
luận án tiến sĩ toán học
Ng-ời h-ớng dẫn khoa học
1 GS.TS Đặng Huy Ruận
2 PGS.TS Hoàng Chí Thành
Hà Nội - 2009
Trang 24
mục lục
Trang
1.2.3 Một số công cụ sinh ngôn ngữ chính quy
và mối liên hệ giữa chúng
26
Ch-ơng 2 Các thuật toán điều khiển t-ơng tranh
trên hệ mạng và độ phức tạp của chúng
49
Trang 35
2.2 Thuật toán điều khiển t-ơng tranh trên các hệ mạng điều kiện
- biến cố
51
2.2.2 Các b-ớc t-ơng tranh trên hệ mạng điều kiện - biến cố 53
2.3 Thuật toán điều khiển t-ơng tranh trên các hệ mạng vị trí -
chuyển
59
Ch-ơng 3 Độ phức tạp otomat của các thuật toán
đoán nhận ngôn ngữ
68
3.4.2 Otomat hữu hạn đơn định đoán nhận ngôn ngữ
sinh bởi chùm đầu
84
Danh mục các công trình khoa học của tác giả
liên quan đến luận án
98
Trang 4mở đầu
Lý thuyết đồ thị là một ngành khoa học ra đời rất sớm và có nhiều ứng dụng Nó đã trở thành công cụ đắc lực cho việc thiết kế các thuật toán, mô hình hình học và phân tích các hệ thống, biểu diễn các quá trình của hệ thống
Việc tổ chức thực hiện một cách nhanh chóng các quá trình xảy ra trên một hệ thống phân tán là một trong những nội dung của bài toán điều khiển hệ thống Ngoài kỹ thuật đồng bộ hoá thì kỹ thuật thực thi song song đã đ-ợc xây dựng thành công bởi I J Aalbersberg, G Rozenberg nhờ ngôn ngữ vết và bởi Hoàng Chí Thành nhờ phép đẩy trái Những kết quả này gợi ý cho tác giả ứng dụng lý thuyết đồ thị để xây dựng các thuật toán điều khiển tối -u các quá trình tuần tự trên một số hệ thống phân tán đ-ợc biểu diễn bởi các hệ mạng điều kiện - biến cố và hệ mạng vị trí - chuyển
Từ một hệ mạng đã cho chúng ta có thể xây dựng hành vi tuần tự của hệ Chúng ta có thể xây dựng đồ thị có h-ớng gán nhãn biểu diễn hành vi tuần tự của hệ mạng Trong tr-ờng hợp hành vi tuần tự có chứa các quá trình vô hạn thì kỹ thuật phủ đỉnh sẽ giúp ta hữu hạn hoá đồ thị biểu diễn hành vi của hệ
Để điều khiển t-ơng tranh các quá trình trên hệ mạng, chúng tôi xây dựng kỹ thuật ghép cạnh trên đồ thị biểu diễn hành vi của hệ mạng này Sau mỗi lần ghép cạnh ta nhận đ-ợc các quá trình với các b-ớc t-ơng tranh có nhiều hành động hơn và số b-ớc trên một quá trình sẽ giảm đi Đến khi không thể ghép cạnh đ-ợc nữa thì các b-ớc t-ơng tranh mà ta nhận đ-ợc trở thành cực đại và số b-ớc của quá trình là ít nhất có thể Khi đó, các quá trình với các b-ớc t-ơng tranh cực đại đ-ợc thực thi trong môi tr-ờng song song với thời gian ít nhất Đó chính là ý nghĩa của điều khiển tối -u mà chúng ta mong muốn
Ngôn ngữ sinh bởi hệ mạng nói riêng và ngôn ngữ hình thức nói chung đều có các cơ chế sinh ngôn ngữ Gần
đây, chúng ta cũng đã xây dựng thêm đ-ợc một số công cụ khác để sinh ngôn ngữ chính quy nh-: nguồn, biểu thức chính quy, sơ đồ sinh, chùm đầu Do vậy, việc nghiên cứu, khảo sát, tính toán độ phức tạp otomat của một số lớp ngôn ngữ đ-ợc sinh ra từ các công cụ trên vẫn là một đề tài đang đ-ợc nhiều ng-ời quan tâm M Linna đã xác định độ phức tạp otomat cho các thuật toán đoán nhận các -ngôn ngữ phi ngữ cảnh Đô phức tạp otomat của một số ngôn ngữ cũng
đ-ợc nghiên cứu bởi Đặng Huy Ruận, Đỗ Long Vân và Phan Trung Huy ở Việt Nam, việc nghiên cứu điều khiển hệ thống t-ơng tranh và độ phức tạp của ngôn ngữ hình thức đ-ợc tập trung nghiên cứu tại Viện Toán học và Tr-ờng Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội
Mục tiêu của luận án là sử dụng đồ thị định h-ớng gán nhãn để xây dựng một số thuật toán điều khiển t-ơng tranh các quá trình xảy ra trên các hệ mạng điều kiện - biến cố và trên các hệ mạng vị trí - chuyển Tác giả cũng sử dụng đồ thị để biểu diễn một số công cụ sinh ra ngôn ngữ nh-: nguồn, biểu thức chính quy, đồ thị sinh, sơ đồ sinh và chùm đầu và nghiên cứu đánh giá cận trên độ phức tạp otomat của các công cụ này Những kết quả đạt đ-ợc trên các ngôn ngữ sinh bởi các công cụ này rất có ý nghĩa
Trong bản luận án này chúng tôi đã đóng góp đ-ợc những kết quả chính sau đây:
1) Mô tả bài toán điều khiển t-ơng tranh các quá trình trên một hệ thống
2) Xây dựng đồ thị các tr-ờng hợp và ứng dụng nó để xây dựng thuật toán điều khiển t-ơng tranh các quá trình trên hệ mạng điều kiện - biến cố
3) Cải tiến thuật toán xây dựng đồ thị phủ của một hệ mạng vị trí - chuyển và ứng dụng nó để xây dựng thuật toán điều khiển t-ơng tranh trên các quá trình tuần tự xảy ra trên hệ mạng vị trí - chuyển
4) Tính toán cận trên của độ phức tạp otomat đoán nhận các ngôn ngữ sinh bởi nguồn, biểu thức chính quy, sơ
đồ sinh và chùm đầu
Ch-ơng 1 các khái niệm cơ sở
Trong ch-ơng này, chúng tôi nhắc lại một số khái niệm và các kết quả rất cơ bản của lý thuyết đồ thị, lý thuyết ngôn ngữ hình thức và otomat cùng khái niệm mạng Petri, hệ mạng điều kiện - biến cố và hệ mạng vị trí - chuyển 1.1 Đại c-ơng về đồ thị
1.1.1 Định nghĩa đồ thị
Định nghĩa 1.1: Đồ thị là một cặp G = (V, E), trong đó: V là tập hợp các đỉnh và E V V là tập hợp các cạnh Hai đỉnh cùng nằm trên một cạnh đ-ợc gọi là kề nhau Do vậy, ta có thể định nghĩa đồ thị bằng ánh xạ kề nh- sau
Định nghĩa 1.2: Đồ thị là một cặp G = (V, F), trong đó: V là tập hợp các đỉnh và F : V 2V
, đ-ợc gọi là ánh xạ kề
Ký hiệu số đỉnh của một đồ thị là n và số cạnh của đồ thị là m
1.1.2 Đ-ờng đi và chu trình
Định nghĩa 1.4: Đ-ờng đi trong đồ thị G là một dãy các đỉnh của đồ thị: < x 1 , x 2 , , x i , x j+1 , , x k-1 , x k > sao cho, mỗi đỉnh trong dãy (không kể đỉnh đầu tiên) kề với đỉnh tr-ớc nó bằng một cạnh nào đó, nghĩa là: i = 2, 3, , k-1, k
: (x i-1 ,x i) E
Chu trình là một đ-ờng đi khép kín
1.1.3 Một số cách biểu diễn đồ thị trong máy tính
a) Biểu diễn đồ thị bằng ma trận kề
Ma trận vuông An x n đ-ợc gọi là ma trận kề của đồ thị G nếu:
i, j V : A[i,j] = d, với d là số các cạnh nối đỉnh i với đỉnh j trong G
b) Biểu diễn đồ thị bằng các danh sách kề
Với mỗi đỉnh của đồ thị ta xây dựng một danh sách liên kết chứa các đỉnh kề với đỉnh này Một đồ thị đ-ợc
biểu diễn bằng một mảng các danh sách kề
1.1.4 Bài toán tìm đ-ờng đi trên đồ thị
Trang 52
Bài toán: Cho đồ thị G và hai đỉnh a, b thuộc G Có hay không một đ-ờng đi từ đỉnh a đến đỉnh b trên đồ thị G?
Thuật toán 1.1 (Xác định đ-ờng đi)
Đầu vào: Đồ thị G = (V,E) và ha đỉnh a, b thuộc V
Đầu ra: Câu trả lời: ”có / không”
1) Xây dựng ma trận kề A cho đồ thị G
2) Tính ma trận tổng các luỹ thừa T = A1
+ A2
+ + A n-1
.
3) Nếu T[a,b] 1 thì kết luận là có đ-ờng đi từ đỉnh a đến đỉnh b, ng-ợc lại thì kết luận là không có
Hiển nhiên, thuật toán trên có độ phức tạp là O(n4
)
1.1.5 Đồ thị gán nhãn
Giả sử G = (V, E) là một đồ thị và L là một tập hợp không rỗng nào đó Hàm n : E L đ-ợc gọi là hàm gán nhãn trên các cạnh của đồ thị đã cho Khi đó, mỗi cạnh e E sẽ đ-ợc gán nhãn n(e) L
1.1.6 Các thuật toán duyệt đồ thị
Phép duyệt đồ thị là một cách liệt kê tất cả các đỉnh của đồ thị này thành một danh sách tuyến tính
1) Duyệt đồ thị theo chiều sâu
Sử dụng stack S để l-u trữ các đỉnh đang duyệt và danh sách L chứa kết quả
Thuật toán 1.4 (Duyệt đồ thị theo chiều sâu)
Dữ liệu: Mảng các danh sách kề DK của đồ thị G
Kết quả: Danh sách L tất cả các đỉnh của đồ thị G
1 procedure D_SAU2 (v) ;
2 begin
5 L := L v ; { thêm v vào danh sách L }
7 push v onto S ; {nạp v lên đỉnh của S}
14 L := L x ;
20 end ;
21 BEGIN { Ch-ơng trình chính }
22 for v V do Duyet [v] := false ;
23 L := ;
25 if NOT Duyet [v] then D_SAU2 (v) ;
26 END
Độ phức tạp của thật toán duyệt theo chiều sâu là: O(n+m)
2) Duyệt đồ thị theo chiều rộng
Sử dụng hàng đợi Q để l-u trữ các đỉnh đang đ-ợc duyệt và và danh sách L chứa kết quả
Thuật toán 1.5 (Duyệt đồ thị theo chiều rộng)
Dữ liệu: Mảng các danh sách kề DK của đồ thị G
Kết quả: Danh sách L tất cả các đỉnh của đồ thị G
1 procedure D_RONG (v) ;
2 begin
4 enqueue v into Q ; {nạp v vào cuối hàng đợi Q}
10 L := L x ;
Trang 63
18 end ;
19 BEGIN { Ch-ơng trình chính }
20 for v V do Duyet [v] := false ;
21 L := ;
24 END
Độ phức tạp của thật toán duyệt theo chiều rộng
Thuật toán duyệt đồ thị theo chiều rộng cũng có độ phức tạp là: O(n+m)
1.2 Ngôn ngữ hình thức và otomat
1.2.1 Bảng chữ cái, từ và ngôn ngữ
Một tập các ký hiệu đ-ợc gọi là bảng chữ cái
Từ là một dãy các chữ cái khác rỗng thuộc một bảng chữ cái
Tích ghép của hai từ và , ký hiệu là ., là xâu đ-ợc tạo thành bằng cách ghép vào ngay sau
Ngôn ngữ là tập hợp các từ trên một bảng chữ cái nào đó
1.2.2 Một số phép toán trên ngôn ngữ
1) Tích ghép của hai ngôn ngữ
2) Hợp của hai ngôn ngữ
3) Giao của hai ngôn ngữ
4) Hiệu của hai ngôn ngữ
5) Phần bù của ngôn ngữ
6) Lặp của ngôn ngữ
7) Lặp cắt của ngôn ngữ
1.2.3 Một số công cụ sinh ngôn ngữ chính quy và mối quan hệ giữa chúng
a) Văn phạm chính quy
Định nghĩa 1.6: Văn phạm là bộ bốn G = (, V, P, S), trong đó:
- là bảng chữ cái chính,
- V là bảng chữ cái phụ,
- S là một chữ cái phụ và đ-ợc gọi là ký hiệu khởi đầu,
- P là tập hữu hạn các quy tắc dẫn xuất có dạng , với , ( V)* và , đồng thời từ phải chứa chữ cái phụ
Ta nói rằng từ x dẫn trực tiếp ra từ y, ký hiệu x y, nếu tồn tại các từ x 1 , x 2 , u, v (V)*
sao cho x = x 1 u x 2
, y = x 1 v x 2 và u v là một quy tắc dẫn xuất trong P Ta nói rằng từ x dẫn ra từ y, ký hiệu x
*
y, nếu tồn tại một dãy
các từ x 0 , x 1 , , x k (V)*
với k 0, sao cho x 0 = x, x k = y và x i xi+1, với 0 i k-1
Ngôn ngữ L(G) sinh bởi văn phạm G đ-ợc định nghĩa nh- sau: L(G) = { w w *
, S
*
w}
trong đó 1, 2 ( V)*, A V, ( V)+
và
Quy tắc cảm ngữ cảnh mà 1 = 2 = đ-ợc gọi là quy tắc phi ngữ cảnh Văn phạm G với mọi quy tắc đều là
quy tắc phi ngữ cảnh thì đ-ợc gọi là văn phạm phi ngữ cảnh
Văn phạm phi ngữ cảnh mà mỗi quy tắc của nó có dạng: A aB hoặc A a với A, B V và a đ-ợc
gọi là văn phạm chính quy Ngôn ngữ sinh bởi văn phạm chính quy đ-ợc gọi là ngôn ngữ chính quy
N Chomsky đã phân các văn phạm thành 4 lớp nh- sau:
- Lớp văn phạm loại 0 : bao gồm các văn phạm tổng quát
- Lớp văn phạm loại 1 : bao gồm các văn phạm cảm ngữ cảnh
- Lớp văn phạm loại 2 : bao gồm các văn phạm phi ngữ cảnh
- Lớp văn phạm loại 3 : bao gồm các văn phạm chính quy
Lớp có số hiệu bé chứa các lớp có số hiệu lớn hơn
b) Nguồn và một số thuật toán trên nguồn
Nguồn là một công cụ sinh ngôn ngữ dựa trên lý thuyết đồ thị và đ-ợc định nghĩa nh- sau
Định nghĩa 1.7: Nguồn là một đa đồ thị có h-ớng gán nhãn I = (V, E, s 0, F, , n), gồm V là tập các đỉnh và E là tập các
cung Trên đồ thị có một đỉnh đặc biệt s 0 gọi là đỉnh vào và đặt trong ô tròn có mũi tên, một tập con F các đỉnh đ-ợc gọi
là các đỉnh kết thúc và đặt trong các ô hình chữ nhật Hàm gán nhãn n : E {} gán cho mỗi cung của đồ thị một chữ cái thuộc tập {}
Trang 74
Cung của nguồn I mà trên đó gán ký hiệu rỗng đ-ợc gọi là cung rỗng Cung trên đó gán một chữ cái thuộc bảng chữ cái đ-ợc gọi là cung cốt yếu Đỉnh có cung cốt yếu đi vào hoặc đi ra đ-ợc gọi là đỉnh cốt yếu Ký hiệu tập
các đỉnh cốt yếu của nguồn I là D(I)
Ngôn ngữ sinh bởi một nguồn đ-ợc xác định nh- sau:
Giả sử d = < x, s 1 , s 2 , , s n , y > là một đ-ờng đi nào đó trên nguồn I Trên cung (x, s 1 ) có nhãn là chữ cái a 1, trên cung
(s 1 , s 2 ) có nhãn là chữ cái a 2 , trên cung cuối cùng có nhãn là chữ cái a n+1 , với a i ( {}) Khi đó, từ w = a1 a 2 …
a n a n+1 đ-ợc gọi là từ sinh bởi đ-ờng đi d Ký hiệu LI(x, y) là tập tất cả các từ đ-ợc sinh bởi các đ-ờng đi từ đỉnh x tới
đỉnh y Tập LI(x, y) đ-ợc xác định đệ quy nh- sau:
1) LI(x, y)
2) Nếu từ w LI(x, z) và từ đỉnh z sang đỉnh y có cung với nhãn là chữ cái a ({}) thì từ wa LI(x, y)
Định nghĩa 1.8: Tập L(I) = {w * w LI(s 0 , s), s F} đ-ợc gọi là ngôn ngữ sinh bởi nguồn I
Hai nguồn đ-ợc gọi là t-ơng đ-ơng nếu chúng sinh ra cùng một ngôn ngữ
Một số phép toán trên nguồn
Xây dựng nguồn K đơn định, đầy đủ trên bảng chữ cái t-ơng đ-ơng với nguồn I đã cho
Thuật toán 1.6 (Đơn định và đầy đủ hoá nguồn)
Với mỗi chữ cái a và mỗi đỉnh s V(I) ta xây dựng tập hợp: TI(s,a) = {u D(I) a LI(s,u)} Với mỗi
tập con các đỉnh cốt yếu C D(I) và mỗi a , ta xây dựng tập: HI(C, a) = T ( a s , )
C s II
Tập này chính là tập các
đỉnh cốt yếu kề với đỉnh thuộc C nhờ các cung có nhãn là a
Bây giờ ta xây dựng nguồn đơn định K nh- sau:
Đỉnh vào của K là đỉnh {s 0 } với s 0 là đỉnh vào của nguồn I Với mỗi đỉnh C D(I) ta xác định HI(C, a) và vẽ một cung
đi từ đỉnh C sang đỉnh HI(C, a) với nhãn là chữ cái a Tập đỉnh kết thúc F(K) = {C V(I) C F(I) }
Với cách xây dựng trên thì nguồn K là đơn định, đầy đủ và t-ơng đ-ơng với nguồn I đã cho
Định nghĩa 1.9: Nguồn K trên bảng chữ cái sinh ra ngôn ngữ là phần bù của ngôn ngữ L(I) đ-ợc gọi là nguồn bù của nguồn I
Thuật toán 1.7 (Xây dựng nguồn bù)
Ta đổi tất cả các đỉnh không kết thúc thành đỉnh kết thúc và ng-ợc lại đổi đỉnh kết thúc thành đỉnh không kết thúc thì nguồn nhận đ-ợc sẽ sinh ngôn ngữ bù của ngôn ngữ sinh bởi nguồn ban đầu
Giả sử có các nguồn I1 và I2 Ta cần xây dựng nguồn I sinh ra ngôn ngữ là giao của các ngôn ngữ do I1, I2 sinh ra
Thuật toán 1.8 (Xây dựng nguồn giao)
Để tìm nguồn giao I của các nguồn I1 và I2 ta xây dựng các đỉnh và các cung của nó nh- sau:
1) Đỉnh vào của nguồn I là: s 0 (I) = ({s 0(I1)}, {s 0(I2)})
2) Giả sử B = (C1, C2), trong đó C1 D(I1), C2 D(I2) là các tập con các đỉnh cốt yếu và a là chữ cái thuộc
Khi đó, ta xác định đỉnh C = (HI1(C1,a), HI2(C2,a)) và thêm một cung đi từ đỉnh B sang đỉnh C với nhãn là chữ cái a
3) Đỉnh (S, R) nào đó trong tập đỉnh của nguồn I vừa xây dựng đ-ợc xem là đỉnh kết thúc khi và chỉ khi: S F(I1) và R F( I2) Với cách xây dựng nh- trên, nguồn I sinh ra ngôn ngữ là giao của các ngôn ngữ do I1 và I2
sinh ra
Với hai nguồn I1 và I2 đã cho, ta cần xây dựng nguồn I sinh ra ngôn ngữ là tích ghép của các ngôn ngữ do I1 và
I2 sinh ra
Thuật toán 1.9 (Xây dựng nguồn tích ghép)
Để xây dựng nguồn tích ghép I của các nguồn I1 và I2 ta giữ nguyên cấu trúc của I1, I2 Lấy đỉnh vào của I1 là
đỉnh vào của I, các đỉnh kết thúc của nguồn I2 là các đỉnh kết thúc của nguồn I Đồng thời, từ mỗi đỉnh kết thúc của nguồn I1 ta vẽ một cung rỗng đi tới đỉnh vào của nguồn I2
Với cách xây dựng nh- trên, ngôn ngữ sinh bởi nguồn I là tích ghép của ngôn ngữ đ-ợc sinh bởi nguồn I1 và nguồn I2
c) Otomat hữu hạn và ngôn ngữ đ-ợc đoán nhận bởi otomat hữu hạn
Định nghĩa 1.10: Otomat hữu hạn đơn định trên bảng chữ cái là một bộ năm: A = (Q, , q0, , F), trong đó:
- Q là một tập hữu hạn các trạng thái,
- là bảng chữ cái vào,
- : Q Q , đ-ợc gọi là hàm chuyển trạng thái,
- q 0 Q , đ-ợc gọi là trạng thái khởi đầu,
- F Q , đ-ợc gọi là tập trạng thái kết thúc của otomat
Mỗi lần chuyển trạng thái trong otomat hữu hạn đơn định ta chỉ nhận đ-ợc một trạng thái kế tiếp Ta mở rộng hàm chuyển thành ánh xạ ’ : Q * Q nh- sau:
a) q Q đặt ’(q, ) = q ;
b) q Q, a , x * đặt ’(q, xa) = ((q,x),a)
Ngôn ngữ đ-ợc đoán nhận bởi otomat hữu hạn đơn định
Định nghĩa 1.11: Tập tất cả các từ trên bảng chữ cái vào mà mỗi từ này đ-a otomat A từ trạng thái khởi đầu đến một
trong những trạng thái kết thúc: L(A) = {x * ’(q0 ,x) F} đ-ợc gọi là ngôn ngữ đ-ợc đoán nhận bởi otomat hữu hạn đơn định A
Sau mỗi lần chuyển trạng thái ta có thể nhận đ-ợc không chỉ một trạng thái mà là một tập con các trạng thái
Trang 85
Định nghĩa 1.12: Otomat hữu hạn không đơn định trên bảng chữ cái là một bộ năm A = (Q, , q0 , , F), trong đó:
- Q là tập hữu hạn các trạng thái,
- là bảng chữ cái vào,
- : Q 2Q
, đ-ợc gọi là hàm chuyển trạng thái,
- q 0 Q , đ-ợc gọi là trạng thái khởi đầu,
- F Q , đ-ợc gọi là tập trạng thái kết thúc của otomat
Định nghĩa 1.13: Otomat hữu hạn A đ-ợc gọi là đầy đủ nếu hàm chuyển trạng thái xác định khắp nơi trên tập Q Nghĩa là:
q Q, a đều có (q,a)
hữu hạn, đơn định và đầy đủ t-ơng đ-ơng với A nh- sau:
i) Để xây dựng hàm chuyển cho otomat đơn định A’ ta xây dựng hàm hai biến TA : 2Q 2Q
nh- sau:
- q Q, a : TA({q},a) = {q' q' (q,a)}
- B Q , a , TA(B,a) =
B q
T
) , (
ii) Đặt otomat A’ = (Q’, , q0 ’, f, P) với:
Q’ = 2Q
, q 0 ’ = {q 0 }, P = {q’ Q’ q’ F } và hàm chuyển f đ-ợc xác định nh- sau: q’ Q’ , a , f(q’,a)
= TA(q',a)
Với cách xây dựng nh- trên, dễ dàng chỉ ra rằng otomat A’ là otomat hữu hạn đơn định đầy đủ và L(A’) =
L(A)
d) Sự t-ơng đ-ơng giữa nguồn và otomat hữu hạn
Từ mỗi nguồn I ta đều có thể xây dựng một otomat hữu hạn A t-ơng đ-ơng với nó và ng-ợc lại
Thuật toán 1.10 (Xây dựng otomat t-ơng đ-ơng với nguồn)
1) Xây dựng hàm TI : 2D(I) 2D(I)
nh- sau:
- a : TI(,a) = ,
- s (D(I) {s0}), a : TI({s},a) = {s' D(I) a LI(s,s')},
- q D(I), a : TI(q,a) =
q s
T
) }, ({ 2) Xác định trạng thái khởi đầu và tập trạng thái kết thúc:
- Tập {s 0 } là trạng thái khởi đầu của otomat A và ký hiệu là q 0
- Tập trạng thái kết thúc F là tập {q D(I) q F(I) }{q 0} nếu L(I) và là tập {q D(I) q F(I) } nếu L(I)
3) Otomat A = (Q, , q0, , F) với Q = 2D(I) là tập trạng thái và hàm chuyển đ-ợc xác định nh- sau:
q Q, a : (q,a) = TI(q,a)
Otomat A t-ơng đ-ơng với nguồn I đã cho Bây giờ ta thực hiện điều ng-ợc lại
Thuật toán 1.11 (Xây dựng nguồn t-ơng đ-ơng với otomat)
1) Lấy các điểm trên mặt phẳng t-ơng ứng với các trạng thái của otomat và đặt tên cho các điểm này bằng các
ký hiệu trạng thái của otomat A Đỉnh vào của nguồn I là trạng thái khởi đầu của otomat Đỉnh đ-ợc xem là đỉnh kết thúc của nguồn khi trạng thái của otomat A t-ơng ứng với nó là trạng thái kết thúc
2) q, q' Q , a : có cung nối từ đỉnh q sang đỉnh q' gán nhãn là ký hiệu a q' (q,a)
Nguồn I nhận đ-ợc t-ơng đ-ơng với otomat A đã cho
1.3 Hệ Mạng
Hệ mạng là một mô hình toán học th-ờng đ-ợc dùng để biểu diễn các hệ thống phân tán
1.3.1 Mạng Petri
Định nghĩa 1.14: Bộ ba N = (S, T; F) đ-ợc gọi là một mạng Petri nếu:
1) S và T là hai tập hợp không giao nhau
2) F (S T) (T S) là một quan hệ nhị nguyên và đ-ợc gọi là l-u đồ của mạng N
Định nghĩa 1.15: Mạng N đ-ợc gọi là đơn giản khi và chỉ khi hai phần tử khác nhau của mạng đều không có chung tập
vào và tập ra, nghĩa là: x, y N : (
x = y) (x
= y) x = y
Biến cố e có thể xảy ra trong trạng thái c nếu và chỉ nếu các điều kiện vào của e thoả mãn trong c còn các điều kiện ra thì không Khi biến cố e xảy ra, các điều kiện vào của e không thoả mãn nữa và các điều kiện ra của e bắt đầu
thoả mãn
Định nghĩa 1.16: 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
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à c-kích hoạt) nếu và chỉ nếu
e c và
e 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 kế tiếp của
c Hay nói một cách khác, c’ chính là kết quả thực hiện biến cố e
Trang 96
Ta ký hiệu: c [ e > 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ệ
Định nghĩa 1.17:
1) Quan hệ r N 2B 2B
đ-ợc định nghĩa nh- sau:
(c1, c2) rN e E : c1 [ e > c2 , gọi là quan hệ đạt đ-ợc tiến trên mạng N
2) Quan hệ R N = (r N rN )*
là một quan hệ t-ơng đ-ơng trên tập 2B
và đ-ợc gọi là quan hệ đạt đ-ợc trên mạng N Giả sử có dãy các biến cố đ-ợc kích hoạt và xuất hiện kế tiếp trên mạng N nh- sau: c0 [ e1 > c1 [ e2 > c2 [ e3 >
c3 [ e m > c m Khi đó, các tr-ờng hợp c1, c2, c3, , c m phải thuộc lớp t-ơng đ-ơng của quan hệ đạt đ-ợc R N chứa c0
Các biến cố e1, e2, e3, , e m xuất hiện một cách tuần tự trong chính lớp t-ơng đ-ơng này
1.3.2 Hệ mạng điều kiện - biến cố
1 Định nghĩa hệ mạng điều kiện - biến cố
Định nghĩa 1.18: Bộ bốn = (B, E; F, C) đ-ợc gọi là một hệ mạng điều kiện - biến cố nếu:
1) Bộ ba N = (B, E; F) là một mạng Petri đơn giản, không có phần tử cô lập và B E
2) Tập C 2B
là một lớp t-ơng đ-ơng của quan hệ đạt đ-ợc R N và đ-ợc gọi là không gian các tr-ờng hợp của 3) e E, c C để e đ-ợc kích hoạt trong c
Ngôn ngữ sinh bởi một hệ mạng điều kiện - biến cố là tập:
L() = { e1e2 e3 e m e1, e2, e3, , e m E, c1, c2, c3, , c m C : c0 [ e1 > c1 [ e2 > c2 [ e3 > c3 [ e m >
c m }
Lớp các ngôn ngữ sinh bởi các hệ mạng điều kiện - biến cố là tập con của lớp các ngôn ngữ chính quy
2 Một số tính chất của hệ mạng điều kiện - biến cố
Định nghĩa 1.19: Hệ mạng điều kiện - biến cố đ-ợc gọi là chu trình nếu và chỉ nếu: c 1 , c 2 C , (c1 , c 2) rN*
Định nghĩa 1.20: Hệ mạng điều kiện - biến cố đ-ợc gọi là sống nếu và chỉ nếu: c C , e E : c' C sao cho
(c, c') r N*
và e là c'-kích hoạt
1.3.3 Hệ mạng vị trí - chuyển
Định nghĩa 1.21: Bộ sáu = (P, T; F, K, M0, W) đ-ợc gọi là một hệ mạng vị trí - chuyển (P/T - net) nếu:
- Bộ ba (P, T; F) là một mạng Petri đơn giản,
- K : P {0, 1, 2, 3, , }, hàm cho dung l-ợng trên mỗi vị trí, với ký hiệu chỉ một đại l-ợng rất lớn (có thể vô cùng)
- W : F {1, 2, 3, , }, hàm gắn một trọng số d-ơng vào mỗi cung của mạng
- M0 : P {0, 1, 2, 3, , }, là bộ đánh dấu đầu tiên của mạng phù hợp với dung l-ợng, có nghĩa là: p P :
M0(p) K(p)
Quy luật hoạt động trên hệ mạng vị trí - chuyển đ-ợc mô tả nh- sau:
Định nghĩa 1.22:
1) ánh xạ M : P {0, 1, 2, 3, , } đ-ợc gọi là một bộ đánh dấu của mạng nếu: p P : M(p) K(p)
2) Giả sử M là một bộ đánh dấu
- Chuyển t T đ-ợc gọi là M-kích hoạt nếu:
p
t : M(p) W(p, t) và p t : M(p) K(p) - W(t, p)
- Một chuyển M-kích hoạt t hoạt động sẽ cho ta bộ đánh dấu kế tiếp M’ của M được xác định như sau:
M’(p) =
) (
) , ( ) , ( ) (
) , ( ) (
) , ( ) (
p M
p t W t p W p M
p t W p M
t p W p M
Ta nói rằng chuyển t hoạt động dẫn M tới M’ và ký hiệu: M [ t > M’
3) Giả sử R(M) là tập nhỏ nhất các bộ đánh dấu thoả mãn:
M R(M) và nếu M1 R(M) và với chuyển t nào đó mà M1[ t > M2 thì M2 R(M) R(M) đ-ợc gọi là tập các bộ đánh dấu đạt đ-ợc từ M
Quy luật hoạt động trên các hệ mạng vị trí - chuyển có thể biểu diễn đơn giản nhờ đại số tuyến tính nh- sau:
i) Với mỗi chuyển t T, ta xây dựng vectơ t : P Z
t(p) =
0
) , ( ) , (
) , (
) , (
t p W p t W
p t W
t p W
ii) Xây dựng ma trận N : P T Z với: N(p,t) = t(p)
Công thức ngắn gọn cho quy luật hoạt động trên hệ mạng nh- sau:
M [ t > M’ ( 0 M + t K ) ( M’ = M + t )
Ngôn ngữ sinh bởi một hệ mạng vị trí - chuyển là tập:
, nếu p
t \ t
, nếu p t
\ t
, nếu p
t t
, các tr-ờng hợp còn lại
, nếu p
t \ t
, nếu p t \ t
, nếu p
t t
, các tr-ờng hợp còn lại
Trang 107
L() = { t1t2 t3 t n M1, M2, M3, , Mn R(M0), t1, t2, t3, , t n T : M0 [ t1 > M1 [ t2 > M2 [ t3 > M3
[ t n > Mn }
Lớp các ngôn ngữ sinh bởi các hệ mạng vị trí - chuyển là tập con của lớp các ngôn ngữ cảm ngữ cảnh và chứa lớp các ngôn ngữ phi ngữ cảnh
Ch-ơng 2 Các thuật toán điều khiển trên hệ mạng
và độ phức tạp của chúng 2.1 Bài toán điều khiển t-ơng tranh các quá trình
Với mỗi hệ thống nào đó thì hành vi của nó mô tả những gì mà hệ thống đó có thể thực hiện đ-ợc Hành vi của một hệ thống bao gồm các quá trình xảy ra trên hệ Các quá trình đ-ợc phân thành hai loại sau đây:
1) Quá trình tuần tự: là quá trình mà các hành động trong nó đ-ợc thực hiện kế tiếp nhau
2) Quá trình t-ơng tranh: là quá trình mà trong nó có nhiều hành động có thể đ-ợc thực hiện song song với
nhau,
Quá trình t-ơng tranh bao gồm một dãy các b-ớc t-ơng tranh và môi tr-ờng để thực hiện chúng Quá trình với các b-ớc t-ơng tranh cực đại đ-ợc gọi là quá trình tối -u
Bài toán điều khiển t-ơng tranh các quá trình
Với một hệ thống đã cho, hãy xây dựng thuật toán để biến đổi các quá trình tuần tự của một hệ thống thành các quá trình t-ơng tranh tối -u t-ơng ứng Sơ đồ biến đổi t-ơng tranh đ-ợc thể hiện nh- hình vẽ d-ới đây:
Việc giải quyết bài toán điều khiển này không những chỉ ra cho chúng ta một cách thực hiện tối -u các quá trình xảy ra trên hệ thống mà còn giúp tìm ra hành vi t-ơng tranh của hệ
2.2 Thuật toán điều khiển t-ơng tranh trên các hệ mạng điều kiện - biến cố
2.2.1 Đồ thị các tr-ờng hợp
Để có cái nhìn tổng quát tất cả các quá trình xảy ra trên một hệ mạng điều kiện - biến cố, ta xây dựng đồ thị các tr-ờng hợp của hệ này
Định nghĩa 2.1: Đa đồ thị định h-ớng, gán nhãn = (C, P), với tập đỉnh là tập các tr-ờng hợp C của hệ mạng và tập
cạnh P = {(c, e , c') C E Cc [ e > c'} đ-ợc gọi là đồ thị các tr-ờng hợp của hệ mạng
Định lý 2.1: Mọi đồ thị các tr-ờng hợp của các hệ mạng điều kiện - biến cố đều liên thông và không có đỉnh nút
Định lý 2.2: Hệ mạng điều kiện - biến cố là chu trình khi và chỉ khi đồ thị các tr-ờng hợp của nó là liên thông mạnh
Định lý 2.3: Hệ mạng điều kiện - biến cố là sống khi và chỉ khi với mỗi tr-ờng hợp c C và với mỗi biến cố e E
đều có đ-ờng đi c l 1 c 1 l m c m trong đồ thị mà nhãn lm = e
2.2.2 Các b-ớc t-ơng tranh trên hệ mạng điều kiện - biến cố
Trong tình huống nào thì nhiều biến cố của hệ mạng có thể xuất hiện một cách đồng thời
Định nghĩa 2.2: Giả sử = (B, E; F, C) là một hệ mạng điều kiện - biến cố
1) Tập con các biến cố G E đ-ợc gọi là tách đ-ợc nếu:
e 1 , e 2 G : e1 e 2
e 1
e 2 = e 1
e 2
=
e 1
e 2 = e 1 e 2 =
2) Giả sử c và c' là các tr-ờng hợp của hệ mạng điều kiện - biến cố và tập các biến cố G là tách đ-ợc G đ-ợc gọi là một b-ớc t-ơng tranh từ c tới c' nếu và chỉ nếu mỗi biến cố e trong G là c-kích hoạt và c' = (c \ G) G
Ta ký hiệu là: c [ G > c'
Định lý 2.4: Giả sử tập con các biến cố G của hệ mạng điều kiện - biến cố là tách đ-ợc và c, c'là các tr-ờng hợp của
hệ Khi đó thì:
c [ G > c' (c \ c' = G) (c' \ c = G
)
Định lý trên cho chúng ta một thuật toán để tìm các b-ớc t-ơng tranh trên hệ mạng điều kiện - biến cố Song
độ phức tạp của thuật toán này là O(|E|2
.22.|B|+|E|
) Vả lại, thuật toán cũng ch-a xác định đ-ợc sự kế tiếp của các b-ớc t-ơng tranh trong một dãy nh- thế nào
Mở rộng quan hệ đạt đ-ợc trên một hệ mạng điều kiện - biến cố:
Định nghĩa 2.3: Giả sử = (B, E; F, C) là một hệ mạng điều kiện - biến cố
1) Quan hệ rN 2B 2B
đ-ợc định nghĩa nh- sau:
(c1, c2) rN G E : c1 [ G > c2 2) Quan hệ RN = (rN rN -1
)*
là một quan hệ t-ơng đ-ơng trên tập 2B
và đ-ợc gọi là quan hệ đạt đ-ợc đồng thời trên
hệ mạng
Dễ dàng chứng minh rằng, quan hệ đạt đ-ợc và quan hệ đạt đ-ợc đồng thời là bằng nhau Nh- vậy, sự tuần tự
đang ẩn chứa sự t-ơng tranh
2.2.3 Đầy đủ hoá đồ thị các tr-ờng hợp