1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứ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

12 422 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 283,57 KB

Nội dung

Ứ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

Trang 1

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

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

Trang 2

hệ mạng điều kiện - biến cố và trên các hệ mạng vị trí - chuyển Tác giả

cũng sử dụng đồ thị để biểu diễn một số công cụ sinh ra ngôn ngữ như:

nguồn, biểu thức chính quy, đồ thị sinh, sơ đồ sinh và chùm đầu và

nghiên cứu đánh giá cận trên độ phức tạp otomat của các công cụ này

Những kết quả đạt được trên các ngôn ngữ sinh bởi các công cụ này rất có ý

nghĩa

Trong bản luận án này chúng tôi đã đóng góp được những kết quả

chính sau đây:

1) Mô tả bài toán điều khiển tương tranh các quá trình trên một hệ

thống

2) Xây dựng đồ thị các trường hợp và ứng dụng nó để xây dựng

thuật toán điều khiển tương tranh các quá trình trên hệ mạng

điều kiện - biến cố

3) Cải tiến thuật toán xây dựng đồ thị phủ của một hệ mạng vị trí -

chuyển và ứng dụng nó để xây dựng thuật toán điều khiển tương

tranh trên các quá trình tuần tự xảy ra trên hệ mạng vị trí -

chuyển

4) Tính toán cận trên của độ phức tạp otomat đoán nhận các ngôn

ngữ sinh bởi nguồn, biểu thức chính quy, sơ đồ sinh và chùm

đầu

Chương 1 các khái niệm cơ sở

Trong chương này, chúng tôi nhắc lại một số khái niệm và các kết

quả rất cơ bản của lý thuyết đồ thị, lý thuyết ngôn ngữ hình thức và otomat

cùng khái niệm mạng Petri, hệ mạng điều kiện - biến cố và hệ mạng vị trí -

chuyển

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

1.1.1 Định nghĩa đồ thị

Định nghĩa 1.1: Đồ thị là một cặp G = (V, E), trong đó: V là tập hợp các

đỉnh và E ⊆ V ì V là tập hợp các cạnh

Hai đỉnh cùng nằm trên một cạnh được gọi là kề nhau Do vậy, ta có

thể định nghĩa đồ thị bằng ánh xạ kề như sau

Định nghĩa 1.2: Đồ thị là một cặp G = (V, F), trong đó: V là tập hợp các

đỉnh và F : V → 2V , được gọi là ánh xạ kề

Ký hiệu số đỉnh của một đồ thị là n và số cạnh của đồ thị là m

1.1.2 Đường đi và chu trình

Định nghĩa 1.4: Đường đi trong đồ thị G là một dãy các đỉnh của đồ thị:

< x 1 , x 2 , , x i , x j+1 , , x k-1 , x k > sao cho, mỗi đỉnh trong dãy (không kể đỉnh

đầu tiên) kề với đỉnh trước nó bằng một cạnh nào đó, nghĩa là: ∀i = 2, 3,

, k-1, k : (x i-1 ,x i) ∈ E

Chu trình là một đường đi khép kín

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

đỉ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 ≠ q 0 đượ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 q 0 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á

| ) (

|

22

+

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

| ) (

|

22

+

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:

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

Trang 3

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 ∈ L Ii (s Ii ,β)} nếu p = ε và

= {β ⎜∃α ∈ ZIi (p) ∩ D+(Ii ) và a ∈ L Ii(α,β)} nếu ngược lại

γ2(pa) = {β ⎜∃t , 1 t s mà pa ∈ NIi(e jt ) và a ∈ L Ii (K(e jt),β)},

γ3(pa) = {β ⎜∃t , 1 t s mà pa ∈ N Ii (e jt) và ε ∈ LIi (K(e jt),β)}

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, p 1 , p 2 là các từ và chữ cái a ∈

Σ Nếu ZS(p 1) ∩ D+(S) ⊆ ZS(p 2) ∩ D+(S) thì ZS(p 1 a) ∩ D+(S) ⊆ ZS(p 2 a) ∩

D+(S)

Bổ đề 3.15: Giả sử p 1 p 2 là các từ tuỳ ý và a là chữ cái thuộc Σ

Nếu gi (p 1) ⊆ gi (p 2) thì gi (p 1 a) ⊆ g i (p 2 a)

Hệ quả 3.16: Nếu gi (p 1 a) ⊆ g i (p 2 a) thì với mọi từ q ta đều có: g i (p 1 q) ⊆

gi (p 2 q)

Hệ quả 3.17: Giả sử gi (p 1) ⊆ gi (p 2 ) Khi đó với mọi từ q, nếu p 2 q ∈ C(L(I i))

thì p 1 q ∈ C(L(I i))

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 ) = {s 0(Ii)} ∪ {gi (p) ⎜ p ≠ ε}

- Trạng thái khởi đầu của Ai là q 0 = {s 0(Ii)}

- Hàm chuyển trạng thái f xác định như sau: với chữ cái a ∈Σ,

1) f (q 0 , a) = g i (a)

2) Giả sử q ∈ Q(Ai) , q ≠ q 0

Xây dựng tập hợp TIi (q,a) = {v ∈ D(I i ) ⎢∃s ∈ q : a ∈ LIi(s, v)}, trong đó D(I i)

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 luỹ thừa T = A1 + A2 + + A n-1

.

3) Nếu T[a,b] ≥ 1 thì kết luận là có đường đi từ đỉnh a đến đỉnh b,

ngược lại thì kết luận là không có

Hiển nhiên, thuật toán trên có độ phức tạp là O(n4)

1.1.5 Đồ thị gán nh∙n

Giả sử G = (V, E) là một đồ thị và L là một tập hợp không rỗng nào

đó Hàm n : E → L được gọi là hàm gán nhãn trên các cạnh của đồ thị đã cho Khi đó, mỗi cạnh e ∈ E sẽ được gán nhãn n(e) ∈ L

1.1.6 Các thuật toán duyệt đồ thị

Phép duyệt đồ thị là một cách liệt kê tất cả các đỉnh của đồ thị này

thành một danh sách tuyến tính

1) Duyệt đồ thị theo chiều sâu

Sử dụng stack S để lưu trữ các đỉnh đang duyệt và danh sách L chứa kết quả

Thuật toán 1.4 (Duyệt đồ thị theo chiều sâu)

Dữ liệu: Mảng các danh sách kề DK của đồ thị G

Kết quả: Danh sách L tất cả các đỉnh của đồ thị G

1 procedure D_SAU2 (v) ;

2 begin

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

Trang 4

11 if NOT Duyet [x] then

14 L := L x ;

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}

10 L := L x ;

11 for u ∈ DK[x] do

12 if NOT Duyet [u] then

13 begin

17 end ;

18 end ;

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

( ) 1

| |.3 3

2

l S

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, s 0 , 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(s I ,α)} Đó 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 s 0 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+(I i)

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

Với từ p ≠ ∅, giả sử e j1 , e j2 , , e js 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 g jt (p) đã được xác định Thế thì:

gi (p) = (Z Ii (p) ∩ D+(Ii)) ∪ ( ( ) \ ( ))

1

p g I D

t

j s

t

U= +

Một số tính chất của hàm gi:

Bổ đề 3.10: Giả sử p 1 , p 2 là các từ khác rỗng

Nếu gi(p 1) ⊆ gi(p 2 ) và p 1 ∈ L(Ii) thì p 2 ∈ L(Ii)

Hệ quả 3.11: Nếu gi (p 1) ⊆ gi (p 2 ) và p 2 ∈ C(L(Ii)) thì p 1 ∈ C(L(Ii))

Trang 5

Độ sâu độ phụ thuộc của đồ thị sinh I được lấy là: l(I) =

)

max

I E

e{l(e)}

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(I n) Sơ đồ

sinh S được gọi là đơn giản nếu các đồ thị sinh I i (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ơ

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

1 ) (

=

và |D(S)| ≤ |D(S)|

1 t

=

k

t

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

e 1 , e 2 , , e k là các cung của đồ thị sinh I mà MI(e i) = L(Δi ) với mỗi i (1≤ i

≤ k), và I1 = k k

e e e

I 1,,2, ,, ,

2 1 ]

[ Δ Δ Δ là kết quả của phép thay thế các cung e i bằng

các đồ thị sinh Δi Thế thì, L(I1) = L(I) và |D(I1)| ≤ |D(I )| + | ( ) |

1

= Δ

k

i

i

D

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')| ≤

( ( ) 1)

| |.3

3 S l S ư

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

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ừ x 1 , x 2 , u, v ∈ (Σ∪V)* sao cho x = x 1 u x 2 , y = x 1 v x 2 và u → v là một quy tắc dẫn xuất trong P Ta nói rằng từ x dẫn ra từ y, ký hiệu x

*

y, nếu tồn tại một dãy các từ x 0 , x 1 , , x k ∈ (Σ∪V)* với k 0, sao cho x 0 = x, x k = y

và x i → x i+1, với 0 ≤ i k-1

Trang 6

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)+ và θ ≠ ε

Quy tắc cảm ngữ cảnh mà ξ1 = ξ2 = ε được gọi là quy tắc phi ngữ

cảnh Văn phạm G với mọi quy tắc đều là quy tắc phi ngữ cảnh thì được gọi

là văn phạm phi ngữ cảnh

Văn phạm phi ngữ cảnh mà mỗi quy tắc của nó có dạng: A → aB

hoặc A → a với A, B ∈ V và a ∈ Σ được gọi là văn phạm chính quy Ngôn

ngữ sinh bởi văn phạm chính quy được gọi là ngôn ngữ chính quy

N Chomsky đã phân các văn phạm thành 4 lớp như sau:

- Lớp văn phạm loại 0 : bao gồm các văn phạm tổng quát

- Lớp văn phạm loại 1 : bao gồm các văn phạm cảm ngữ cảnh

- Lớp văn phạm loại 2 : bao gồm các văn phạm phi ngữ cảnh

- Lớp văn phạm loại 3 : bao gồm các văn phạm chính quy

Lớp có số hiệu bé chứa các lớp có số hiệu lớn hơn

b) Nguồn và một số thuật toán trên nguồn

Nguồn là một công cụ sinh ngôn ngữ dựa trên lý thuyết đồ thị và

được định nghĩa như sau

Định nghĩa 1.7: Nguồn là một đa đồ thị có hướng gán nhãn I = (V, E, s 0, F,

Σ, n), gồm V là tập các đỉnh và E là tập các cung Trên đồ thị có một đỉnh

đặc biệt s 0 gọi là đỉnh vào và đặt trong ô tròn có mũi tên, một tập con F các

đỉnh được gọi là các đỉnh kết thúc và đặt trong các ô hình chữ nhật Hàm

gán nhãn n : E → Σ {ε} gán cho mỗi cung của đồ thị một chữ cái thuộc

tập Σ ∪{ε}

Cung của nguồn I mà trên đó gán ký hiệu rỗng ε được gọi là cung

rỗng Cung trên đó gán một chữ cái thuộc bảng chữ cái Σ được gọi là cung

cốt yếu Đỉnh có cung cốt yếu đi vào hoặc đi ra được gọi là đỉnh cốt yếu Ký

hiệu tập các đỉnh cốt yếu của nguồn I là D(I)

Ngôn ngữ sinh bởi một nguồn được xác định như sau:

Giả sử d = < x, s 1 , s 2 , , s n , y > là một đường đi nào đó trên nguồn I Trên

cung (x, s 1 ) có nhãn là chữ cái a 1 , trên cung (s 1 , s 2 ) có nhãn là chữ cái a 2,

trên cung cuối cùng có nhãn là chữ cái a n+1 , với a i ∈ (Σ ∪{ε}) Khi đó, từ

w = a 1 a 2 … a n a n+1 được gọi là từ sinh bởi đường đi d Ký hiệu LI(x, y) là tập

tất cả các từ được sinh bởi các đường đi từ đỉnh x tới đỉnh y Tập LI(x, y)

được xác định đệ quy như sau:

1) ε ∈ LI(x, y)

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(I j )) và khi đó ta nói rằng cung e phụ thuộc vào đồ thị

sinh Ij và được gọi là cung bù

d) NIi(e) = Ik t L II k

1 ) (

=

, 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(I p ) 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 I p và gọi là cung lấy tiền tố

f) NIi(e) = {Z ⎢∃U ∈ L(I q) 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 I q 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 I i1, Ii2, , Iik

l(I it) (1≤ t k) đã được xác định thì: l(e) =

k

t

≤ 1

max{l(I it)}

Trang 7

(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

Định nghĩa 3.2: Đồ thị sinh I = (V, E, s 0, 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 s 0 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 = e 1 , e 2 , , e k (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 = t 1 t 2 t k với t i ∈ NI(e i ), 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 β

)

β

β F I I

L

U

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 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 I i (1≤ i ≤ n) thuộc S thì một trong các đẳng

thức sau được thoả mãn:

2) Nếu từ w ∈ LI(x, z) và từ đỉnh z sang đỉnh y có cung với nhãn là chữ cái a ∈ (Σ{ε}) thì từ wa ∈ LI(x, y)

Định nghĩa 1.8: Tập L(I) = {w ∈ Σ* ⎢w ∈ LI(s 0 , s), s ∈ F} được gọi là ngôn ngữ sinh bởi nguồn I

Hai nguồn được gọi là tương đương nếu chúng sinh ra cùng một ngôn ngữ

Một số phép toán trên nguồn

Xây dựng nguồn K đơn định, đầy đủ trên bảng chữ cái Σ tương

đương với nguồn I đã cho

Thuật toán 1.6 (Đơn định và đầy đủ hoá nguồn)

Với mỗi chữ cái a ∈ Σ và mỗi đỉnh s ∈ V(I) ta xây dựng tập hợp:

TI(s,a) = {u ∈ D(I) ⎢a ∈ LI(s,u)} Với mỗi tập con các đỉnh cốt yếu C

D(I) và mỗi a ∈ Σ, ta xây dựng tập: HI(C, a) = T ( a s , )

C s II

U∈ Tập này chính

là tập các đỉnh cốt yếu kề với đỉnh thuộc C nhờ các cung có nhãn là a

Bây giờ ta xây dựng nguồn đơn định K như sau:

Đỉnh vào của K là đỉnh {s 0 } với s 0 là đỉnh vào của nguồn I Với mỗi đỉnh C

⊆ D(I) ta xác định HI(C, a) và vẽ một cung đi từ đỉnh C sang đỉnh HI(C, a) với nhãn là chữ cái a Tập đỉnh kết thúc F(K) = {C ⊆ V(I) ⎢ C ∩ F(I) ≠

∅}

Với cách xây dựng trên thì nguồn K là đơn định, đầy đủ và tương

đương với nguồn I đã cho

Định nghĩa 1.9: Nguồn K trên bảng chữ cái Σ sinh ra ngôn ngữ là phần bù

của ngôn ngữ L(I) được gọi là nguồn bù của nguồn I

Thuật toán 1.7 (Xây dựng nguồn bù)

Ta đổi tất cả các đỉnh không kết thúc thành đỉnh kết thúc và ngược lại đổi đỉnh kết thúc thành đỉnh không kết thúc thì nguồn nhận được sẽ sinh ngôn ngữ bù của ngôn ngữ sinh bởi nguồn ban đầu

Giả sử có các nguồn I1 và I2 Ta cần xây dựng nguồn I sinh ra ngôn ngữ là giao của các ngôn ngữ do I1, I2 sinh ra

Thuật toán 1.8 (Xây dựng nguồn giao)

Để tìm nguồn giao I của các nguồn I1 và I2 ta xây dựng các đỉnh và các cung của nó như sau:

1) Đỉnh vào của nguồn I là: s 0 (I) = ({s 0(I1)}, {s 0(I2)})

2) Giả sử B = (C1, C2), trong đó C1 ⊆ D(I1), C2 ⊆ D(I2) là các tập

con các đỉnh cốt yếu và a là chữ cái thuộc Σ Khi đó, ta xác định đỉnh C =

(HI1(C1,a), HI2(C2,a)) và thêm một cung đi từ đỉnh B sang đỉnh C với nhãn là chữ cái a

3) Đỉnh (S, R) nào đó trong tập đỉnh của nguồn I vừa xây dựng được xem là đỉnh kết thúc khi và chỉ khi: S ∩ F(I1) ≠ ∅ và R ∩ F( I2) ≠ ∅ Với

Trang 8

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, Σ, q 0, δ, F), trong đó:

- Q là một tập hữu hạn các trạng thái,

- Σ là bảng chữ cái vào,

- δ : Q ì Σ → Q , được gọi là hàm chuyển trạng thái,

- q 0 ∈ Q , được gọi là trạng thái khởi đầu,

- F ⊆ Q , được gọi là tập trạng thái kết thúc của otomat

Mỗi lần chuyển trạng thái trong otomat hữu hạn đơn định ta chỉ

nhận được một trạng thái kế tiếp Ta mở rộng hàm chuyển δ thành ánh xạ

δ’ : Q ì Σ* → Q như sau:

a) ∀q ∈ Q đặt δ’(q, ε) = q ;

b) ∀q ∈ Q, ∀a ∈ Σ, ∀x ∈ Σ* đặt δ’(q, xa) = δ(δ(q,x),a)

Ngôn ngữ được đoán nhận bởi otomat hữu hạn đơn định

Định nghĩa 1.11: Tập tất cả các từ trên bảng chữ cái vào Σ mà mỗi từ này

đưa otomat A từ trạng thái khởi đầu đến một trong những trạng thái kết

thúc: L(A) = {x ∈ Σ* ⎢δ’(q 0 ,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, Σ, q 0 , δ, F), trong đó:

- Q là tập hữu hạn các trạng thái,

- Σ là bảng chữ cái vào,

- δ : Q ì Σ → 2Q , được gọi là hàm chuyển trạng thái,

- q 0 ∈ Q , được gọi là trạng thái khởi đầu,

- F ⊆ Q , được gọi là tập trạng thái kết thúc của otomat

Định nghĩa 1.13: Otomat hữu hạn A được gọi là đầy đủ nếu hàm chuyển

trạng thái xác định khắp nơi trên tập Q ì Σ Nghĩa là:

Đầ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ử Σ = {a 1 , a 2 , , a m} là một bảng chữ cái hữu hạn và I = (V, E,

s 0 , 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, s 0 , 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 ,

Trang 9

Đị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 t k 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, t 1 ≠ t 2 :

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

∈U t

t p

W ( , ) , và

∀p ∈ U : M(p) ≤ K(p) - W ( p t , )

U t

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ủ

Đị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)

q ∈ Q, a Σ đều có δ(q,a) ≠ ∅

Giả sử A = (Q, Σ, q 0, δ, 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

B q

T

) ,

ii) Đặt otomat A’ = (Q’, Σ, q 0 ’, f, P) với:

Q’ = 2Q, q 0 ’ = {q 0 }, P = {q’ ∈ Q’ ⎜q’ F ≠ ∅} và hàm chuyển f được xác

định như sau: ∀q’ ∈ Q’ , ∀a ∈ Σ, f(q’,a) = TA(q',a)

Với cách xây dựng như trên, dễ dàng chỉ ra rằng otomat A’ là

otomat hữu hạn đơn định đầy đủ và L(A’) = L(A)

d) Sự tương đương giữa nguồn và otomat hữu hạn

Từ mỗi nguồn I ta đều có thể xây dựng một otomat hữu hạn A tương đương với nó và ngược lại

Thuật toán 1.10 (Xây dựng otomat tương đương với nguồn)

1) Xây dựng hàm TI : 2D(I) ì Σ → 2D(I) như sau:

- ∀a ∈ Σ : TI(∅,a) = ∅ ,

- ∀s ∈ (D(I) ∪ {s 0 }), ∀a ∈ Σ : TI({s},a) = {s' ∈ D(I) ⎢ a ∈ LI(s,s')},

- ∀q ⊆ D(I), ∀a ∈ Σ : TI(q,a) = Us q TI s a

) },

2) Xác định trạng thái khởi đầu và tập trạng thái kết thúc:

- Tập {s 0 } là trạng thái khởi đầu của otomat A và ký hiệu là q 0

- Tập trạng thái kết thúc F là tập {q ⊆ D(I) ⎢q ∩F(I) ≠ ∅}∪{q 0} nếu ε ∈

L(I) và là tập {q ⊆ D(I) ⎢q ∩ F(I) ≠ ∅} nếu ε ∉ L(I)

3) Otomat A = (Q, Σ, q 0, δ, 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

Trang 10

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

Ta ký hiệu: c [ e > c’

Không gian các trạng thái của hệ là môi trường để dãy các bước có thể xảy

ra trên hệ, tạo nên các quá trình trên hệ

Định nghĩa 1.17:

1) Quan hệ r N ⊆ 2B ì 2B được định nghĩa như sau:

(c1, c2) ∈ r N ⇔ ∃ e ∈ E : c1 [ e > c2 , gọi là quan hệ đạt được tiến trên

mạng N

2) Quan hệ R N = (r N ∪ r N-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 [ e m > c m Khi đó, các

trường hợp c1, c2, c3, , c m phải thuộc lớp tương đương của quan hệ đạt

được R N chứa c0 Các biến cố e1, e2, e3, , e m xuất hiện một cách tuần tự

trong chính lớp tương đương này

2) Nếu (c 1, G1, c 2 ) và (c 1, G2, c 3) 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 (c 1 , G, c 4 ) với c 4 = (c 1 \ •G) ∪

G•

3) Nếu (c 1, G1, c 2 ) và (c 2, G2, c 3) 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 (c 1 , G, c 3)

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ể

Ngày đăng: 03/04/2014, 12:19

HÌNH ẢNH LIÊN QUAN

Đồ thị sinh trong sơ đồ sinh S mà I phụ thuộc. - Ứ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
th ị sinh trong sơ đồ sinh S mà I phụ thuộc (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w