Các báo cáo đăng ký tham gia hội nghị khoa học lần 2 của PV CNTT VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TOÁN SK ĐỐI VỚI NGÔN NGỮ CHÍNH QUI VÀ NGÔN NGỮ DYCK VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TOÁN SK ĐỐI VỚI NGÔN NGỮ CHÍNH[.]
VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TỐN SK ĐỐI VỚI NGƠN NGỮ CHÍNH QUI VÀ NGƠN NGỮ DYCK VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TỐN SK ĐỐI VỚI NGƠN NGỮ CHÍNH QUI VÀ NGƠN NGỮ DYCK Nguyễn Xn Dũng, Phan Mỹ Trinh, Phạm Ngọc Linh Nhóm Nghiên Cứu, Ứng Dụng Các Hệ Thống Thơng Tin – PV CNTT Tp.HCM Tóm tắt: Trong [11] rằng, Bài tốn SK lớp ngơn ngữ phi ngữ cảnh đơn định giải toán tương đương lớp ngơn ngữ giải Do việc tìm kiếm lời giải cho tốn SK hướng đến lớp mà toán tương giải Trong tốn SK giải ngơn ngữ qui ngơn ngữ Dyck khơng tồn tập khung không tầm thường I Mở đầu Các ngơn ngữ qui tạo thành lớp quan trọng lớp ngôn ngữ phi ngữ cảnh đơn định nói chung lớp ngơn ngữ lập trình nói riêng Đây lớp ngơn ngữ có nhiều ứng dụng thực tế với nhận dạng ôtômát hữu hạn Đối với ngơn ngữ lập trình cấu trúc qui sử dụng để đặc tả cho cấu trúc từ vựng ngôn ngữ Về thực chất cấu trúc phân tích từ vựng trình biên dịch ô tô mát hữu hạn Cho nên việc giải toán SK cho lớp tạo sở cho việc xây dựng sửa lỗi tả tự động compiler cho chương trình biên dịch Ngơn ngữ Dyck ngơn ngữ đặc tả cấu trúc đối xứng lồng ngơn ngữ lập trình Chẳng hạn như, cấu trúc loại dấu ngoặc khác biểu thức, cấu trúc đóng mở cho khối chương trình cặp ký hiệu begin, end ngơn ngữ Pascal, {,} ngôn ngữ C Trong chúng tơi tốn SK lớp ngơn ngữ qui giải ngơn ngữ Dyck khơng tồn tập khung không tầm thường II Bài tốn SK ngơn ngữ qui Trong [11] tốn SK khơng giải lớp ngôn ngữ phi ngữ cảnh đơn định tốn tương đương lớp khơng giải Tuy nhiên rằng, lớp ngơn ngữ qui lớp lớp tốn SK giải Cho L ngơn ngữ qui chấp nhận ôtômát hữu hạn thu gọn A = (Q, , , q0, F) K tập tập cho, {├, ┤} K Theo định nghĩa đồng cấu K ta có K(L) ngơn ngữ qui K Mỗi từ L có dạng: w = a0 u1 a1…un an với K với i = 0,…,n ui (-K)* với i=1,…,n Ta xây dựng ôtômát A1 chấp nhận K(L) sau: A1 = (Q1, , 1, q0, F) với Q1 = {(q,a); với q Q, a K} {q0} Ánh xạ chuyển định nghĩa sau: Với q Q, a K , (q,a) = { (q, ua) ; u ( - K)*} Từ phương pháp xây dựng A1 dễ dàng suy L(A1) = K(L) Nguyễn Xuân Dũng, Phan Mỹ Trinh, Phạm Ngọc Linh Trang 1/4 VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TỐN SK ĐỐI VỚI NGƠN NGỮ CHÍNH QUI VÀ NGƠN NGỮ DYCK Định lý 1: K tập khung ngôn ngữ qui L, cho ơtơmát hữu hạn thu gọn A, A1 ôtômát hữu hạn đơn định Chứng minh: Giả sử K tập khung ngơn ngữ qui L Theo định lý [9] ngơn ngữ L có tính chất K-hậu tố, nghĩa với xa, za Pref(L) cho K(x) = K(z) ta có đẳng thức: Sufxa(L) = Sufza(L) (1) Từ lý thuyết ôtômát dễ dàng thấy Sufxa(L) = L(A’) (tương ứng, Sufza(L) = L(A’’)) , với A’ = (Q,,, (q0,xa),F) A’’ = (Q, , , (q0, za), F) tương ứng Từ suy A’ A’’ tương đương Từ giả thiết A ơtơmát thu gọn suy chúng có trạng thái Do A1 ơtơmát hữu hạn đơn định Ngược lại, giả sử A1 đơn định, sau ta thấy rằng, từ tính đơn định ôtômát A xâu xa za Pref(L) cho x,z *, a K K(x) = K(z) trạng thái (q0,xa) (q0, za) đồng Khẳng định chứng minh qui nạp theo số ký hiệu khung xâu Từ suy rằng, A’ A’’ tương đương, nghĩa ngôn ngữ L(A) thỏa mãn đẳng thức (1) với xa,za Pref(L(A)), với x,z *, a K, nghĩa là: Sufxa(L(A)) = Sufza(L(A)) Điều có nghĩa, ngơn ngữ L có tính chất K-hậu tố, K tập khung Định lý 1cho ta thuật toán xác định tập K cho trước có phải tập khung ngơn ngữ qui L hay khơng? Định nghĩa 1: Cho A = (Q, , , q0, F) ôtômát hữu hạn đơn định Ta định nghĩa: V=-K (q, V*) = {(q,u); với u V*} i+1(q, Vi+1) = ((q, Vi), V) , với 0(q, V0) = {q} Bổ đề 2: Cho A =(Q, , , q0, F) ơtơmát hữu hạn chấp nhận ngơng ngữ qui L, K tập Khi ta xây dựng hữu hiệu A1 từ A Chứng minh: Theo định nghĩa A1 dễ dàng xác định tập Q1 từ bảng chuyển ôtômát A cách hợp tất trạng thái kết nối ký hiệu khung với trạng thái q Với q Q1 ta xác định tập (q, V*) sau: Đặt 0(q, V0) = {q}, i+1(q, Vi+1) = (i(q, Vi), V) Rõ ràng i(q, Vi) tập tất trạng thái A từ trạng thái q với xâu có độ dài i V Do q, p trạng thái A với n trạng thái, nên p đạt tới từ q với xâu có độ dài nhỏ n, ta đặt: n (q, V*) = i ( q, V i ) i 0 Mỗi tập i(q, Vi) dễ dàng xác định từ i-1(q, Vi-1) Từ kết ta xác định tiếp cho q Q, a K ánh xạ 1(q,a) = (q, V*a) = ((q, V*),a) Định lý 3: Cho L ngơn ngữ qui {├, ┤} cho ôtômát hữu hạn đơn định A = (Q, , , q0, F) Khi toán SK với L giải Chứng minh: Nguyễn Xuân Dũng, Phan Mỹ Trinh, Phạm Ngọc Linh Trang 2/4 VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TỐN SK ĐỐI VỚI NGƠN NGỮ CHÍNH QUI VÀ NGƠN NGỮ DYCK Từ định lý ta có, K tập xương A ôtômát hữu hạn đơn định, nghĩa 1(q, a) =1 với q Q, a K Từ bổ đề dễ dàng kiểm tra điều kiện Từ suy khẳng định định lý Tiêu chuẩn đề xuất định lý thuận lợi cho việc xác định tính khung tập K ngơn ngữ qui đặc tả ôtômát hữu hạn Trong đa phần trường hợp ta có lời giải cho tốn SK cách nhanh chóng III Về tính tầm thường tập xương ngôn ngữ Dyck Ngôn ngữ Dyck ngôn ngữ dùng để biểu diễn cấu trúc đối xứng lồng nhau, chẳng hạn loại dấu đóng mở ngoặc biểu thức khác Trong mục rằng, ngôn ngữ Dyck không tồn tập khung không tầm thường Nghĩa là, ngôn ngữ Dyck bảng chữ n tập khung ký hiệu đánh dấu mút trái mút phải, toàn bảng chữ n D1i ký hiệu ngôn ngữ Dyck D2ij ký hiệu ngôn ngữ Dyck bảng chữ {ai , a i , a j , a j } với 1 I, j Định nghĩa 2: Cho bảng chữ {ai , a i } n i j n {a a , a1 , , a n , a n } , n Định lý 4: Nếu K tập khung ngôn ngữ L * {├, ┤}1 , ta có tập K 1 tập khung ngôn ngữ L 1* Chứng minh: Ta thấy xâu từ L 1* xuất ký hiệu khung từ tập K 1 Chẳng hạn, x L 1* có dạng x= a0 u1 a1…unan rõ ràng K1 (0 i n) uj (1 – K)* (1 j n) Từ dễ dàng suy ra, K tập khung ngôn ngữ L 1* Định lý 5: Với số tự nhiên n ngơn ngữ Dyck D n khơng có tập khung không tầm thường Chứng minh: a) n =1 Ta chứng minh khẳng định phản chứng Giả sử D1i tồn tập khung không tầm thường Khi xảy hai trường hợp sau: Trường hợp 1: K āi K Ta thấy xâu aiaiāiāi D1i xâu aiāiai Pref( D1i ) theo định nghĩa tập khung phải có xâu aiāiaiāiāi D1i , aiāiaiāiāi D1i nên dẫn đến mâu thuẫn Từ suy K= {ai} tập khung D1i Trường hợp 2: Ngược lại, giả sử K = {āi} ta xét xâu aiāiaiāi aiaiāiāi D1i Tương tự trường hợp ta thấy K tập khung D1i b) n = Trên sở địng nghĩa phần a) không làm tổng quát ta giả thiết rằng, với i j đó, i, j n { ai, āi}= K aj, āj K Sau ta xét hai xâu sau: aiajaiāiājāi D2ij aiajājāi Pref( D2ij ) nh ưng xâu aiajājaiājāi D2ij T đ ây suy tập K tập khung D2ij c) n Nguyễn Xuân Dũng, Phan Mỹ Trinh, Phạm Ngọc Linh Trang 3/4 VỀ TÍNH GIẢI ĐƯỢC CỦA BÀI TỐN SK ĐỐI VỚI NGƠN NGỮ CHÍNH QUI VÀ NGÔN NGỮ DYCK d) Từ định lý phần trước, rõ ràng ngôn ngữ Dyck D n với n tùy ý không tồn tập khung khơng tầm thường ngơn ngữ D1i D2ij ngôn ngữ Dn không tồn tập khung khơng tầm thường nào, từ dễ dàng suy khẳng định định lý TÀI LI ỆU THAM KHẢO [1] Freeman D N Error Correction in CORC , The Cornell Computing Language, Proc AFIPS Fall Joint Computer Conference, 26, 15-34 [2] Morgan H.L Spelling Correction in System Programs, Comm ACM, 13:2, 56-58 [3] Chytil M.P., Demner J., Calmly on Panic mode Preprint , November 1986 [4] Chytil M.P., Demner J., Panic mode without Panic Automata, Languages and Programming 14th International Colloquium Karsruhe, Federal Republic of Germany, July 1987 Procceding [5] Chytil M.P., Demner J., Platek M , Effectivní metoda zotavení ze syntaktickych chyb SOFSEM ’86 Sborník referatu [6] Nguyen Xuan Dung O rozhodnosti skeletalních mnozin Kandidatská Disertacní Prace MFF UK Praha 1988 [7] Nguyen Xuan Dung On Decidability of Skeletal Sets Technique Report of Prague University, No 49, May 1989 [8] Nguyen Xuan Dung Some Unsolvable for Linear Languages Conference Procceding of HCM city Mathematics Consortium, April 1993 [9] Nguyen Xuan Dung Theoretical Base for Chytil-Demner Error Recovery Method Procceding of Hội nghị KH ĐHBK TPHCM 1995 [10] Nguyen Xuan Dung, Phan My Trinh, Pham Ngoc Linh Sửa lỗi tự động ngôn ngữ lập trình Bài toán SK Báo cáo Hội nghị KH Phân vieän CNTT 2005 [11] Nguyen Xuan Dung, Phan My Trinh, Pham Ngoc Linh V ề điều kiện cần để giải tốn SK lớp ngơn ngữ phi ngữ cảnh đơn định Báo cáo Hội nghị KH Phân viện CNTT 2005 [12] Aho A.V., Ullman J.D Theory of Parsing, Translation and Compiling Prentice Hall 1972 [13] Harrison M A Introduction to Formal Language Theory Addison-Wesley Publ Comp., 1978 Nguyễn Xuân Dũng, Phan Mỹ Trinh, Phạm Ngọc Linh Trang 4/4 ... Procceding of Hội nghị KH ĐHBK TPHCM 1995 [10] Nguyen Xuan Dung, Phan My Trinh, Pham Ngoc Linh Sửa lỗi tự động ngôn ngữ lập trình Bài toán SK Báo cáo Hội nghị KH Phân viện CNTT 20 05 [11] Nguyen... ngôn ngữ phi ngữ cảnh đơn định Báo cáo Hội nghị KH Phân viện CNTT 20 05 [ 12] Aho A.V., Ullman J.D Theory of Parsing, Translation and Compiling Prentice Hall 19 72 [13] Harrison M A Introduction... n tập khung ký hiệu đánh dấu mút trái mút phải, toàn bảng chữ n D1i ký hiệu ngôn ngữ Dyck D2ij ký hiệu ngôn ngữ Dyck bảng chữ {ai , a i , a j , a j } với 1 I, j Định nghĩa 2: Cho bảng chữ