Tải bản đầy đủ (.pdf) (12 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 (283.57 KB, 12 trang )

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.

24

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.

đỉ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)).

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

Phần KếT luận

2

- 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).
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 )|

.

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:
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.

23



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:

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

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 l 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 nhn
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 để lu 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


22

3

γ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 .



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 để lu 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
13
begin
14
enqueue u into Q ;
15
Duyet [u] := true ;
16
end ;
17
end ;
18 end ;

4

Định lý 3.9: Với mọi sơ đồ sinh S, cận trên độ phức tạp otomat của nó là
l ( S )1
3|S |.3
2
.
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 gjt(p) đà đợc xác định. Thế thì:
s

gi(p) = (ZIi(p) D+(Ii)) ∪

U (D
t =1

+

( I jt ) \ g jt ( p))

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.
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)).

21


Độ 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
Để 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ơ
k

đồ sinh đơn giản S, sao cho: L(S) =

k

I 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 =

2 ,...,e
[ I ]e11,,eΔ 2 ,...,kΔ k là kết quả của phép thay thế các cung e


i

bằng

k

các đồ thị 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) và |D(S')|

|S |.3( l ( S )1)

3

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ác bổ đề trên ta có khẳng định sau đây.

20

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.


5


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 → ξ 1 θ ξ 2 trong ®ã ξ 1, ξ 2 ∈ (Σ ∪ V)*, A

θ

∈ (Σ ∪ 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 {}.
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).
V,

6

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) =

I 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) =

19

max {l(Iit)}.
1 t k


(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µ ngn 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
Đị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) =

U L (s , β ) là tập tất cả các từ sinh bởi mọi

F ( I )

I

I

đờng đi trên đồ thị sinh I đi từ đỉnh vào sI . Tập 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 ,
S = (I1, I2, ... , In) thoả mÃn ba tính chất sau đây:
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:

18

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) =

UT

II

( s, a ) . TËp nµy chÝnh

s∈C

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 {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

7


Đầ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 =

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ủ.

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.
Đị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à:

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 ,

8


17

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.


Đị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:
∀p ∈ •U : M(p) ≥

∑W ( p, t ) , và

tU

ã

p U : M(p) K(p) -

W (t , p) .
tU

Hiển nhiên, tập con các chun 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ủ.
Đị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 chun 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 chun 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).


16

∀ 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) =

U

TA (q, a ) .

q B

ii) Đặt otomat A = (Q, , q0, f, P) víi:
Q’ = 2Q, q0’ = {q0}, P = {q’ ∈ Q’ ⎜q’ ∩ F ≠ ∅} vµ hµm chun 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) =


U

TI ({s}, a ) .

s∈q

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.

9


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à lu
đồ 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.
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.

10

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ị nhng cha 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Ĩ.

15


Đị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 cha 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
Đị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.

14


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:

11


⎧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:
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,

12

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'.

13



×