Kiểm định Z-mã theo otomat

Một phần của tài liệu Thuật toán kiểm tra tính chất mã bằng otomat hữu hạn (Trang 67 - 75)

Cho otomat hữu hạn  = (Q, A, E, I, F) không chứa cung rỗng.

Để kiểm định X = () có là Z-mã hay không, ta xét các trƣờng hợp sau: i) Nếu ɛX thì ta kết luận X không là Z-mã: kiểm tra ɛ thuộc X hay không

tƣơng đƣơng với việc kiểm tra IF khác rỗng không. Bƣớc này thực hiện bằng

hàm ký hiệu là EPSILON() có độ phức tạp thời gian (Q).

ii) Nếu ɛ  X thì X  A+: giả sử X không là Z-mã thì tồn tại w ω

có hai

Z-mã phân tích khác nhau trên X, là một trong 4 kiểu nhƣ Hình 3.7. Do đó, tƣ

tƣởng thuật toán kiểm định X có là Z-mã hay không quy về kiểm tra xem có từ w

có hai Z-mã phân tích khác nhau trên X không. Xây dựng 1 = EAT2(BA()) = (Q1, A, E1, s1, f1), 2 = EAT3(1) = (Q2, A, E2, s2, f2). Từ 1, 2 ta có:

+ PROD(1, 1) xác định đồ thị G1 có đỉnh khởi đầu (s1, s1), đỉnh kết thúc (f1, f1), có cặp (U1, D1) mà tập đỉnh khoá trên là U1 = {(f1, q) Q1 × Q1qf1,

qs1}, tập đỉnh khoá dƣới là D1 = {(p, f1) Q1 × Q1 p f1, p s1}, rõ ràng

U1D1 = . Một cung của PROD(1,1) xác định một cung của G1.

+ PROD(2, 2) xác định đồ thị G2 có đỉnh khởi đầu (s2, s2), đỉnh kết thúc (f2, f2), có cặp (U2, D2) mà tập đỉnh khoá trên là U2 = {(f2, q)  Q2 × Q2 q  f2,

qs2}, tập các đỉnh khoá dƣới là D2= {(p, f2)  Q2 × Q2  p  f2, p  s2}, rõ ràng

U2D2 =. Một cung của PROD(2,2) xác định một cung của G2.

+ PRODUNI(1, 1) xác định đồ thị G3 có đỉnh khởi đầu (s, s), đỉnh kết thúc (f1, f1), cặp (U3, D3) mà tập đỉnh khoá trên U3 = {(f1, q) Q1 × Q1q  f1,q 

s1}, tập các đỉnh khoá dƣới D3 = {(p, f1) Q1 × Q1 pf1, ps1}, rõ ràng U3D3 =

. Một cung của PRODUNI(1, 1) xác định một cung của đồ thị G3.

…… xm …… x0 … xh …… …… yn … y0 … y1 ……

- 68 -

Hình 3.4. Bốn kiểu hai Z-phân tích khác nhau của từ w

Trƣờng hợp ɛX, ta chứng minh kết quả sau đây:

Mệnh đề 3.4. Cho otomat hữu hạn  đoán nhận ngôn ngữ X A+, cho các đồ thị G1, G2, G3 đƣợc xác định nhƣ ở trên. Ta có X là Z-mã khi và chỉ khi các điều

kiện sau đây đƣợc thoả:

(i) Không có đƣờng đi kiểu 2 trên đồ thị G1. (ii) Không có đƣờng đi kiểu 1 trên đồ thị G1.

(iii) Không có đƣờng đi kiểu 1 trên đồ thị G2. (iv) Không có đƣờng đi kiểu 1 trên đồ thị G3.

Chứng minh. () Giả sử trái lại, X là Z-mã nhƣng các điều kiện (i), (ii), (iii)

hoặc (iv) không đƣợc bảo toàn:

Trƣờng hợp i) và ii) Giả sử trên G1 có đƣờng đi kiểu 2 hoặc kiểu 1, theo Hệ quả 3.1 thì X không là ω-mã. Vậy, tồn tại v có hai ω-phân tích phải khác nhau trên X. Xét bất kỳ uω

X, ta có w = uvω

có hai Z-phân tích khác nhau trên X.

Vậy không là Z-mã, là điều mâu thuẫn.

iii) Giả sử trên G2 có đƣờng đi kiểu 1, theo Hệ quả 3.1 thì X không là ω- mã.

Vậy, tồn tại z = x1x2...xn...X với xiXi có hai ω-phân tích phải khác nhau …… x-1 x0 x1 …… (d) …… y-1 y0 y1 …… …… …… x-m x0 … xh …… (c) …… y0 … y1 …… …… …… xm … x0 x1 …… (b) …… yn … y0 y1 ……

- 69 - trên X . Tƣơng ứng ta có u =…xn…x2x1ω

X với xiX i có hai ω- phân tích trái

khác nhau trên X. Xét bất kỳ vXω, ta có w = uvωXω có hai Z-phân tích khác

nhau trên X. Vậy X không là Z-mã, là điều mâu thuẫn.

iv) Giả sử trên G3 có đƣờng đi kiểu 1, ta xét cả nhãn của đƣờng đi này:

Ở đó (s, s) = (p1, q1), (pi, qi) U3, (pj, qj)  D3 với 1<i<j<k và (pk, qk) = (pi, qi). Vì (pi, qi) U3 và (pj, qj) D3 ta có (pi, qi) = (f1, qi), (pj, qj) = (pj, f1). Vậy ta có đƣờng đi vô hạn hai phía  nhƣ sau:

)... , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ...(f1 qi y pj f1 z f1 qi y pj f1 z f1 qi y pj f1 z f1 qi

với nhãn w =…yzyzyz…ωXω. Từ nhận xét 2.4, ta có nhãn w của đƣờng đi  có hai Z-phân tích khác nhau trên X. Vậy X không là Z-mã, là điều mẫu thuẫn.

() Giả thiết các điều kiện (i)-(iv) thoả mãn. Ta chứng minh phản chứng, với giả sử X không là Z-mã. Khi đó tồn tại từ wω

có hai Z-phân tích khác nhau

trên X: w =…x-2x-1x0x1x2… = …y-2y-1y0y1y2…, xi, yjX, i, j. Hay tồn tại từ uA+sao cho:

…x-2x-1u =… y-1y0, ux0

x0x1x2… = uy1y2…, uy0

với u  x0 hoặc u  y0.

Hai Z-phân tích khác nhau của w đƣợc chia thành các trƣờng hợp sau:

i) Tồn tại m  0  h, n  0  l, m  0 hữu hạn (Hình 3.4.a) mà:

v= xmxm+1… xh= ynyn+1…yl,

từ v = xmxm+1…xh, trong 1 có đƣờng đi  với nhãn v:

tƣơng tự với v = ynyn+1…yl, trong 1 có đƣờng đi  với nhãn v:

) , ( ) , ( ) , ( ) , (p1 p1 x pi qi y pj qj z pk qk , ...1 1 1 1 1 1 1 f s 1 f s s f s xm   xm  xh , ...1 1 1 1 1 1 1 f s 1 f s s 1 f s yn   yn  y

- 70 -

Khi đó, trên đồ thị G1 có đƣờng đi  đƣợc tạo nên từ  và  nhƣ sau: (p1, q1), …, (f1, qi), …, (pk, qk)

ở đó (s1, s1) = (p1, q1), (f1, qi) U1, (f1, f1) = (pk, qk), 1<i<k. Hay trên đồ thị G1 có đƣờng đi kiểu 2, điều này mâu thuẫn với (i).

ii) Tồn tại n, m  0 hữu hạn sao cho: v = xmxm+1…= ynyn+1… và không tồn tại h, l

hữu hạn với m<h, n<l sao cho xhxh+1… = ylyl+1… (xem Hình 3.4.b).

Từ v = xmxm+1…, trong 1 có đƣờng đi vô hạn phía phải  với nhãn v:

Tƣơng tự với v = ynyn+1…, trong 1 có đƣờng đi vô hạn phía phải  với nhãn v:

Vậy, G1 có đƣờng đi vô hạn phía phải  đƣợc tạo nên từ  và  nhƣ sau: (p1, q1), …,(f1, qi), …,(pj, f1), …

ở đó (s1, s1) = (p1, q1).

Do đƣờng đi  là vô hạn mà đồ thị G1 là hữu hạn đỉnh, khi đó trên  tồn tại các đỉnh (pk,qk) Q1×Q1, (f1,qi) U1, (pj, f1) D1 mà (f1, qi) = (pk, qk), với

1<i<j<k. Hay trên đồ thị G1 có đƣờng đi kiểu 1, điều này mâu thuẫn với (ii).

iii) Tồn tại h, l  0 hữu hạn sao cho: v = …xh-1xh = …yl-1yl và không tồn tại m, n hữu hạn với m < h, n < l sao cho: …xm-1xm = …yn-1yn (xem Hình 3.4.c). Khi đó ta có: ở đó

Từ trong 2 có đƣờng đi vô hạn phía phải  với nhãn u:

Tƣơng tự với uylyl1...,trong 2 có đƣờng đi vô hạn phía phải  với nhãn u: ..., 1 1 1 1 1 f s 1 f s sxm   xm  ..., 1 1 1 1 1 f s 1 f s s yn yn              ..., ... 1 1    xhxh ylyl u xh,xh1,...,yl,yl1...L. ..., 1  xhxh u ..., 2 2 2 2 2 f s 1 f s sxh   xh  ..., 2 2 2 2 2 f s 1 s s yl   yl 

- 71 -

Vậy, trên G2 có đƣờng đi vô hạn phía phải  tạo nên từ  và  nhƣ sau: (p1, q1), …, (f2, qi), …, (pj, f2), …

ở đó (s2, s2) = (p1, q1).

Do đƣờng đi  là vô hạn mà đồ thị G2 là hữu hạn đỉnh, khi đó trên  tồn tại các đỉnh (pk, qk) Q2 × Q2, (f2, qi) U2, (pj, f2) D2 mà (f2, qi) = (pk, qk), với 1<i<j<k. Hay G2 có đƣờng đi kiểu 1, điều này mâu thuẫn với với (iii).

iv) Không tồn tại h, l hữu hạn sao cho xhxh+1… = ylyl+1… hoặc …xh-1xh = … yl-1yl

(xem Hình 3.4.d).

Ta có: v = xmxm+1…=yynyn+1…, với xm, xm+1,…, yn, yn+1X, yA+ và yX.

Từ v = xmxm+1…, trong 1 có đƣờng đi vô hạn phía phải  với nhãn v:

Tƣơng tự với v = yynyn+1…, trong 1 có đƣờng đi vô hạn phía phải  với nhãn v:

ở đó qis1, f1 Vậy, trên G3 có đƣờng đi vô hạn phía phải  tạo nên từ  và  nhƣ sau:

(p1, q1), …, (f1, qi), …, (pj, f1),… ở đó (s, s) = (p1, q1).

Do đƣờng đi  là vô hạn mà đồ thị G3 là hữu hạn đỉnh, khi đó trên  tồn tại các đỉnh (pk, qk) Q1 × Q1, (f1, qi) U3, (pj, f1) D3 mà (f1, qi) = (pk, qk), với 1<i<j<k. Hay trên G3 có đƣờng đi kiểu 1, điều này mâu thuẫn với (iv).

Các lập luận trên hoàn thành phép chứng minh.

Từ Mệnh đề 3.4, cho phép ta xây dựng thuật toán TESTZCODE để kiểm định ngôn ngữ chính quy X = () A* có là Z-mã hay không.

... 1 1 1 1 1 f s 1 f s sxm  x m  ..., 1 1 1 1 1 1 s f s 1 f s f q y yn yn i       

- 72 -

Thuật toán 3.3. TESTZCODE()

Input:  = (Q, A, E, I, F) là otomat hữu hạn, không chứa cung rỗng.

Output: TRUE khi X = () là Z-mã, FALSE ngƣợc lại.

1. if EPSILON() then Return FALSE;

2. 1  EAT2(BA()); // 1 = (Q1,A, E1, s1, f1) 3. G1  PROD(1,1); // Cỡ Q2 trạng thái và E2 cung 4. G  XCOPY(G1); // Cỡ 3 Q2 đỉnh và 5E2 cung 5. if EPATH1OR2(G, ((s1, s1), 1),1)  0 then Return FALSE; 6. 2  EAT3(1); // 2 = (Q2, A, E2, s2, f2) 7. G2  PROD(2,2);

8. G  XCOPY3(G2);

9. if EPATH1OR2(G, ((s2, s2), 1), 0) = 1 then return FALSE; 10. G3  PRODUNI(1,1);

11. G  XCOPY3(G3);

12. if EPATH1OR2(G, ((s, s), 1) = 1 then return FALSE; 13. Return TRUE;

Nhận xét 3.2. Đánh giá độ phức tạp thời gian của Thuật toán 3.3: Nếu  là otomat đa định thì theo đánh giá độ phức tạp thời gian của các thuật toán ở các mục 2.2.4, 2.2.5 và 2.2.6 thì ta có độ phức tạp thời gian của bƣớc 1 là (Q), bƣớc 2, 6 là (Q+E), bƣớc 3, 7, 10 là ((Q+E)2), bƣớc 4, 8, 11 là (Q2

+E2), bƣớc 5, 9, 12 là ((Q2 +E2

)Q) = (Q5

). Tổng hợp lại thuật toán có độ phức tạp thời gian (Q5

). Nếu  là otomat đơn định thì theo Nhận xét 2.2 thì thuật toán có độ phức tạp thời gian là (Q3

), nếu coi lực lƣợng bảng chữ cái là hằng số.

- 73 -

KẾT LUẬN VÀ KIẾN NGHỊ

Thông qua các tài liệu nghiên cứu cùng với sự hƣớng dẫn của TS. Hồ Ngọc Vinh, tôi đã đạt đƣợc một số yêu cầu đặt ra. Các kết quả chính của luận văn:

- Trình bày lại một số khái niệm trong otomat hữu hạn, otomat đa định, đơn định hữu hạn; các cách biểu diễn otomat.

- Nêu một số thuật toán cơ bản trên otomat hữu hạn, các khái niệm trong đại số, lý thuyết mã, lý thuyết ngôn ngữ hình thức, đồ thị hữu hạn, ngôn ngữ, từ các phép toán trên từ và ngôn ngữ.

- Trình bày các định nghĩa về các lớp mã nhƣ mã (thông thƣờng), -mã, - mã, Z-mã cùng với tính chất đặc trƣng của chúng,

- Nêu các khái niệm trong máy biến đổi và otomat hữu hạn, đồng thời nêu một số thuật toán đối với máy biến đổi.

- Trình bày phƣơng pháp kiểm định ω-mã và Z-mã, với đầu vào là otomat hữu hạn.

- Đề xuất thuật toán tính toán độ trễ cho -mã, với đầu vào là otomat hữu hạn.

Với thuật toán đã trình bày trong luận văn, tác giả mong muốn đóng góp một phần nhỏ vào việc ứng dụng otomat để xây dựng các thuật toán kiểm định tính chất mã.

Hƣớng phát triển

Ứng dụng otomat hữu hạn vào việc thiết lập các thuật toán kiểm định tính chất mã của các lớp mã khác nhƣ mã bao trùm, mã luân phiên, mã tích trộn và tính toán độ trễ giả mã của chúng.

Tiếp tục cải tiến thuật toán để làm giảm độ phức tạp hơn nữa so với thuật toán đƣợc trình bày trong luận văn.

Với những gì đã nghiên cứu đƣợc, có thể áp dụng để kiểm định các thông tin đã đƣợc mã hóa trên hệ thống các phần mềm dùng chung. Do đó, trong thời gian sắp tới tác giả sẽ tập trung nghiên cứu, tích hợp hệ mã đã đƣợc kiểm định phục vụ khâu xác thực, mã hóa thông tin đối với cơ sở dữ liệu đào tạo tại Trƣờng Cao đẳng Sƣ phạm Điện Biện nói riêng và ngành giáo dục tỉnh Điện Biên nói chung./.

- 74 -

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Phan Đình Diệu (1977) Lý thuyết otomat và thuật toán. NXB Đại học và

Trung học chuyên nghiệp.

[2] Phan Trung Huy (1992) Đa tạp các vị nhóm hữu hạn và đa tạp ngôn ngữ từ

vô hạn. Luận án Tiến sĩ, Thƣ viện Quốc gia, Viện Toán học Việt Nam.

[3] Nguyễn Đức Nghĩa, Nguyễn Tô Thành (1997), Toán rời rạc, Nhà xuất bản

Giáo dục, Hà Nội.

[4] Đặng Quyết Thắng (2012) Một số vấn đề lý thuyết và ứng dụng của các mô

hình otomat nâng cao. Luận án Tiến sĩ, Thƣ viện Quốc gia, Đại học Quốc

gia Hà Nội.

[5] Hồ Ngọc Vinh (2012) Về một cấu trúc vị nhóm mới và mã. Luận án Tiến sĩ, Thƣ viện Quốc gia, Trƣờng Đại học Bách khoa Hà Nội.

[6] Hồ Ngọc Vinh, Nguyễn Đình Hân, Phan Trung Huy (2010) Mã với từ định

biên và Độ trễ giải mã.Tạp chí Công nghệ Thông tin và Truyền thông, TậpV-1,

Số 4 (24), pp. 46-56.

Tiếng Anh

[7] K.A. Berman, J.L Paul (2005) Algorithms - Sequential, parallel, and distributed, Thomson Learning, Inc.

[8] J. Berstel, D. Perrin (1985) Theory of Codes. Academic Press Inc.,

NewYork.

[9] T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein (2009), Introduction to Algorithms (3rd ed.), MIT Press and McGraw-Hill.

[10] S. Eilenberg (1974) Automata, languages and Machines. Vol. A, Academic Press, New York and London.

- 75 -

[11] E. N. Gilbert, E. F. Moore (1959)Variable length binary encodings. Bell System Technical Journal, Vol. 38, pp. 933-967.

[12] J. E. Hopcroft, J. D. Ullman (1969) Formal languages and their relation to

Automaton. Addison-Wesley Publishing Company.

[13] S. Julia and T.V. Duc (2007) Reduced languages as omega-generators.

Developments in Languages Theory, pages 266–277.

[14] G. Lallement (1979) Simigroups and combinatorial applications.John

Wiley & Sons Inc.

[15]M. Mohri, F. Pereira, M. Riley (2000) The design principles of a weighted finite-state transducer library, Theoretical Computer Science, 231(1), pp.17-32.

[16] M. Mohri, F. Pereira, M. Riley (2007) Speech Recognition with Weighted Finite-State Transducers, Handbook on Speech Processing and Speech

Communication, Part E: Speech recognition, Springer Heidelberg, pp.1-31. [17] A. A. Sardinas, C. W. Patterson (1953) A Necessary and Sufficient

Condition for the Unique Decomposition of Coded Messages. IRE Intern.

Conv. Record 8, pp. 104-108.

[18] M. P. Schützenberger (1966) On a question concerning certain free submonoids. Journal of Combinatorial Theory, Vol. 1, No. 4, pp. 437-442.

[19] L. Staiger (1986) On infinitary finite length codes. Informatique théorique et applications, 20(4):483–494, 1986

[20] R.A. Wagner, M.J. Fischer (1974) The string-to-string correction problem, Journal of the ACM, 21(1), pp. 168-173.

Một phần của tài liệu Thuật toán kiểm tra tính chất mã bằng otomat hữu hạn (Trang 67 - 75)

Tải bản đầy đủ (PDF)

(75 trang)