đại học quốc gia hà nội tr-ờng đại học khoa häc tù nhiªn vị träng q øng dơng lý thuyết đồ thị để khảo sát đặc tr-ng số lớp ngôn ngữ điều khiển t-ơng tranh Chuyên ngành: Đảm bảo Toán học cho Máy tính 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 GS.TS Đặng Huy RuËn PGS.TS Hoµng ChÝ Thµnh Hµ Néi - 2009 mục lục Trang Trang phụ bìa Lời cam đoan Mục lục Danh mục thuật ngữ Danh mục hình vẽ Mở đầu 10 Ch-ơng Các khái niệm sở 15 1.1 Đại c-ơng đồ thị 15 1.1.1 Định nghĩa đồ thị 15 1.1.2 Đ-ờng đồ thị 16 1.1.3 Một số cách biểu diễn đồ thị máy tính 17 1.1.4 Bài toán đ-ờng đồ thị 18 1.1.5 Đồ thị gán nhÃn 18 1.1.6 Các thuật toán duyệt đồ thị 20 1.2 Ngôn ngữ hình thức otomat 25 1.2.1 Bảng chữ cái, từ ngôn ngữ 25 1.2.2 Các phép toán ngôn ngữ 25 1.2.3 Một số công cụ sinh ngôn ngữ quy mối liên hệ chúng 1.3 Hệ mạng 26 38 1.3.1 Mạng Petri 39 1.3.2 Hệ mạng điều kiện - biến cố 41 1.3.3 Hệ mạng vị trí - chuyển 43 1.4 Kết luận cuối ch-ơng 47 Ch-ơng Các thuật toán điều khiển t-ơng tranh 49 hệ mạng độ phức tạp chúng 2.1 Bài toán điều khiển t-ơng tranh trình 49 2.2 Thuật toán điều khiển t-ơng tranh hệ mạng điều kiện - biến cố 2.2.1 Đồ thị tr-ờng hợp 51 51 2.2.2 Các b-ớc t-ơng tranh hệ mạng điều kiện - biến cố 53 2.2.3 Đầy đủ hoá đồ thị tr-ờng hợp 55 2.3 Thuật toán điều khiển t-ơng tranh hệ mạng vị trí chuyển 2.3.1 Đồ thị phủ hệ mạng vị trí - chuyển 59 59 2.3.2 Các b-ớc t-ơng tranh hệ mạng vị trí - chuyển 62 2.3.3 Tìm b-ớc t-ơng tranh cách rút gọn đồ thị phủ 63 2.4 Kết luận cuối ch-ơng 67 Ch-ơng Độ phức tạp otomat thuật toán 68 đoán nhận ngôn ngữ 3.1 Độ phức tạp otomat nguồn 69 3.2 Độ phức tạp otomat cđa biĨu thøc chÝnh quy 70 3.2.1 BiĨu thøc quy 70 3.2.2 Xây dựng nguồn t-ơng đ-ơng với biểu thức quy 71 3.3 Độ phức tạp otomat sơ đồ sinh 72 3.3.1 Khái niệm sơ đồ sinh 72 3.3.2 Độ phức tạp otomat sơ đồ sinh 75 3.4 Độ phức tạp otomat chùm đầu 83 3.4.1 Khái niệm chùm đầu 83 3.4.2 Otomat hữu hạn đơn định đoán nhận ngôn ngữ sinh chùm đầu 3.5 Kết luận cuối ch-ơng 84 Phần kết luận 96 Danh mục công trình khoa học tác giả liên quan đến luận án Tài liệu tham khảo 98 94 100 mở đầu Lý thuyết đồ thị ngành khoa học đời sớm có nhiều ứng dụng Nó đà trở thành công cụ đắc lực cho việc thiết kế thuật toán, mô hình hình học phân tích hệ thống, biểu diễn trình hệ thống Việc tổ chức thực cách nhanh chóng trình xảy hệ thống phân tán nội dung toán điều khiển hệ thống Ngoài kỹ thuật đồng hoá kỹ thuật thực thi song song đà đ-ợc xây dựng thành công I J Aalbersberg, G Rozenberg nhờ ngôn ngữ vết Hoàng Chí Thành nhờ phép đẩy trái Những kết gợi ý cho tác giả ứng dụng lý thuyết đồ thị để xây dựng thuật toán điều khiển tối -u trình số hệ thống phân tán đ-ợc biểu diễn hệ mạng điều kiện - biến cố hệ mạng vị trí chuyển Từ hệ mạng đà cho xây dựng hành vi hệ Chúng ta xây dựng đồ thị có h-ớng gán nhÃn biểu diễn hành vi hệ mạng Trong tr-ờng hợp hành vi có chứa trình vô hạn kỹ thuật phủ đỉnh giúp ta hữu hạn hoá đồ thị biểu diễn hành vi hệ Để điều khiển t-ơng tranh trình hệ mạng, xây dựng kỹ thuật ghép cạnh đồ thị biểu diễn hành vi hệ mạng Sau lần ghép cạnh ta nhận đ-ợc trình với b-ớc t-ơng tranh có nhiều hành động số b-ớc trình giảm Đến ghép cạnh đ-ợc b-ớc t-ơng tranh mà ta nhận đ-ợc trở thành cực đại số b-ớc trình Khi đó, trình với b-ớc t-ơng tranh cực đại đ-ợc thực thi môi tr-ờng song song với thời gian Đó ý nghĩa điều khiển tối -u mà mong muốn Ngôn ngữ sinh hệ mạng nói riêng ngôn ngữ hình thức nói chung có chế sinh ngôn ngữ Gần đây, đà xây dựng thêm đ-ợc số công cụ khác để sinh ngôn ngữ quy nh-: nguồn, biểu thức 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 số lớp ngôn ngữ đ-ợc sinh từ công cụ đề tài đ-ợc nhiều ng-ời quan tâm M Linna đà xác định độ phức tạp otomat cho thuật toán đoán nhận -ngôn ngữ phi ngữ cảnh Đô phức tạp otomat số ngôn ngữ đ-ợc nghiên cứu Đặng Huy Ruận, Đỗ Long Vân Phan Trung Huy Việt Nam, việc nghiên cứu điều khiển hệ thống t-ơng tranh độ phức tạp ngôn ngữ hình thức đ-ợc tập trung nghiên cứu Viện Toán học Tr-ờng Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội Mục tiêu luận án sử dụng đồ thị định h-ớng gán nhÃn để xây dựng số thuật toán điều khiển t-ơng tranh trình xảy hệ mạng điều kiện - biến cố hệ mạng vị trí - chuyển Tác giả sử dụng đồ thị để biểu diễn số công cụ sinh ngôn ngữ nh-: nguồn, biểu thức quy, đồ thị sinh, sơ đồ sinh chùm đầu nghiên cứu đánh giá cận độ phức tạp otomat công cụ Những kết đạt đ-ợc ngôn ngữ sinh công cụ có ý nghĩa Trong luận án đà đóng góp đ-ợc kết sau đây: 1) Mô tả toán điều khiển t-ơng tranh trình hệ thống 2) Xây dựng đồ thị tr-ờng hợp ứng dụng để xây dựng thuật toán điều khiển t-ơng tranh trình 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ủ hệ mạng vị trí - chuyển ứng dụng để xây dựng thuật toán điều khiển t-ơng tranh trình xảy hệ mạng vị trí - chuyển 4) Tính toán cận độ phức tạp otomat đoán nhận ngôn ngữ sinh nguồn, biểu thức quy, sơ đồ sinh chùm đầu Ch-ơng khái niệm sở Trong ch-ơng này, nhắc lại số khái niệm kết lý thuyết đồ thị, lý thuyết ngôn ngữ hình thức otomat khái niệm mạng Petri, hệ mạng điều kiện - biến cố hệ mạng vị trí - chuyển 1.1 Đại c-ơng đồ thị 1.1.1 Định nghĩa đồ thị Định nghĩa 1.1: Đồ thị cặp G = (V, E), đó: V tập hợp đỉnh E V V tập hợp cạnh Hai đỉnh nằm cạnh đ-ợc gọi kề Do vậy, ta định nghĩa đồ thị ánh xạ kề nh- sau Định nghĩa 1.2: Đồ thị cặp G = (V, F), đó: V tập hợp đỉnh F : V 2V , đ-ợc gọi ánh xạ kề Ký hiệu số đỉnh đồ thị n số cạnh đồ thị m 1.1.2 Đ-ờng chu trình Định nghĩa 1.4: Đ-ờng đồ thị G dÃy đỉnh đồ thị: < x1, x2, , xi, xj+1, , xk-1 , xk > cho, đỉnh dÃy (không kể đỉnh đầu tiên) kề với đỉnh tr-ớc cạnh đó, nghĩa là: i = 2, 3, , k-1, k : (xi-1,xi) E Chu tr×nh đ-ờng khép kín 1.1.3 Một số cách biểu diễn đồ thị máy tính a) Biểu diễn đồ thị ma trận kề Ma trận vuông An x n đ-ợc gọi ma trận kề đồ thÞ G nÕu: i, j V : A[i,j] = d, với d số cạnh nối đỉnh i với đỉnh j G b) Biểu diễn đồ thị danh sách kề Với đỉnh đồ thị ta xây dựng danh sách liên kết chứa đỉnh kề với đỉnh Một đồ thị đ-ợc biểu diễn mảng danh sách kề 1.1.4 Bài toán tìm đ-ờng đồ thị Bài toán: Cho đồ thị G hai đỉnh a, b thuộc G Có hay không đ-ờng từ đỉnh a đến đỉnh b đồ thị G? Thuật toán 1.1 (Xác định đ-ờng đi) Đầu vào: Đồ thị G = (V,E) đỉ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 l thõa T = A1 + A2 + + An-1 3) NÕu T[a,b] th× kết luận có đ-ờng từ đỉnh a đến đỉnh b, ng-ợc lại kết luận Hiển nhiên, thuật toán có độ phức tạp O(n4) 1.1.5 Đồ thị gán nhÃn Giả sử G = (V, E) đồ thị L tập hợp không rỗng Hàm n : E L đ-ợc gọi hàm gán nhÃn cạnh đồ thị đà cho Khi đó, cạnh e E đ-ợ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ị cách liệt kê tất đỉnh đồ thị thành danh sách tuyến tính 1) Duyệt đồ thị theo chiều sâu Sử dụng stack S để l-u trữ đỉnh duyệt danh sách L chứa kết Thuật toán 1.4 (Duyệt đồ thị theo chiều sâu) Dữ liệu: Mảng danh sách kề DK đồ thị G Kết quả: Danh sách L tất đỉnh đồ thị G procedure D_SAU2 (v) ; begin S := ; Thăm_đỉnh (v) ; L := L v ; { thêm v vào danh sách L } Duyet [v] := true ; push v onto S ; {nạp v lên đỉnh S} while S begin 10 while x DK[top(S)] 11 if NOT Duyet [x] then 12 begin 13 Thăm_đỉnh (x) ; 14 L := L x ; 15 Duyet [x] := true ; 16 push x onto S ; 17 end ; 18 pop(S) ; {lo¹i bỏ phần tử đỉnh S} 19 end ; 20 end ; 21 BEGIN { Ch-ơng trình } 22 for v V Duyet [v] := false ; 23 L := ; 24 for v V 25 if NOT Duyet [v] then D_SAU2 (v) ; 26 END Độ phức tạp 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ữ đỉnh đ-ợc duyệt và danh sách L chứa kết Thuật toán 1.5 (Duyệt đồ thị theo chiều rộng) Dữ liệu: Mảng danh sách kề DK đồ thị G Kết quả: Danh sách L tất đỉnh đồ thị G procedure D_RONG (v) ; begin Q := ; enqueue v into Q ; {nạp v vào cuối hàng ®ỵi Q} Duyet [v] := true ; while Q begin dequeue x from Q ; {loại x khỏi đầu Q} Thăm_đỉnh (x) ; 10 L := L x ; 11 for u DK[x] 12 if NOT Duyet [u] then 13 begin 14 enqueue u into Q ; 15 Duyet [u] := true ; 16 end ; 17 end ; 18 end ; 19 BEGIN { Ch-ơng trình chÝnh } 20 for v V Duyet [v] := false ; 21 L := ; 22 for v V 23 if NOT Duyet [v] then D_RONG (v) ; 24 END Độ phức tạp thật toán duyệt theo chiều rộng Thuật toán duyệt đồ thị theo chiều rộng có độ phức tạp là: O(n+m) 1.2 Ngôn ngữ hình thức otomat 1.2.1 Bảng chữ cái, từ ngôn ngữ Một tập ký hiệu đ-ợc gọi bảng chữ Từ dÃy chữ khác rỗng thuộc bảng chữ Tích ghép hai từ , ký hiệu ., xâu đ-ợc tạo thành cách ghép vào sau Ngôn ngữ tập hợp từ bảng chữ 1.2.2 Một số phép toán ngôn ngữ 1) Tích ghép hai ngôn ngữ 2) Hợp hai ngôn ngữ 3) Giao hai ngôn ngữ 4) Hiệu hai ngôn ngữ 5) Phần bù ngôn ngữ 6) Lặp ngôn ngữ 7) Lặp cắt ngôn ngữ 1.2.3 Một số công cụ sinh ngôn ngữ quy mối quan hệ chúng a) Văn phạm quy Định nghĩa 1.6: Văn phạm bốn G = (, V, P, S), ®ã: - bảng chữ chính, - V bảng chữ phụ, - S chữ phụ đ-ợc gọi ký hiệu khởi đầu, - P tập hữu hạn quy tắc dẫn xuất có dạng , víi , ( V)* , đồng thời từ phải chứa chữ phụ Ta nói từ x dẫn trực tiÕp tõ y, ký hiÖu x y, nÕu tồn từ x1, x2, u, v ( V)* cho x = x1 u x2 * , y = x1 v x2 vµ u v quy tắc dẫn xuất P Ta nói r»ng tõ x dÉn tõ y, ký hiÖu x y, tồn dÃy từ x0, x1, , xk ( V)* víi k 0, cho x0 = x, xk = y vµ xi xi+1, víi i k-1 * Ngôn ngữ L(G) sinh văn phạm G đ-ợc định nghÜa nh- sau: L(G) = { w w * , S w} Văn phạm G đ-ợc gọi văn phạm cảm ngữ cảnh quy tắc có dạng 1A ®ã 2 1, ( V) , A V, ( V) Quy tắc cảm ngữ cảnh mà = = đ-ợc gọi quy tắc phi ngữ cảnh Văn phạm G với quy tắc * + quy tắc phi ngữ cảnh đ-ợc gọi văn phạm phi ngữ cảnh Văn phạm phi ngữ cảnh mà quy tắc có dạng: A aB A a víi A, B V vµ a đ-ợc gọi văn phạm quy Ngôn ngữ sinh văn phạm quy đ-ợc gọi ngôn ngữ quy N Chomsky đà phân văn phạm thành lớp nh- sau: - Lớp văn phạm loại : bao gồm văn phạm tổng quát - Lớp văn phạm loại : bao gồm văn phạm cảm ngữ cảnh - Lớp văn phạm loại : bao gồm văn phạm phi ngữ cảnh - Lớp văn phạm loại : bao gồm văn phạm quy Lớp có số hiệu bé chứa lớp có số hiệu lớn b) Nguồn số thuật toán nguồn Nguồn công cụ sinh ngôn ngữ dựa lý thuyết đồ thị đ-ợc định nghĩa nh- sau Định nghĩa 1.7: Nguồn đa đồ thị có h-ớng gán nhÃn I = (V, E, s0, F, , n), gåm V lµ tËp đỉnh E tập cung Trên đồ thị có đỉnh đặc biệt s0 gọi đỉnh vào đặt ô tròn có mũi tên, tập F đỉnh đ-ợc gọi đỉnh kết thúc đặt ô hình chữ nhật Hàm gán nhÃn n : E {} gán cho cung đồ thị chữ thuéc tËp {} Cung cña nguån I mà gán ký hiệu rỗng đ-ợc gọi cung rỗng Cung gán chữ thuộc bảng chữ đ-ợc gọi cung cốt yếu Đỉnh có cung cốt yếu vào đ-ợc gọi đỉnh cốt yếu Ký hiệu tập đỉnh cốt yếu nguồn I D(I) Ngôn ngữ sinh nguồn đ-ợc xác định nh- sau: Gi¶ sư d = < x, s1, s2, , sn, y > đ-ờng nguồn I Trên cung (x, s1) có nhÃn chữ a1, cung (s1, s2) có nhÃn chữ a2, cung cuối có nhÃn chữ an+1, với ( {}) Khi ®ã, tõ w = a1 a2 … an an+1 ®-ỵc gọi từ sinh đ-ờng d Ký hiệu LI(x, y) tập tất từ đ-ợc sinh đ-ờng 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) từ đỉnh z sang đỉnh y có cung với nhÃn chữ a ( {}) từ wa LI(x, y) Định nghĩa 1.8: TËp L(I) = {w * w LI(s0, s), s F} đ-ợc gọi ngôn ngữ sinh nguồn I Hai nguồn đ-ợc gọi t-ơng đ-ơng chúng sinh ngôn ngữ Một số phép toán nguồn Xây dựng nguồn K đơn định, đầy đủ bảng chữ t-ơng đ-ơng với nguồn I đà cho Thuật toán 1.6 (Đơn định đầy đủ hoá nguồn) Với chữ a đỉ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 tập đỉnh cốt yếu C D(I) a , ta xây dựng tập: HI(C, a) = T II ( s, a) TËp nµy tập sC đỉnh cốt yếu kề với đỉnh thuộc C nhờ cung có nhÃn a Bây ta xây dựng nguồn đơn định K nh- sau: Đỉnh vào K đỉnh {s0} với s0 đỉnh vào nguồn I Với đỉnh C D(I) ta xác định HI(C, a) vẽ cung ®i tõ ®Ønh C sang ®Ønh HI(C, a) víi nhÃn chữ a Tập đỉnh kết thúc F(K) = {C V(I) C F(I) } Với cách xây dựng nguồn K đơn định, đầy đủ t-ơng đ-ơng với nguồn I đà cho Định nghĩa 1.9: Nguồn K bảng chữ sinh ngôn ngữ phần bù ngôn ngữ L(I) đ-ợc gọi nguồn bù nguồn I Thuật toán 1.7 (Xây dựng nguồn bù) Ta đổi tất đỉnh không kết thúc thành đỉnh kết thúc ng-ợc lại đổi đỉnh kết thúc thành đỉnh không kết thúc nguồn nhận đ-ợc sinh ngôn ngữ bù ngôn ngữ sinh nguồn ban đầu Giả sử có nguồn I1 I2 Ta cần xây dựng nguồn I sinh ngôn ngữ giao ngôn ngữ I1, I2 sinh Thuật toán 1.8 (Xây dựng nguồn giao) Để tìm nguồn giao I nguồn I1 I2 ta xây dựng đỉnh cung nh- sau: 1) §Ønh vµo cđa ngn I lµ: s0(I) = ({s0(I1)}, {s0(I2)}) 2) Giả sử B = (C1, C2), C1 D(I1), C2 D(I2) tập đỉnh cốt yếu a chữ thuộc Khi đó, ta xác định đỉnh C = (HI1(C1,a), HI2(C2,a)) thêm cung từ đỉnh B sang đỉnh C với nhÃn chữ a 3) Đỉnh (S, R) tập đỉnh nguồn I vừa xây dựng đ-ợc xem đỉnh kết thúc chØ khi: S F(I1) vµ R F( I2) Với cách xây dựng nh- trên, nguồn I sinh ngôn ngữ giao ngôn ngữ I1 I2 sinh Với hai nguồn I1 I2 đà cho, ta cần xây dựng nguồn I sinh ngôn ngữ tích ghép ngôn ngữ I1 I2 sinh 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 nguồn I1 I2 ta giữ nguyên cấu trúc I1, I2 Lấy đỉnh vào I1 đỉnh vào I, đỉnh kết thúc nguồn I2 đỉnh kết thúc nguồn I Đồng thời, từ đỉnh kết thúc nguồn I1 ta vẽ cung rỗng tới đỉnh vào nguồn I2 Với cách xây dựng nh- trên, ngôn ngữ sinh nguồn I tích ghép ngôn ngữ đ-ợc sinh nguồn I1 nguồn I2 c) Otomat hữu hạn ngôn ngữ đ-ợc đoán nhận otomat hữu hạn Định nghĩa 1.10: Otomat hữu hạn đơn định bảng chữ năm: A = (Q, , q0, , F), đó: - Q tập hữu hạn trạng thái, - bảng chữ vào, - : Q Q , đ-ợc gọi hàm chuyển trạng thái, - q0 Q , đ-ợc gọi trạng thái khởi đầu, - F Q , đ-ợc gọi tập trạng thái kết thúc otomat Mỗi lần chuyển trạng thái otomat hữu hạn đơn định ta nhận đ-ợc trạng thái 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 otomat hữu hạn đơn định Định nghĩa 1.11: Tập tất từ bảng chữ vào mà từ đ-a otomat A từ trạng thái khởi đầu đến trạng thái kết thúc: L(A) = {x * (q0 ,x) F} đ-ợc gọi ngôn ngữ đ-ợc đoán nhận otomat hữu hạn đơn định A Sau lần chuyển trạng thái ta nhận đ-ợc không trạng thái mà tập trạng thái Định nghĩa 1.12: Otomat hữu hạn không đơn định bảng chữ năm A = (Q, , q0 , , F), đó: - Q tập hữu hạn trạng thái, - bảng chữ vào, - : Q 2Q , đ-ợc gọi hàm chuyển trạng thái, - q0 Q , đ-ợc gọi trạng thái khởi đầu, - F Q , đ-ợc gọi tập trạng thái kết thúc otomat Định nghĩa 1.13: Otomat hữu hạn A đ-ợc gọi đầy đủ hàm chuyển trạng thái xác định khắp nơi tập Q NghÜa lµ: q Q, a có (q,a) Giả sử A = (Q, , q0, , F) otomat hữu hạn không đơn định không đầy đủ Ta xây dựng otomat A hữu hạn, đơn định đầ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) = TA (q, a) qB ii) Đặt otomat A = (Q’, , q0’, f, P) víi: Q’ = 2Q, q0’ = {q0}, P = {q’ Q’ q’ F } 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 otomat A otomat hữu hạn đơn định đầy đủ L(A) = L(A) d) Sự t-ơng đ-ơng nguồn otomat hữu hạn Từ nguồn I ta xây dựng otomat hữu hạn A t-ơng đ-ơng với 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) = TI ({s}, a) sq 2) Xác định trạng thái khởi đầu tập trạng thái kết thúc: - Tập {s0} trạng thái khởi đầu otomat A ký hiệu q0 - Tập trạng thái kÕt thóc F lµ tËp {q D(I) q F(I) } {q0} 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) tập trạng thái 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 ta thực đ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 điểm mặt phẳng t-ơng ứng với trạng thái otomat đặt tên cho điểm ký hiệu trạng thái otomat A Đỉnh vào nguồn I trạng thái khởi đầu otomat Đỉnh đ-ợc xem đỉnh kết thúc nguồn trạng thái otomat A t-ơng ứng với 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 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 mô hình toán học th-ờng đ-ợc dùng để biểu diễn 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 mạng Petri nếu: 1) S T hai tập hợp không giao 2) F (S T) (T S) quan hệ nhị nguyên đ-ợc gọi l-u đồ mạng N Định nghĩa 1.15: Mạng N đ-ợc gọi đơn giản hai phần tử khác mạng 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 trạng thái c điều kiện vào e thoả mÃn c điều kiện không Khi biến cố e xảy ra, điều kiện vào e không thoả mÃn điều kiện e bắt đầu thoả mÃn Định nghĩa 1.16: Giả sử N = (B, E; F) mạng Petri 1) Tập c B đ-ợc gọi tr-ờng hợp 2) Giả sư e E vµ c B Ta nãi e kích hoạt đ-ợc c (hay e c-kích hoạt) e c e c = 3) Giả sử e E, c B e kích hoạt ®-ỵc c Khi ®ã, c’ = (c \ e) e đ-ợc gọi tr-ờng hợp c Hay nói cách khác, c kết qu¶ thùc hiƯn biÕn cè e Ta ký hiƯu: c [ e > c Không gian trạng thái hệ môi tr-ờng để dÃy b-ớc xảy hệ, tạo nên trình hệ Định nghĩa 1.17: 1) Quan hệ rN 2B 2B đ-ợc định nghĩa nh- sau: (c1, c2) rN e E : c1 [ e > c2 , gọi quan hệ đạt đ-ợc tiến mạng N 2) Quan hệ RN = (rN rN-1)* quan hệ t-ơng đ-ơng tập 2B đ-ợc gọi quan hệ đạt đ-ợc mạng N Giả sử có dÃy biến cố đ-ợc kích hoạt xuất mạng N nh- sau: c0 [ e1 > c1 [ e2 > c2 [ e3 > c3 [ em > cm Khi đó, tr-ờng hợp c1, c2, c3, , cm phải thuộc lớp t-ơng đ-ơng quan hệ đạt đ-ợc RN chứa c0 Các biến cố e1, e2, e3, , em xuất cách lớp t-ơng đ-ơng 1.3.2 Hệ mạng điều kiện - biến cố Đị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 hệ mạng điều kiện - biến cố nếu: 1) Bộ ba N = (B, E; F) mạng Petri đơn giản, phần tử cô lập B E 2) TËp C 2B lµ lớp t-ơng đ-ơng quan hệ đạt đ-ợc RN đ-ợc gọi không gian tr-ờng hợp 3) e E, c C ®Ĩ e đ-ợc kích hoạt c Ngôn ngữ sinh hệ mạng điều kiện - biến cố tập: L() = { e1e2 e3 em e1, e2, e3, , em E, c1, c2, c3, , cm C : c0 [ e1 > c1 [ e2 > c2 [ e3 > c3 [ em > cm } Líp c¸c ngôn ngữ sinh hệ mạng điều kiện - biến cố tập lớp ngôn ngữ chÝnh quy 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 chu trình nếu: c1, c2 C , (c1, c2) rN* Định nghĩa 1.20: Hệ mạng điều kiện - biến cố đ-ợc gọi sống vµ chØ nÕu: c C , e E : c' C cho (c, c') rN* vµ e 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 hệ mạng vÞ trÝ - chun (P/T - net) nÕu: - Bé ba (P, T; F) mạng Petri đơn giản, - K : P {0, 1, 2, 3, , }, hàm cho dung l-ợng vị trí, với ký hiệu đại l-ợng lớn (cã thĨ v« cïng) - W : F {1, 2, 3, , }, hàm gắn trọng số d-ơng vào cung mạng - M0 : P {0, 1, 2, 3, , }, lµ bé đánh dấu 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 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 đánh dÊu cđa m¹ng nÕu: p P : M(p) K(p) 2) Giả sử M đánh dấu - Chuyển t T đ-ợc gọi 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 cho ta đánh dấu M M xác định sau: M ( p ) W ( p, t ) M ( p) W (t , p) M’(p) = M ( p) W ( p, t ) W (t , p) M ( p) , nÕu p t \ t , nÕu p t \ t , p t t , tr-ờng hợp lại Ta nói chuyển t hoạt động dẫn M tíi M’ vµ ký hiƯu: M [ t > M 3) Giả sử R(M) tập nhỏ đánh dấu thoả mÃn: M R(M) M1 R(M) với chuyển t mà M1[ t > M2 M2 R(M) R(M) đ-ợc gọi tập đánh dấu đạt đ-ợc từ M Quy luật hoạt động hệ mạng vị trí - chuyển biểu diễn đơn giản nhờ đại số tuyến tính nh- sau: i) Với chuyển t T, ta xây dựng vectơ t : P Z W ( p , t ) W (t , p) t(p) = W (t , p) W ( p, t ) 0 , nÕu p t \ t , nÕu p t \ t , nÕu p t t , c¸c tr-ờng hợp lại 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 hƯ m¹ng nh- sau: M [ t > M’ ( M + t K ) ( M = M + t ) Ngôn ngữ sinh hệ mạng vị trí - chuyển tập: L() = { t1t2 t3 tn M1, M2, M3, , Mn R(M0), t1, t2, t3, , tn T : M0 [ t1 > M1 [ t2 > M2 [ t3 > M3 [ tn > Mn } Lớp ngôn ngữ sinh hệ mạng vị trí - chuyển tập lớp ngôn ngữ cảm ngữ cảnh chứa lớp ngôn ngữ phi ngữ cảnh Ch-ơng Các thuật toán điều khiển hệ mạng độ phức tạp chúng 2.1 Bài toán điều khiển t-ơng tranh trình Với hệ thống hành vi mô tả mà hệ thống thực đ-ợc Hành vi hệ thống bao gồm trình xảy hệ Các trình đ-ợc phân thành hai loại sau đây: 1) Quá trình tuần tự: trình mà hành động đ-ợc thực 2) Quá trình t-ơng tranh: trình mà có nhiều hành động đ-ợc thực song song với nhau, Quá trình t-ơng tranh bao gồm dÃy b-ớc t-ơng tranh môi tr-ờng để thực chúng Quá trình với b-ớc t-ơng tranh cực đại đ-ợc gọi trình tối -u Bài toán điều khiển t-ơng tranh trình Với hệ thống đà cho, hÃy xây dựng thuật toán để biến đổi trình hệ thống thành trình t-ơng tranh tối -u t-ơng ứng Sơ đồ biến đổi t-ơng tranh đ-ợc thể nh- hình vẽ d-ới đây: Việc giải toán điều khiển cho cách thực tối -u trình xảy hệ thống mà giúp tìm hành vi t-ơng tranh hệ 2.2 Thuật toán điều khiển t-ơng tranh hệ mạng điều kiện - biến cố 2.2.1 Đồ thị tr-ờng hợp Để có nhìn tổng quát tất trình xảy hệ mạng điều kiện - biến cố, ta xây dựng đồ thị tr-ờng hợp hệ Định nghĩa 2.1: Đa đồ thị định h-ớng, gán nhÃn = (C, P), với tập đỉnh tập tr-ờng hợp C hệ mạng tập cạnh P = {(c, e , c') C E C c [ e > c'} đ-ợc gọi đồ thị tr-ờng hợp hệ mạng Định lý 2.1: Mọi đồ thị tr-ờng hợp hệ mạng điều kiện - biến cố liên thông đỉnh nút Định lý 2.2: Hệ mạng điều kiện - biến cố chu trình đồ thị tr-ờng hợp liên thông mạnh Định lý 2.3: Hệ mạng điều kiện - biến cố sống với tr-ờng hợp c C với biến cố e E ®Ịu cã ®-êng ®i c l1 c1 lm cm đồ thị mà nhÃn lm = e 2.2.2 Các b-ớc t-ơng tranh hệ mạng điều kiện - biến cố Trong tình nhiỊu biÕn cè cđa hƯ m¹ng cã thĨ xt hiƯn cách đồng thời Định nghĩa 2.2: Giả sử = (B, E; F, C) hệ mạng điều kiƯn - biÕn cè 1) TËp c¸c biÕn cè G E đ-ợc gọi tách đ-ợc nếu: e1, e2 G : e1 e2 e1 e2 = e1 e2 = e1 e2 = e1 e2 = 2) Giả sử c c' tr-ờng hợp hệ mạng điều kiện - biến cố tập biến cố G tách đ-ợc G đ-ợc gọi b-ớc t-ơng tranh từ c tới c' biến cố e G c-kích hoạt c' = (c \ G) G Ta ký hiÖu là: c [ G > c' Định lý 2.4: Giả sử tập biến cố G hệ mạng điều kiện - biến cố tách đ-ợc c, c' tr-ờng hợp hệ Khi th×: c [ G > c' (c \ c' = G) (c' \ c = G ) Định lý cho thuật toán để tìm b-ớc t-ơng tranh hệ mạng điều kiện - biến cố Song độ phức tạp thuật toán O(|E|2.22.|B|+|E|) Vả lại, thuật toán ch-a xác định đ-ợc b-ớc t-ơng tranh mét d·y nh- thÕ nµo Më réng quan hƯ đạt đ-ợc hệ mạng điều kiện - biến cố: Định nghĩa 2.3: Giả sử = (B, E; F, C) 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µ quan hệ t-ơng đ-ơng tập 2B đ-ợc gọi quan hệ đạt đ-ợc đồng thời hệ mạng Dễ dàng chứng minh rằng, quan hệ đạt đ-ợc quan hệ đạt đ-ợc đồng thời Nh- vậy, ẩn chứa t-ơng tranh 2.2.3 Đầy đủ hoá đồ thị tr-ờng hợp Định nghĩa 2.4: Giả sử = (B, E; F, C) hệ mạng điều kiện - biến cố Ta đặt: P = { (c, G , c') C 2E C c [ G > c' } Đa đồ thị định h-ớng gán nhÃn = (C, P) đ-ợc gọi đồ thị tr-ờng hợp đầy đủ hệ mạng điều kiện - biến cố Các kết d-ới sở cho việc làm đầy đủ đồ thị tr-ờng hợp Định lý 2.5: Giả sử hệ mạng điều kiện - biến cố c1, c2, c3 C ; G1, G2 E Gi¶ sư c1 [ G1 > c2 vµ c1 [ G2 > c3 NÕu G1 G2 = vµ G = G1 G2 tách đ-ợc c2 [ G2 > c4 , c3 [ G1 > c4 vµ c1 [ G > c4 víi c4 = (c1 \ G) G Định lý 2.6: Giả sử hệ mạng ®iỊu kiƯn - biÕn cè vµ c1, c2, c3 C ; G1, G2 E NÕu c1 [ G1 > c2 c2 [ G2 > c3 G1 G2 = vµ nÕu G = G1 G2 tách đ-ợc c1 [ G > c3 Dựa vào Định lý 2.5 Định lý 2.6, đ-a thuật toán làm đầy đủ đồ thị tr-ờng hợp nh- sau Thuật toán 2.1 (Đầy đủ đồ thị tr-ờng hợp) Đầu vào: Hệ mạng điều kiÖn - biÕn cè = (B, E; F, C) Đầu ra: Đồ thị tr-ờng hợp đầy đủ hệ 1) Xây dựng đồ thị tr-ờng hợp = (C, P) với nhÃn cạnh b-ớc đơn 2) Nếu (c1, G1, c2) (c1, G2, c3) cạnh đồ thị G1 G2 = , G = G1 G2 lµ tách đ-ợc ta thêm cạnh (c1, G, c4) víi c4 = (c1 \ G) G 3) Nếu (c1, G1, c2) (c2, G2, c3) cạnh đồ thị G = G1 G2 tách đ-ợc ta thêm vào cạnh (c1, G, c3) 4) Lặp lại b-ớc 2) 3) chừng Theo thuật toán trên, sau lần ghép cạnh có nhÃn G1 G2 b-ớc 2) 3) ta bổ sung thêm cạnh míi víi b-íc t-¬ng tranh G = G1 G2 có nhiều hành động Khi ghép cạnh đ-ợc b-ớc t-ơng tranh mà ta nhận đ-ợc trở thành lớn Khi đó, trình với b-ớc t-ơng tranh cực đại đ-ợc thùc thi m«i tr-êng song song víi thêi gian Đó ý nghĩa điều khiển tối -u mà mong muốn Độ phức tạp thuật toán: Độ phức tạp thuật toán O((|C |2.|E |)3 ) Thuật toán có độ phức tạp nhỏ nhiều so với thuật toán sử dụng Định lý 2.4 2.3 Thuật toán điều khiển t-ơng tranh hệ mạng vị trí chuyển 2.3.1 Đồ thị phủ hệ mạng vị trí - chuyển Một hệ mạng vị trí - chuyển = (P, T; F, K, M0, W) cã thĨ cã nhiỊu vô hạn đánh dấu đạt đ-ợc khác Bởi vậy, ta phải tìm cách xây dựng đ-ợc đồ thị hữu hạn biểu diễn trình xảy mạng mà đánh dấu đạt đ-ợc đ-ợc biểu diễn t-ờng minh đỉnh đồ thị phủ đỉnh Thuật toán 2.2 (Xây dựng đồ thị phủ) Đầu vào: Hệ mạng vÞ trÝ - chun = (P, T; F, K, M0, W) Đầu ra: Đồ thị phủ hệ mạng vị trí - chuyển 1) Xây dựng đồ thị ban đầu gồm đỉnh V0 = M0, cung 2) Giả sử V đỉnh đồ thị nh-ng ch-a có cung từ thì: Nếu V kích hoạt chuyển t V[ t > V ta bổ sung đỉnh V cung (V, t, V) vào đồ thị Trên đ-ờng từ đỉnh V0 tới đỉnh V, tồn đỉnh V mà V' < V với vị trí p mà V(p) < V(p) toạ độ t-ơng ứng V đ-ợc thay đỉnh V đ-ợc gọi -đỉnh Trên đ-ờng từ đỉnh V0 tới đỉnh V, tồn đỉnh V mà V' = V V đỉnh treo đồ thị Nếu chuyển đ-ợc V kích hoạt V đỉnh treo 3) Lặp lại b-ớc 2) chừng Định lý 2.7 : Giả sử đồ thị phủ hệ mạng vị trí - chuyển Với dÃy hoạt động M0[t1 > M1[t2 > M2 Mk-1 [tk > Mk trªn hƯ mạng tồn đ-ờng < V0 t1 V1 t2 Vk-1 tk Vk > mµ M0 = V0 vµ Mi Vi , i = 1,2, , k 2.3.2 Các b-ớc t-ơng tranh hệ mạng vị trí - chuyển Định nghĩa 2.5: Tập chuyển U đ-ợc gọi tách ®-ỵc nÕu: t1, t2 U, t1 t2 : t1 t1 = t2 t2 = t1 t2 = t1 t2 = t1 t2 = t1 t2 = Định nghĩa 2.6: Giả sử hệ mạng vị trí - chuyển U tập chuyển Tập U đ-ợc gọi b-ớc hệ mạng tập U tách đ-ợc tồn đánh dấu M đạt đ-ợc từ M0 cho: W ( p, t ) , vµ : M(p) K(p) - W (t , p) p U : M(p) tU p U tU HiĨn nhiªn, tËp chuyển U b-ớc U tách đ-ợc tồn đánh dấu M tho¶ m·n: M + U K 2.3.3 Tìm b-ớc t-ơng tranh cách rút gọn đồ thị phủ Các kết d-ới sở cho việc rút gọn đồ thị phủ Định lý 2.8 : Giả sử hệ mạng vị trí - chuyển, đánh dấu V2, V3 R(V1), hai tập chuyển U1, U2 không giao NÕu (V1, U1, V2) vµ (V1, U2, V3) lµ hai cạnh đồ thị phủ V2 + U2 K, ®ång thêi U = U1 U2 tách đ-ợc hai cạnh (V2, U2, V4) vµ (V3, U1, V4) víi V4 = V2 + U2, thuộc đồ thị phủ V1 [ U > V4 Định lý 2.9 : Giả sử hệ mạng vị trí - chuyển, ®¸nh dÊu V2, V3 R(V1), hai tËp c¸c chun U1, U2 kh«ng giao NÕu (V1, U1, V2) (V2, U2, V3) hai cạnh đồ thị phủ , đồng thời U = U1 U2 tách đ-ợc hai cạnh (V1, U2, V4) (V4, U1, V3) víi V4 = V1 + U2, cịng thc đồ thị phủ V1 [ U > V3 Các kết đ-ợc minh hoạ qua hình vẽ d-ới đây: Dựa vào kết trên, xây dựng thuật toán nh- sau Thuật toán 2.3 (Rút gọn đồ thị phủ) Đầu vào: Hệ mạng vị trí - chuyÓn = (P, T; F, K, M0, W) Đầu ra: Đồ thị phủ rút gọn hệ mạng vị trí - chuyển 1) Xây dựng đồ thị phủ cho hệ mạng vị trí - chuyển có nhÃn cạnh b-ớc đơn (Thuật toán 3.2) 2) Nếu (V1, U1, V2) (V1, U2, V3) cạnh đồ thị với U1 U2 = vµ V2 + U2 K, tập U = U1 U2 tách đ-ợc ta bỏ bốn cạnh (V1, U1, V2), (V1, U2, V3), (V2, U2, V4) vµ (V3, U1, V4) víi V4 = V2 + U2, thêm vào cạnh (V1, U, V4) 3) Lặp lại b-ớc 2) chừng DÃy nhÃn đ-ờng đồ thị rút gọn vừa nhận đ-ợc cho ta trình t-ơng tranh mạng với b-ớc t-ơng tranh cực đại Độ phức tạp thuật toán: Độ phức tạp thuật toán O(n.|T|4), với n số đỉnh đồ thị phủ Ch-ơng Độ phức tạp otomat thuật toán đoán nhận ngôn ngữ Số trạng thái otomat đơn định có trạng thái đoán nhận ngôn ngữ đ-ợc gọi độ phức tạp otomat ngôn ngữ 3.1 Độ phức tạp otomat nguồn Giả sử = {a1, a2, , am} bảng chữ hữu hạn I = (V, E, s0, F, , n) nguồn bảng chữ Khi đó, ta xây dựng đ-ợc otomat hữu hạn đơn định A đoán nhận ngôn ngữ nguồn I sinh với độ phức tạp otomat nh- sau Định lý 3.1: Với nguồn I = (V, E, s0, F, , n) cận độ phức tạp otomat nguồn I 2|D(I)|, D(I) tập đỉnh cốt yếu nguồn I 3.2 Độ phøc t¹p otomat cđa biĨu thøc chÝnh quy 3.2.1 BiĨu thức quy Giả sử bảng chữ không rỗng hữu hạn Định nghĩa 3.1: Biểu thức quy bảng chữ đ-ợc định nghĩa đệ quy nh- sau: 1) Tập rỗng biểu thức quy, biểu diễn ngôn ngữ rỗng 2) Với chữ a a biểu thức quy bảng chữ , biểu diễn ngôn ngữ {a} 3) Nếu r, s hai biểu thức quy biểu diễn hai ngôn ngữ R S t-ơng ứng thì: (r) + (s) biểu thức quy biểu diễn ngôn ngữ R S , (r) (s) biểu thức quy biểu diễn ngôn ngữ R S , (r)+ biểu thức quy biểu diễn ngôn ngữ R+ Tập hợp từ biểu thức quy biểu diễn đ-ợc gọi ngôn ngữ sinh biểu thức quy Theo Định lý Kleene, lớp ngôn ngữ sinh biểu thức quy trùng với lớp ngôn ngữ quy 3.2.2 Xây dựng nguồn t-ơng đ-ơng với biểu thức quy Biểu thức quy E nguồn I đ-ợc gọi t-ơng đ-ơng chúng sinh ngôn ngữ Tổng số vị trí chữ xuất biểu thức quy E đ-ợc ký hiệu |E| Định lý 3.2: Với biểu thức quy E tồn nguồn I t-ơng đ-ơng với A cho: |D(I)| |E| Theo định lý trên, cận độ phức tạp otomat biểu thức quy E không lớn 2|D(I)|, D(I) tập đỉnh cốt yếu nguồn I t-ơng đ-ơng 3.3 Độ phức tạp otomat sơ đồ sinh 3.3.1 Khái niệm sơ đồ sinh Định nghĩa 3.2: §å thÞ sinh I = (V, E, s0, F, , N) bảng chữ đa đồ thị (V, E) hữu hạn có h-ớng có đỉnh nút Trên đồ thị có đỉnh đặc biệt s0 gọi đỉnh vào, tập không rỗng đỉnh F gọi tập đỉnh Hàm gán nhÃn N : E 2* gán cho cung đồ thị tập từ bảng chữ Khái niệm đồ thị sinh mở rộng thực khái niệm nguồn Giả sử d = e1, e2, , ek (k 1) lµ dÃy cạnh đ-ờng đồ thị sinh I Thế thì, từ t = t1t2 tk với ti NI(ei), i k, đ-ợc sinh đ-ờng d đồ thị sinh I Ký hiệu LI(,) tập tất từ sinh bëi mäi ®-êng ®i tõ ®Ønh tíi ®Ønh Ký hiÖu L(I) = L (s , ) tập tất từ sinh đ-ờng đồ thị sinh I từ đỉnh vào s TËp F ( I ) I I I L(I) đ-ợc gọi ngôn ngữ sinh đồ thị sinh I Định nghĩa 3.3: Sơ đồ sinh bảng chữ dÃy đồ thị sinh , chất sau đây: S = (I1, I2, , In) thoả mÃn ba tính Các đồ thị sinh I1, I2, , In đôi đỉnh chung Với cung e ®å thÞ sinh Ii (1 i n) thuéc S đẳng thức sau đ-ợc thoả mÃn: a) NIi(e) = {} t đ-ợc gọi cung rỗng b) NIi(e) = {a}, với a e đ-ợc gọi cung cốt yếu c) NIi(e) = C(L(Ij)) ta nói cung e phụ thuộc vào đồ thị sinh Ij đ-ợc gọi cung bï t d) NIi(e) = L( I k Ik ) , tr-ờng hợp ta nói cung e phụ thuộc vào đồ thị sinh Ij1, Ij2, , Ijt e đ-ợc gọi cung giao e) NIi(e) = {X Y L(Ip) vµ X tiền tố từ Y}, tr-ờng hợp ta nói cung e phụ thuộc vào đồ thị sinh Ip vµ gäi lµ cung lÊy tiỊn tè f) NIi(e) = {Z U L(Iq) vµ Z lµ hËu tè cđa tõ U} Khi ®ã ta nãi r»ng cung e phụ thuộc vào đồ thị sinh Iq gọi cung lấy hậu tố Với đồ thị sinh Ii (1 i n-1) có cung đồ thị sinh In phụ thuộc vào Đồ thị sinh Ii phụ thuộc vào đồ thị sinh Ij sơ đồ sinh S Ii chứa cung phụ thuộc vào đồ thị sinh Ij phụ thuộc vào đồ thị có chứa cung phụ thuộc vào đồ thị Ij Sự phụ thuộc đồ thị sinh sơ đồ sinh mang tính bắc cầu lan truyền phía cuối dÃy Do vậy, ta định nghĩa: Định nghĩa 3.4: Ngôn ngữ sinh sơ đồ sinh S, ký hiệu L(S), ngôn ngữ sinh đồ thị sinh cuèi cïng In d·y NghÜa lµ, L(S) = L(In) Để xác định đ-ợc độ phức tạp otomat sơ đồ sinh S, tính toán độ sâu độ phụ thuộc l(S) sơ đồ nh- sau Giả sử e cung đồ thị sinh I thuộc sơ đồ sinh S Độ sâu độ phơ thc cđa cung e, ký hiƯu lµ l(e) vµ đ-ợc xác định cách đệ quy nh- sau: 1) Nếu e cung rỗng hay cung cốt yếu đặt l(e) = 2) Nếu e cung bù phụ thuộc vào đồ thị sinh I' l(I') đà xác định l(e) = l(I') +1 3) Nếu e lµ cung lÊy tiỊn tè hay lÊy hËu tè phơ thuộc vào đồ thị I' l(I') đà xác định l(e) = l(I') +1 4) Nếu e cung giao phụ thuộc vào đồ thị sinh Ii1, Ii2, , Iik vµ l(Iit) (1 t k) đà đ-ợc xác định thì: l(e) = max {l(Iit)} t k Độ sâu độ phụ thuộc đồ thị sinh I đ-ợc lấy là: l(I) = max {l(e)} eE ( I ) Khi đó, độ sâu độ phụ thuộc l(S) sơ đồ sinh S đ-ợc định nghĩa độ sâu độ phụ thuộc đồ thị sinh cuối cùng, nghĩa l(S) = l(In) Sơ đồ sinh S đ-ợc gọi đơn giản đồ thị sinh Ii (1 i n) cña nã chØ chøa cung rỗng cung cốt yếu 3.3.2 Độ phức tạp otomat sơ đồ sinh 10 Để xác định độ phức tạp otomat sơ đồ sinh, ta xây dựng số phép biến đổi sơ đồ sinh nhận đ-ợc kết hỗ trợ sau Bổ đề 3.3: Với sơ đồ sinh đơn giản S1, S2, , Sk xây dựng sơ đồ sinh đơn giản S, cho: L(S) = k k L(S ) vµ |D(S)| | D(S ) | t t 1 t t 1 Bỉ ®Ị 3.4: Với sơ đồ sinh đơn giản S xây dựng đ-ợc sơ đồ sinh đơn giản S' cho: |D(S')| |D(S)| vµ L(S') = {X * Y L(S) , |X | = | Y|} Bổ đề 3.5: Với sơ đồ sinh S chứa cung lấy tiền tố, ta xây dựng đ-ợc sơ đồ sinh đơn giản S', cho |D(S')| < |D(S)|3 vµ L(S') = {X X lµ tiỊn tố từ thuộc đồ thị sinh Ii thuộc S} Bổ đề 3.6: Với sơ đồ sinh S chứa cung lấy hậu tố ta xây dựng đ-ợc sơ đồ sinh đơn giản S' mà |D(S')| < |D(S)|3 vµ L(S') = {X X lµ hËu tè từ thuộc đồ thị sinh Ij thuộc S} Bổ đề 3.7: Giả sử I, 1, 2, , k đồ thị sinh đỉnh chung e1, e2 , , ek cung đồ thị sinh I mà MI(ei) = L(i) với i (1 i k), vµ I1 = ek [ I ]e11,,e2 2, , , , k kết phép thay cung e đồ thị i k sinh i Thế thì, L(I1) = L(I) |D(I1)| |D(I )| + | D( ) | i i Bổ đề 3.8: Với sơ ®å sinh S kh«ng chøa cung bï lu«n cã thĨ xây dựng đ-ợc sơ đồ sinh đơn giản S' cho: L(S') = ( l ( S )1) |S |.3 L(S) |D(S')| Từ bổ đề ta có khẳng định sau Định lý 3.9: Với sơ đồ sinh S, cận độ phức tạp otomat l ( S )1 3|S |.3 3.4 Độ phức tạp otomat chùm đầu 3.4.1 Khái niệm chùm đầu Giả sử I = (V, E, s0, F, , n) đồ thị sinh thuộc sơ đồ sinh S X từ bảng chữ Ký hiệu ZI(X) = { V(I) X LI(sI,)} §ã chÝnh tập đỉnh đồ thị sinh I đạt đ-ợc nhờ từ X Định nghĩa 3.5: Đồ thị sinh I đ-ợc gọi chùm đầu nếu: 1) Không có cung tới đỉnh vào s0 đồ thị sinh I 2) Mỗi cung bù cung giao đồ thị sinh I đồ thị sinh mà I phụ thuộc cung từ đỉnh vào đồ thị sinh chứa cung Ký hiệu D+(I) tập tất đỉnh cốt yếu đồ thị sinh I đồ thị sinh sơ đồ sinh S mà I phụ thuộc 3.4.2 Otomat hữu hạn đơn định đoán nhận ngôn ngữ sinh chùm đầu Để xây dựng otomat hữu hạn đơn định có trạng thái đoán nhận đ-ợc ngôn ngữ sinh chùm đầu ta tiến hành ba b-ớc sau B-ớc 1: Nghiên cứu cấu trúc trạng thái otomat Định nghĩa hàm gi : + 2D (Ii ) cách đệ quy nh- sau: Víi tõ p , gi¶ sư ej1, ej2, , ejs tất cung bù chùm đầu Ii với chùm đầu Ijt (1 t s) hàm s gjt(p) đà đ-ợc xác định Thế th×: gi(p) = (ZIi(p) D+(Ii)) (D t 1 Một số tính chất hàm gi: Bổ đề 3.10: Giả sử p1, p2 từ khác rỗng 11 ( I jt ) \ g jt ( p)) Nếu gi(p1) gi(p2) p1 L(Ii) p2 L(Ii) Hệ 3.11: Nếu gi(p1) gi(p2) p2 C(L(Ii)) p1 C(L(Ii)) Giả sử Ii chùm đầu Khi với từ p tuỳ ý chữ a thuộc ta xác định tập hợp sau đây: 1(pa) = { a LIi(sIi,)} nÕu p = vµ = { ZIi(p) D+(Ii) a LIi(,)} ng-ợc l¹i 2(pa) = { t , t s mµ pa NIi(ejt) vµ a LIi(K(ejt),)}, 3(pa) = { t , t s mµ pa NIi(ejt) LIi(K(ejt),)} Bổ đề 3.12: Với từ p chữ a th×: Z Ii(pa) = 1(pa) 2(pa) 3(pa) Hệ 3.13: Với sơ đồ sinh đơn giản S, từ p chữ a ta có: ZS(pa) = 1(pa) Hệ 3.14: Giả sử S sơ đồ sinh đơn giản, p1, p2 từ chữ a NÕu ZS(p1) D+(S) ZS(p2) D+(S) th× ZS(p1a) D+(S) ZS(p2a) D+(S) Bổ đề 3.15: Giả sử p1 p2 từ tuỳ ý a chữ thuộc Nếu gi(p1) gi(p2) gi(p1a) gi(p2a) HƯ qu¶ 3.16: NÕu gi(p1a) gi(p2a) với từ q ta có: gi(p1q) gi(p2q) HƯ qu¶ 3.17: Gi¶ sư gi(p1) gi(p2) Khi ®ã víi mäi tõ q, nÕu p2q C(L(Ii)) th× p1q C(L(Ii)) B-íc 2: X©y dùng otomat X©y dùng otomat hữu hạn đơn định Ai t-ơng đ-ơng với chùm đầu Ii nh- sau: - Tập trạng thái Q(Ai) = {s0(Ii)} {gi(p) p } - Trạng thái khởi đầu Ai q0 = {s0(Ii)} - Hàm chuyển trạng thái f xác định nh- sau: với chữ c¸i a , 1) f (q0, a) = gi(a) 2) Gi¶ sư q Q(Ai) , q q0 Xây dựng tập hợp TIi(q,a) = {v D(Ii) s q : a LIi(s, v)}, ®ã D(Ii) tập đỉnh cốt yếu chùm đầu Ii Đây tập đỉnh kề với đỉnh tËp q nhê c¸c cung cèt yÕu cã nh·n {a} Đặt f(q,a) = g(TIi(q,a)) - Trạng thái kết thúc: trạng thái q q0 đ-ợc xem trạng thái kết thúc otomat Ai tồn nhÊt mét tõ p cho p L(Ii) vµ gi(p) = q Trạng thái q0 đ-ợc xem trạng thái kết thúc L(Ii) B-ớc 3: Chứng minh t-ơng đ-ơng otomat với chùm đầu Ta chøng minh r»ng L(Ai) = L(Ii) (3.36) Tæng kÕt lại, ta có định lý sau Định lý 3.18: Với chùm đầu I ta xây dựng otomat hữu hạn đơn định A t-ơng đ-ơng với với số trạng thái không v-ợt 22 | D ( I )| VËy cËn trªn độ phức tạp otomat chùm đầu I 22 | D ( I )| PhÇn KÕT luận Bằng cách sử dụng công cụ lý thuyết đồ thị đà xây dựng đ-ợc hai thuật toán điều khiển t-ơng tranh trình xảy hệ thống phân tán Đồng thời, kết hợp lý thuyết đồ thị với ph-ơng pháp truyền thống otomat, đà xây dựng đ-ợc otomat hữu hạn đoán nhận số lớp ngôn ngữ đánh giá cận độ phức tạp otomat cho ngôn ngữ Trong luận án này, đà đạt đ-ợc đ-ợc kết sau đây: 12 1) Bản luận án đà phát biểu toán điều khiển t-ơng tranh trình xảy hệ thống xây dựng đ-ợc thuật toán đầy đủ hoá đồ thị tr-ờng hợp hệ mạng điều kiện - biến cố Thuật toán cho đồ thị tr-ờng hợp đầy đủ hệ mạng t-ơng ứng Khi đó, dÃy nhÃn đ-ờng đồ thị tr-ờng hợp đầy đủ trình t-ơng tranh xảy hệ mạng 2) Đồng thời luận án đà xây dựng thuật toán tìm b-ớc t-ơng tranh cực đại hệ mạng vị trí chuyển nhờ đồ thị phủ Kết thuật toán chiến l-ợc điều khiển tối -u hệ thống đ-ợc biểu diễn hệ mạng vị trí - chuyển Các thuật toán biến đổi trình thành trình t-ơng tranh đ-ợc trình bày luận án chi tiết, đánh giá đ-ợc độ phức tạp tính toán dễ dàng cài đặt máy tính 3) Tính toán cận độ phức tạp otomat đoán nhận ngôn ngữ sinh nguồn, biểu thức quy, sơ đồ sinh chùm đầu Những kết đạt đ-ợc luận án phát triển cho mô hình biểu diễn khác hệ thống nh-: hệ mạng theo thời gian, hệ thống công nghệ thông minh, otomat vào - ra, otomat sác xuất áp dụng vào thực tế nh-: điều khiển tối -u dây chuyền sản xuất công nghiệp, điều khiển giao tác tìm kiếm khai phá liệu sở liệu lớn Đó ý t-ởng mà tác giả dự định nghiên cứu thêi gian s¾p tíi 13 ... vào sau Ngôn ngữ tập hợp từ bảng chữ 1.2.2 Một số phép toán ngôn ngữ 1) Tích ghép hai ngôn ngữ 2) Hợp hai ngôn ngữ 3) Giao hai ngôn ngữ 4) Hiệu hai ngôn ngữ 5) Phần bù ngôn ngữ 6) Lặp ngôn ngữ. .. có cung đồ thị sinh In phụ thuộc vào Đồ thị sinh Ii phụ thuộc vào đồ thị sinh Ij sơ đồ sinh S Ii chứa cung phụ thuộc vào đồ thị sinh Ij phụ thuộc vào đồ thị có chứa cung phụ thuộc vào đồ thị Ij... đ-ờng đồ thị 18 1.1.5 Đồ thị gán nhÃn 18 1.1.6 Các thuật toán duyệt đồ thị 20 1.2 Ngôn ngữ hình thức otomat 25 1.2.1 Bảng chữ cái, từ ngôn ngữ 25 1.2.2 Các phép toán ngôn ngữ 25 1.2.3 Một số công