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

Ứ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

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

đạ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


mục lục
Trang
Trang phụ bìa

1

Lời cam đoan

2



Mục lục

4

Danh mục các thuật ngữ

6

Danh mục các hình vẽ

9

Mở đầu

10

Ch-ơng 1. Các khái niệm cơ sở

15

1.1. Đại c-ơng về đồ thị

15

1.1.1. Định nghĩa đồ thị

15

1.1.2. Đ-ờng đi trên đồ thị


16

1.1.3. Một số cách biểu diễn đồ thị trong máy tính

17

1.1.4. Bài toán đ-ờng đi trên đồ 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 và otomat

25

1.2.1. Bảng chữ cái, từ và ngôn ngữ

25

1.2.2. Các phép toán trên ngôn ngữ

25


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
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 2. Các thuật toán điều khiển t-ơng tranh

49

trên hệ mạng và độ phức tạp của chúng


4


2.1. Bài toán điều khiển t-ơng tranh các quá trình

49

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

51
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.2.3. Đầy đủ hoá đồ thị các tr-ờng hợp

55

2.3. Thuật toán điều khiển t-ơng tranh trên các hệ mạng vị trí chuyển
2.3.1. Đồ thị phủ của hệ mạng vị trí - chuyển

59
59

2.3.2. Các b-ớc t-ơng tranh trên hệ mạng vị trí - chuyển


62

2.3.3. Tìm b-ớc t-ơng tranh bằng cách rút gọn đồ thị phủ

63

2.4. Kết luận cuối ch-ơng

67

Ch-ơng 3. Độ phức tạp otomat của các thuật toán

68

đoán nhận ngôn ngữ

3.1. Độ phức tạp otomat của 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 chính quy

70

3.2.2. Xây dựng nguồn t-ơng đ-ơng với biểu thức chính quy


71

3.3. Độ phức tạp otomat của sơ đồ sinh

72

3.3.1. Khái niệm sơ đồ sinh

72

3.3.2. Độ phức tạp otomat của sơ đồ sinh

75

3.4. Độ phức tạp otomat của 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 bởi 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ác công trình khoa học của tác giả
liên quan đến luận án
Tài liệu tham khảo

98

5

94

100


mở đầ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ị:
< x1, x2, ... , xi, xj+1, ... , xk-1 , xk > 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
: (xi-1,xi) 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ị


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 + ... + An-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
3
S := ;
4
Thăm_đỉnh (v) ;
5
L := L . v ;
{ thêm v vào danh sách L }
6
Duyet [v] := true ;
7
push v onto S ;
{nạp v lên đỉnh của S}
8
while S do
9
begin
10
while x DK[top(S)] do
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 của S}
19
end ;
20 end ;
21 BEGIN
{ Ch-ơng trình chính }
22
for v V do Duyet [v] := false ;
23 L := ;
24
for v V do
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
3
Q := ;
4
enqueue v into Q ;
{nạp v vào cuối hàng đợi Q}
5
Duyet [v] := true ;
6
while Q do
7
begin
8
dequeue x from Q ;
{loại x ra khỏi đầu Q}
9
Thăm_đỉnh (x) ;
10
L := L . x ;
11
for u DK[x] do
12
if NOT Duyet [u] then

2



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 do Duyet [v] := false ;
21 L := ;
22
for v V do
23
if NOT Duyet [v] then D_RONG (v) ;
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ừ x1, x2, u, v ( V)* sao cho x = x1 u x2
*

, y = x1 v x2 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ừ x0, x1, ..., xk ( V)* với k 0, sao cho x0 = x, xk = y và xi 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}.
Văn phạm G đ-ợc gọi là văn phạm cảm ngữ cảnh nếu mỗi quy tắc của nó đều có dạng 1A 2
trong đó

1

2


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, s0, 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 s0 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 {}.

3


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, s1, s2, ... , sn, y > là một đ-ờng đi nào đó trên nguồn I. Trên cung (x, s1) có nhãn là chữ cái a1, trên cung
(s1, s2) có nhãn là chữ cái a2, ... trên cung cuối cùng có nhãn là chữ cái an+1, với ai ( {}). Khi đó, từ w = a1 a2
an an+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(s0, 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

II

( s, a) . Tập này chính là tập các

sC

đỉ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 {s0} với s0 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à: s0(I) = ({s0(I1)}, {s0(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,
- q0 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.

4


Đị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,
- q0 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) .
Giả sử A = (Q, , q0, , F) là một otomat hữu hạn không đơn định và không đầy đủ. Ta xây dựng otomat 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) =



TA (q, a) .

qB


ii) Đặt otomat A = (Q, , q0, f, P) với:
Q = 2Q, q0 = {q0}, 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) =



TI ({s}, a) .

sq

2) Xác định trạng thái khởi đầu và tập trạng thái kết thúc:
- Tập {s0} là trạng thái khởi đầu của otomat A và ký hiệu là 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) 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.

5


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ệ rN 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ệ 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 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 . . . [ em > cm. Khi đó, các tr-ờng hợp c1, c2, c3, ... , cm phải thuộc lớp t-ơng đ-ơng của quan hệ đạt đ-ợc RN chứa c0.
Các biến cố e1, e2, e3, ... , em 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 RN 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 . . . 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 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: c1, c2 C , (c1, c2) 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') rN* 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 ) 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
, nếu p t t
, các tr-ờng hợp còn lại

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

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 còn 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 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:

6


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 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 C c [ 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 l1 c1 ... lm cm 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:
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 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

7


Định nghĩa 2.4: Giả sử = (B, E; F, C) là một 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 là đồ thị các tr-ờng hợp đầy đủ của hệ mạng điều kiện - biến cố
.
Các kết quả d-ới đây là cơ sở cho việc làm đầy đủ đồ thị các tr-ờng hợp.
Định lý 2.5: Giả sử là hệ mạng điều kiện - biến cố và c1, c2, c3 C ; G1, G2 E. Giả sử c1 [ G1 > c2 và c1 [ G2 > c3.
Nếu G1 G2 = và G = G1 G2 là tách đ-ợc thì c2 [ G2 > c4 , c3 [ G1 > c4 và c1 [ G > c4 với c4 = (c1 \ G) G.
Định lý 2.6: Giả sử là hệ mạng điều kiện - biến cố và c1, c2, c3 C ; G1, G2 E. Nếu c1 [ G1 > c2 và c2 [ G2 > c3 thì G1
G2 = và nếu G = G1 G2 là tách đ-ợc thì c1 [ G > c3.
Dựa vào Định lý 2.5 và Định lý 2.6, chúng tôi đ-a ra thuật toán làm đầy đủ đồ thị các tr-ờng hợp nh- sau.
Thuật toán 2.1 (Đầy đủ đồ thị các tr-ờng hợp)
Đầu vào: Hệ mạng điều kiện - biến cố = (B, E; F, C).
Đầu ra: Đồ thị các tr-ờng hợp đầy đủ của hệ .
1) Xây dựng đồ thị các tr-ờng hợp = (C, P) với nhãn trên cạnh là các b-ớc đơn.
2) Nếu (c1, G1, c2) và (c1, G2, c3) là các cạnh của đồ thị và G1 G2 = , G = G1 G2 là tách đ-ợc thì ta thêm một cạnh
mới (c1, G, c4) với c4 = (c1 \ G) G.
3) Nếu (c1, G1, c2) và (c2, G2, c3) là các cạnh của đồ thị và G = G1 G2 là tách đ-ợc thì ta thêm vào một cạnh mới (c1, G,
c3).
4) Lặp lại các b-ớc 2) và 3) chừng nào còn có thể.
Theo thuật toán trên, sau mỗi lần ghép cạnh có nhãn G1 và G2 ở b-ớc 2) hoặc 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 hơ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 lớn 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 đang mong muốn.
Độ phức tạp của thuật toán: Độ phức tạp của thuật toán là O((|C |2.|E |)3 ). Thuật toán này có độ phức tạp nhỏ hơn rất
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 trên các hệ mạng vị trí chuyển
2.3.1. Đồ thị phủ của 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 các bộ đánh dấu đạt đ-ợc khác nhau. Bởi
vậy, ta phải tìm cách xây dựng đ-ợc một đồ thị hữu hạn biểu diễn các quá trình xảy ra trên mạng mà mỗi bộ đánh dấu
đạt đ-ợc hoặc đ-ợc biểu diễn t-ờng minh bằng một đỉnh của đồ thị hoặc được phủ bởi một đỉnh.
Thuật toán 2.2 (Xây dựng đồ thị phủ)
Đầu vào: Hệ mạng vị trí - chuyển = (P, T; F, K, M0, W).
Đầu ra: Đồ thị phủ của hệ mạng vị trí - chuyển .
1) Xây dựng đồ thị ban đầu chỉ gồm một đỉnh V0 = M0, không có cung.
2) Giả sử V là đỉnh nào đó của đồ thị nh-ng ch-a có cung nào đi ra từ nó thì:
1. Nếu V kích hoạt chuyển t nào đó và V[ t > V thì ta bổ sung đỉnh mới V và cung mới (V, t, V) vào đồ thị.
2. Trên đ-ờng từ đỉnh V0 tới đỉnh V, nếu tồn tại đỉnh V mà V' < V thì với những vị trí p mà V(p) < V(p) thì toạ
độ t-ơng ứng của V đ-ợc thay bằng và đỉnh V đ-ợc gọi là -đỉnh.
3. Trên đ-ờng từ đỉnh V0 tới đỉnh V, nếu tồn tại đỉnh V mà V' = V thì V là đỉnh treo của đồ thị.
4. Nếu không có một chuyển nào đ-ợc V kích hoạt thì V là đỉnh treo.
3) Lặp lại b-ớc 2) chừng nào còn có thể.
Định lý 2.7 : Giả sử là đồ thị phủ của hệ mạng vị trí - chuyển . Với mỗi dãy hoạt động M0[t1 > M1[t2 > M2 . . . Mk-1
[tk > Mk trên hệ mạng luôn tồn tại một đ-ờng đi < V0 t1 V1 t2 . . . Vk-1 tk Vk > trong mà M0 = V0 và Mi Vi , i =
1,2, ..., k.
2.3.2. Các b-ớc t-ơng tranh trên hệ mạng vị trí - chuyển
Định nghĩa 2.5: Tập con các chuyển U đ-ợc gọi là 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ử là một hệ mạng vị trí - chuyển và U là tập con các chuyển. Tập U đ-ợc gọi là một b-ớc trên

hệ mạng nếu tập U là tách đ-ợc và tồn tại bộ đánh dấu M đạt đ-ợc từ M0 sao 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 con các chuyển U là một b-ớc khi và chỉ khi U là tách đ-ợc và tồn tại bộ đánh dấu M thoả
mãn: 0 M + U K.
2.3.3. Tìm b-ớc t-ơng tranh bằng cách rút gọn đồ thị phủ
Các kết quả d-ới đây là cơ sở cho việc rút gọn đồ thị phủ.

8


Định lý 2.8 : Giả sử là một hệ mạng vị trí - chuyển, các bộ đánh dấu V2, V3 R(V1), hai tập con các chuyển U1, U2
không giao nhau. Nếu (V1, U1, V2) và (V1, U2, V3) là hai cạnh trên đồ thị phủ và 0 V2 + U2 K, đồng thời U = U1
U2 là tách đ-ợc thì hai cạnh (V2, U2, V4) và (V3, U1, V4) với V4 = V2 + U2, cũng thuộc đồ thị phủ và V1 [ U > V4.
Định lý 2.9 : Giả sử là một hệ mạng vị trí - chuyển, các bộ đánh dấu V2, V3 R(V1), hai tập con các chuyển U1, U2
không giao nhau. Nếu (V1, U1, V2) và
(V2, U2, V3) là hai cạnh trên đồ thị phủ , đồng thời U = U1 U2 là tách đ-ợc
thì hai cạnh (V1, U2, V4) và (V4, U1, V3) với V4 = V1 + U2, cũng thuộc đồ thị phủ và V1 [ U > V3.

Các kết quả trên đ-ợc minh hoạ qua hình vẽ d-ới đây:

Dựa vào các kết quả trên, chúng ta 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 của 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 trên cạnh là các b-ớc đơn (Thuật toán 3.2).
2) Nếu (V1, U1, V2) và (V1, U2, V3) là các cạnh của đồ thị với U1 U2 = và
0 V2 + U2 K, tập U = U1 U2 là
tách đ-ợc thì ta bỏ đi bốn cạnh (V1, U1, V2), (V1, U2, V3), (V2, U2, V4) và (V3, U1, V4) với V4 = V2 + U2, và thêm vào
cạnh mới (V1, U, V4).
3) Lặp lại các b-ớc 2) chừng nào còn có thể.
Dãy các nhãn trên các đ-ờng đi của đồ thị rút gọn vừa nhận đ-ợc sẽ cho ta các quá trình t-ơng tranh của mạng
với các b-ớc t-ơng tranh cực đại.
Độ phức tạp của thuật toán: Độ phức tạp của thuật toán là O(n.|T|4), với n là số đỉnh của đồ thị phủ.
Ch-ơng 3. Độ phức tạp otomat của các thuật toán
đoán nhận ngôn ngữ
Số trạng thái của otomat đơn định có ít trạng thái nhất đoán nhận một ngôn ngữ đ-ợc gọi là độ phức tạp otomat
của ngôn ngữ.
3.1. Độ phức tạp otomat của nguồn
Giả sử = {a1, a2,... , am} là một bảng chữ cái hữu hạn và I = (V, E, s0, F, , n) là một nguồn trên bảng chữ cái
. Khi đó, ta có thể xây dựng đ-ợc otomat hữu hạn đơn định A đoán nhận ngôn ngữ do nguồn I sinh ra với độ phức tạp
otomat nh- sau.
Định lý 3.1: Với nguồn I = (V, E, s0, F, , n) thì cận trên độ phức tạp otomat của nguồn I là 2|D(I)|, trong đó D(I) là tập
các đỉnh cốt yếu của 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 chính quy
Giả sử là một bảng chữ cái không rỗng hữu hạn.
Định nghĩa 3.1: Biểu thức chính quy trên bảng chữ cái đ-ợc định nghĩa đệ quy nh- sau:
1) Tập rỗng là một biểu thức chính quy, nó biểu diễn ngôn ngữ rỗng.

2) Với mỗi chữ cái a thì a là biểu thức chính quy trên bảng chữ cái , nó biểu diễn ngôn ngữ {a}.
3) Nếu r, s là hai biểu thức chính quy trên biểu diễn hai ngôn ngữ R và S t-ơng ứng thì:
(r) + (s) là biểu thức chính quy biểu diễn ngôn ngữ R S ,
(r) . (s) là biểu thức chính quy biểu diễn ngôn ngữ R . S ,
(r)+ là biểu thức chính quy biểu diễn ngôn ngữ R+.
Tập hợp các từ do một biểu thức chính quy biểu diễn đ-ợc gọi là ngôn ngữ sinh bởi biểu thức chính quy.
Theo Định lý Kleene, lớp các ngôn ngữ sinh bởi các biểu thức chính quy trùng với lớp các ngôn ngữ chính quy.
3.2.2. Xây dựng nguồn t-ơng đ-ơng với biểu thức chính quy
Biểu thức chính quy E và nguồn I đ-ợc gọi là t-ơng đ-ơng nếu chúng sinh ra cùng một ngôn ngữ. Tổng số vị
trí của các chữ cái xuất hiện trong biểu thức chính quy E đ-ợc ký hiệu là |E|.
Định lý 3.2: Với mọi biểu thức chính quy E luôn tồn tại một nguồn I t-ơng đ-ơng với A sao cho: |D(I)| |E|.
Theo định lý trên, cận trên của độ phức tạp otomat của biểu thức chính quy E không lớn hơn 2|D(I)|, trong đó
D(I) là tập các đỉnh cốt yếu của nguồn I t-ơng đ-ơng.
3.3. Độ phức tạp otomat của sơ đồ sinh
3.3.1. Khái niệm sơ đồ sinh

9


Định nghĩa 3.2: Đồ thị sinh I = (V, E, s0, F, , N) trên bảng chữ cái là một đa đồ thị (V, E) hữu hạn có h-ớng và có
thể có đỉnh nút. Trên đồ thị này có một đỉnh đặc biệt s0 gọi là đỉnh vào, một tập con không rỗng các đỉnh F gọi là tập
đỉnh ra. Hàm gán nhãn N : E 2* gán cho mỗi cung của đồ thị một tập các từ trên bảng chữ cái .
Khái niệm đồ thị sinh là mở rộng thực sự của khái niệm nguồn.
Giả sử d = e1, e2, ..., ek (k 1) là một dãy các cạnh trên đ-ờng đi nào đó trong đồ thị sinh I. Thế thì, từ t = t1t2 ...tk
với ti NI(ei), 1 i k, đ-ợc sinh bởi đ-ờng đi d trên đồ thị sinh I. Ký hiệu LI(,) là tập tất cả các từ sinh bởi mọi
đ-ờng đi từ đỉnh tới đỉnh .
Ký hiệu L(I) =

L (s , ) là tập tất cả các từ sinh bởi mọi đ-ờng đi trên đồ thị sinh I đi từ đỉnh vào s . Tập


F ( I )

I

I

I

L(I) đ-ợc gọi là ngôn ngữ sinh bởi đồ thị sinh I.
Định nghĩa 3.3: Sơ đồ sinh trên bảng chữ cái là một dãy các đồ thị sinh trên ,
chất sau đây:

S = (I1, I2, ... , In) thoả mãn ba tính

1. Các đồ thị sinh I1, I2, ... , In từng đôi một không có đỉnh chung.
2. Với mỗi cung e của đồ thị sinh Ii (1 i n) thuộc S thì một trong các đẳng thức sau đ-ợc thoả mãn:
a) NIi(e) = {} và t đ-ợc gọi là cung rỗng.
b) NIi(e) = {a}, với a và e đ-ợc gọi là cung cốt yếu.
c) NIi(e) = C(L(Ij)) và khi đó ta nói rằng cung e phụ thuộc vào đồ thị sinh Ij và đ-ợc gọi là cung bù.
t

d) NIi(e) =

L( I
k 1

Ik

) , trong tr-ờng hợp này ta nói rằng cung e phụ thuộc vào các đồ thị sinh Ij1, Ij2, ..., Ijt và e


đ-ợc gọi là cung giao.
e) NIi(e) = {X Y L(Ip) và X là tiền tố của từ Y}, trong tr-ờng hợp này ta nói rằng 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 và gọi
là cung lấy hậu tố.
3. Với mỗi đồ thị sinh Ii (1 i n-1) thì có một và chỉ một cung trong đồ thị sinh In phụ thuộc vào nó.
Đồ thị sinh Ii phụ thuộc vào đồ thị sinh Ij trong sơ đồ sinh S nếu Ii chứa một cung nào đó phụ thuộc vào đồ thị
sinh Ij hoặc phụ thuộc vào một đồ thị có chứa cung phụ thuộc vào đồ thị Ij. Sự phụ thuộc của các đồ thị sinh trong một
sơ đồ sinh mang tính bắc cầu và lan truyền về phía cuối dãy. Do vậy, ta định nghĩa:
Định nghĩa 3.4: Ngôn ngữ sinh bởi sơ đồ sinh S, ký hiệu là L(S), là ngôn ngữ sinh bởi đồ thị sinh cuối cùng In trong
dãy. Nghĩa là, L(S) = L(In).
Để xác định đ-ợc độ phức tạp otomat của sơ đồ sinh S, chúng ta tính toán độ sâu độ phụ thuộc l(S) của sơ đồ này
nh- sau.
Giả sử e là một cung của đồ thị sinh nào đó I thuộc sơ đồ sinh S. Độ sâu độ phụ thuộc của cung e, ký hiệu là l(e)
và đ-ợc xác định một cách đệ quy nh- sau:
1) Nếu e là cung rỗng hay cung cốt yếu thì đặt l(e) = 0.
2) Nếu e là cung bù phụ thuộc vào đồ thị sinh I' và l(I') đã xác định thì 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' và l(I') đã xác định thì l(e) = l(I') +1.
4) Nếu e là cung giao phụ thuộc vào các đồ thị sinh Ii1, Ii2, ... , Iik và l(Iit) (1 t k) đã đ-ợc xác định thì: l(e) =

max {l(Iit)}.
1 t k

Độ sâu độ phụ thuộc của đồ thị sinh I đ-ợc lấy là: l(I) = max {l(e)}.
eE ( I )

Khi đó, độ sâu độ phụ thuộc l(S) của sơ đồ sinh S đ-ợc định nghĩa là độ sâu độ phụ thuộc của đồ thị sinh cuối
cùng, nghĩa là l(S) = l(In). Sơ đồ sinh S đ-ợc gọi là đơn giản nếu các đồ thị sinh Ii (1 i n) của nó chỉ chứa cung rỗng
hoặc cung cốt yếu.
3.3.2. Độ phức tạp otomat của sơ đồ sinh


10


Để xác định độ phức tạp otomat của sơ đồ sinh, ta xây dựng một số phép biến đổi các sơ đồ sinh và nhận đ-ợc
các kết quả hỗ trợ sau đây.
Bổ đề 3.3: Với các sơ đồ sinh đơn giản S1, S2, ..., Sk luôn có thể xây dựng sơ đồ sinh đơn giản S, sao cho: L(S) =
k

k

L(S ) và |D(S)| | D(S ) | .
t

t 1

t

t 1

Bổ đề 3.4: Với mọi sơ đồ sinh đơn giản S đều có thể xây dựng đ-ợc sơ đồ sinh đơn giản S' sao cho: |D(S')| |D(S)| và
L(S') = {X * Y L(S) , |X | = | Y|}.
Bổ đề 3.5: Với mọi sơ đồ sinh S chỉ chứa cung lấy tiền tố, ta đều có thể xây dựng đ-ợc sơ đồ sinh đơn giản S', sao cho
|D(S')| < |D(S)|3 và L(S') = {X X là tiền tố của từ thuộc đồ thị sinh Ii thuộc S}.
Bổ đề 3.6: Với mọi sơ đồ sinh S chỉ chứa cung lấy hậu tố ta đều có thể 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ố của từ thuộc đồ thị sinh Ij thuộc S}.
Bổ đề 3.7: Giả sử I, 1, 2, ..., k là các đồ thị sinh không có đỉnh chung còn e1, e2 , ... , ek là các cung của đồ thị sinh I
mà MI(ei) = L(i) với mỗi i (1 i k), và I1 =


ek
[ I ]e11,,e2 2,...,
,..., k là kết quả của phép thay thế các cung e bằng các đồ thị
i

k

sinh i. Thế thì, L(I1) = L(I) và |D(I1)| |D(I )| +

| D( ) | .
i 1

i

Bổ đề 3.8: Với mọ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' sao cho: L(S') =
( l ( S )1)

|S |.3
L(S) và |D(S')| 3

.

Từ các bổ đề trên ta có khẳng định sau đây.

Định lý 3.9: Với mọi sơ đồ sinh S, cận trên độ phức tạp otomat của nó là

2

l ( S )1
3|S |.3


.

3.4. Độ phức tạp otomat của chùm đầu
3.4.1. Khái niệm chùm đầu
Giả sử I = (V, E, s0, F, , n) là một đồ thị sinh nào đó thuộc sơ đồ sinh S và X là một từ trên bảng chữ cái . Ký hiệu
ZI(X) = { V(I) X LI(sI,)}. Đó chính là tập các đỉnh trong đồ thị sinh I đạt đ-ợc nhờ từ X.
Định nghĩa 3.5: Đồ thị sinh I đ-ợc gọi là chùm đầu nếu:
1) Không có cung đi tới đỉnh vào s0 của đồ thị sinh I.
2) Mỗi cung bù và cung giao trong đồ thị sinh I và trong các đồ thị sinh mà I phụ thuộc đều là cung đi ra từ đỉnh
vào của đồ thị sinh chứa cung này.
Ký hiệu D+(I) là tập tất cả các đỉnh cốt yếu của đồ thị sinh I và của các đồ thị sinh trong 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 bởi chùm đầu
Để xây dựng otomat hữu hạn đơn định có ít trạng thái nhất đoán nhận đ-ợc ngôn ngữ sinh bởi chùm đầu ta tiến hành
ba b-ớc sau đây.
B-ớc 1: Nghiên cứu cấu trúc các trạng thái của otomat
Định nghĩa hàm gi : +

2D



(Ii )

một cách đệ quy nh- sau:

Với từ p , giả sử ej1, ej2, ..., ejs là tất cả các cung bù trong chùm đầu Ii và với mỗi chùm đầu Ijt (1 t s) thì 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 của hàm gi:
Bổ đề 3.10: Giả sử p1, p2 là các từ khác rỗng.

11



( I jt ) \ g jt ( p))


Nếu gi(p1) gi(p2) và p1 L(Ii) thì p2 L(Ii).
Hệ quả 3.11: Nếu gi(p1) gi(p2) và p2 C(L(Ii)) thì p1 C(L(Ii)).
Giả sử Ii là một chùm đầu. Khi đó với từ p tuỳ ý và mọi chữ cái a thuộc ta xác định các tập hợp sau đây:
1(pa) = { a LIi(sIi,)} nếu p = và
= { ZIi(p) D+(Ii) và a LIi(,)} nếu ng-ợc lại.
2(pa) = { t , 1 t s mà pa NIi(ejt) và a LIi(K(ejt),)},
3(pa) = { t , 1 t s mà pa NIi(ejt) và LIi(K(ejt),)}.
Bổ đề 3.12: Với mọi từ p và mọi chữ cái a thì:
Z Ii(pa) = 1(pa) 2(pa) 3(pa).
Hệ quả 3.13: Với mọi sơ đồ sinh đơn giản S, mọi từ p và mọi chữ cái a ta đều có: ZS(pa) = 1(pa).
Hệ quả 3.14: Giả sử S là sơ đồ sinh đơn giản, p1, p2 là các từ và chữ cái 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 là các từ tuỳ ý và a là chữ cái thuộc .
Nếu gi(p1) gi(p2) thì gi(p1a) gi(p2a).
Hệ quả 3.16: Nếu gi(p1a) gi(p2a) thì với mọi từ q ta đều 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 của Ai là 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)}, trong đó D(Ii) là tập các đỉnh cốt yếu của chùm đầu Ii.
Đây chính là tập các đỉnh kề với các đỉnh trong tập q nhờ các cung cốt yếu có nhãn là {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 là trạng thái kết thúc của otomat Ai nếu tồn tại ít nhất một từ p sao
cho p L(Ii) và gi(p) = q. Trạng thái q0 cũng đ-ợc xem là trạng thái kết thúc nếu L(Ii).
B-ớc 3: Chứng minh sự t-ơng đ-ơng của 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 đây.
Định lý 3.18: Với mọi chùm đầu I ta đều có thể xây dựng otomat hữu hạn đơn định A t-ơng đ-ơng với nó với số trạng
thái không v-ợt quá

2

22

| D ( I )|

.

Vậy cận trên độ phức tạp otomat của chùm đầu I là


2

22

| D ( I )|

.

Phần KếT luận
Bằng cách sử dụng các công cụ của lý thuyết đồ thị chúng tôi đã xây dựng đ-ợc hai thuật toán điều khiển t-ơng
tranh các quá trình xảy ra trên các hệ thống phân tán. Đồng thời, kết hợp giữa lý thuyết đồ thị với các ph-ơng pháp
truyền thống của otomat, chúng tôi đã xây dựng đ-ợc các otomat hữu hạn đoán nhận một số lớp ngôn ngữ và đánh giá
cận trên độ phức tạp otomat cho các ngôn ngữ này. Trong luận án này, chúng tôi đã đạt đ-ợc đ-ợc các kết quả chính sau
đây:

12


1) Bản luận án đã phát biểu bài toán điều khiển t-ơng tranh các quá trình xảy ra trên một hệ thống và xây dựng
đ-ợc thuật toán đầy đủ hoá đồ thị các tr-ờng hợp của một hệ mạng điều kiện - biến cố. Thuật toán cho chúng ta đồ thị
các tr-ờng hợp đầy đủ của hệ mạng t-ơng ứng. Khi đó, dãy các nhãn trên mỗi đ-ờng đi của đồ thị các tr-ờng hợp đầy
đủ sẽ chỉ ra một quá trình t-ơng tranh xảy ra trên hệ mạng này.
2) Đồng thời luận án cũng đã xây dựng thuật toán tìm các b-ớc t-ơng tranh cực đại trên một hệ mạng vị trí chuyển nhờ đồ thị phủ của nó. Kết quả của thuật toán này chỉ ra một chiến l-ợc điều khiển tối -u trên các hệ thống đ-ợc
biểu diễn bởi hệ mạng vị trí - chuyển.
Các thuật toán biến đổi các quá trình tuần tự thành các quá trình t-ơng tranh đ-ợc trình bày trong luận án là khá
chi tiết, đánh giá đ-ợc độ phức tạp tính toán và dễ dàng cài đặt trên máy tính.
3) Tính toán cận trên độ phức tạp otomat đoán nhận ngôn ngữ sinh bởi nguồn, biểu thức chính quy, sơ đồ sinh và
chùm đầu.
Những kết quả đạt đ-ợc của luận án có thể phát triển cho các mô hình biểu diễn khác của 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 ... và có thể áp dụng vào thực tế nh-:
điều khiển tối -u các dây chuyền sản xuất công nghiệp, điều khiển các giao tác trong tìm kiếm và khai phá dữ liệu trong
các cơ sở dữ liệu lớn ...
Đó cũng là những ý t-ởng mà tác giả dự định nghiên cứu trong thời gian sắp tới.

13



×