Bài giảng Ngôn ngữ hình thức: Chương 2 Ôtômát hữu hạn và biểu thức chính quy, cung cấp cho người học những kiến thức như: Biểu thức chính quy; Nguyên lý hoạt động Ôtômát; Ôtômát hữu hạn tiền định; Sự tương đương giữa ô tô mát hữu hạn và biểu thức chính quy. Mời các bạn cùng tham khảo!
Chương 2: ƠTƠMÁT HỮU HẠN VÀ BIỂU THỨC CHÍNH QUY I. Biểu thức chính quy (BTCQ) Định nghĩa: Cho bộ chữ là một BTCQ ε là một BTCQ a thì a là một BTCQ , là các BTCQ( + ), ( ), ( *) là các BTCQ Biểu thức chính quy … Quy ước: Để lược bớt các vịng đơn, áp dụng các mức ưu tiên với các tốn tử theo thứ tự *, ., + Tốn tử “*” được viết ở vị trí chỉ số trên Tốn tử ghép tiếp (.) có thể được bỏ qua: viết β thay vì β Giá trị của BTCQ Một BTCQ trên biểu diễn một ngôn ngữ trên L( )= ; L(ε)= {ε} L(a)={a} với a L(( + ))=L( ) L( ) L(( ))=L( ).L( ) L(( *))=(L( ))* Ta gọi ngơn ngữ chính quy là mọi ngơn ngữ có thể được chỉ định bởi một biểu thức chính quy. Biểu thức chính quy … Ví dụ: ={0, 1} BTCQ 00 (0+1)* Giá trị (0+1)*00(0+1)* (1+10)* {00} {0,1}* {x|x {0,1}* x chứa liên tiếp} {x|x {0,1}* x có đầu khơng có hai liên tiếp} Tính chất của BTCQ Cho r, s, t là các BTCQ: (1) r+s=s+r (8) r+r=r (2) r+(s+t)=(r+s)+t (9) r(st)=(rs)t (3) r(s+t)=rs+rt (10) (r+s)t=rt+st (4) rε= εr=r (11) r=r = (5) r+ =r (12) *= ε (6) (ε+r)*=r* (13) r+r*=r* (7) (r*)*=r* (14) (r*s*)*=(r+s)* Ví dụ Sử dụng các tính chất của biểu thức chính quy rút gọn công thức sau: ( +0)* + 0 0* +(1+ )(1+ )*(1+ ) Ơ tơ mát hữu hạn Ơ tơ mát hữu hạn: Trực quan: là máy trừu tượng đốn nhận ngơn ngữ Hình thức: là hệ viết lại đốn nhận xâu bằng cách viết lại cho đến khi gặp tiên đề Gồm hai loại: Ơtơmát hữu hạn tiền định (DFA) Ơtơmát hữu hạn khơng tiền định(NFA) Cấu tạo của OHT Băng vào 0 1 Đầu đọc q Cái điều khiển Hình. Ơtơmát hữu hạn tiền định Cấu tạo của OHT Cấu tạo: Một băng vào: chứa xâu cần xử lý (xâu vào), mỗi ơ chứa một kí tự Một đầu đọc: tại mỗi thời điểm trỏ vào một ơ của băng vào và cho phép đọc kí hiệu trong ơ đó Cái điều khiển (bộ chuyển trạng thái): tại mỗi thời điểm có một trạng thái: Các trạng thái là hữu hạn Có một trạng thái đầu và các trạng thái thừa nhận Một hàm dịch chuyển: cho phép xác định trạng thái tiếp theo dựa và trạng thái và kí hiệu đọc được hiện tại 10 Sự tương đương giữa VPTTphải và VPTT phải đơn Xây dựng G’ từ G bằng cách sau: Thay mọi quy tắc của G có dạng: A a1a2…anB (n>1) Bởi các quy tắc: A a1B1 B1 a2B2 … Bn1 anB Trong đó: B1, B2, …, Bn1 là các kí hiệu khơng kết thúc m ới 45 Sự tương đương giữa VPTTphải và VPTT phải đơn Thay mọi quy tắc của G có dạng: A a1a2…an (n>1) Bởi các quy tắc: A a1B1 B1 a2B2 … Bn1 an 46 Sự tương đương giữa VPTTphải và VPTT phải đơn Ví dụ: Cho văn phạm tuyến tính phải G như sau: S abA| aB A aaS| bA B aA|b Y/c: Tìm văn phạm tuyến tính phải đơn G’ tương đương với G 47 Sự tương đương giữa VPTT phải đơn và FA Định lý II.9: Mọi ngơn ngữ chính quy đều có thể được sản sinh bởi một văn phạm tuyến tính phải Chứng minh: Cho một ngơn ngữ chính quy L được thừa nhận bởi một Ơ tơ mát hữu hạn tiền định M=( ,Q, ,q0,F) Ta xây dựng văn phạm G=( , ,S,P) 48 Sự tương đương giữa VPTT phải đơn và OH Xây dựng văn phạm G=( , ,S,P) trong đó: =Q; q0 là kí hiệu đầu (tiên đề); P gồm: q ap nếu (q,a)=p; q nếu q F 49 Sự tương đương giữa VPTT phải đơn và FA Ví dụ 2: Cho DFA như sau: Y/c: Tìm văn pham tuyến tính phải tương đương với DFA đã cho 50 Sự tương đương giữa VPTT phải đơn và FA Định lý II.10: Mọi ngơn ngữ sinh từ văn phạm tuyến tính phải đều là ngơn ngữ chính quy: Chứng minh: Cho L là một ngơn ngữ sinh bởi một văn phạm tuyến tính phải (giả sử G đơn); Ta lập một ô tô mát không tiền định M tương đương với G thừa nhận L 51 Sự tương đương giữa VPTT phải đơn và FA Xây dựng NFA: M=( , {f}, , S, {f}) Trong đó: f ; (A,a)={B|(B và A aB P) hay (B=f và A a P)} ( với mọi a { } và với mọi A ) 52 Sự tương đương giữa VPTT phải đơn và FA Ví dụ 3: Cho Văn phạm: S |aS|bT|b TbT|b Y/c: Tìm Ơ tơ mát hữu hạn tương đương với văn phạm đã cho 53 Sự tương đương giữa VPTT phải đơn và FA Định lý II.11: Một ngơn ngữ được sản sinh bởi một văn phạm tuyến tính phải khi và chỉ khi nó là chính quy. Chứng minh: Định lý là hệ quả trực tiếp từ các Định lý II.9 và II.10 54 V. Các ngơn ngữ chính quy Các phương tiện xác định ngơn ngữ chính quy: Biểu thức chính quy Các ơ tơ mát hữu hạn tiền định Các ơ tơt mát hữu hạn khơng tiền định Các văn phạm tuyến tính phải 55 Các tính chất đóng của NNCQ L1, L2 là các ngơn ngữ chính quy thì: L1 L2 là ngơn ngữ chính quy L1 L2 là ngơn ngữ chính quy L1 . L2 là ngơn ngữ chính quy L1* là ngơn ngữ chính quy L1 = *L1 là ngơn ngữ chính quy 56 Các bài tốn quyết định trên NNCQ Bài tốn từ: Cho L là NNCQ và một từ x *. Phải chăng x L Bài tốn ngơn ngữ rỗng: Cho L là NNCQ. Phải chăng L= Bài tốn ngơn ngữ đầy: Cho L là NNCQ. Phải chăng L= * Bài tốn bao hàm ngơn ngữ: L1 L2 là NNCQ. Phải chăng L1 L2 Bài tốn ngơn ngữ bằng nhau: L1 L2 là NNCQ. Phải chăng L1 =L2 57 Định lý “Đùn” (Bổ đề Bơm) Định lý: Cho L là ngơn ngữ chính quy vơ hạn và một xâu w L sao cho w #Q (Q là tập các trạng thái của một ơ tơ mát hữu hạn tiền định thừa nhận L). Khi đó tồn tại x,u,y sao cho w=xuy (u ε và |xu| #Q) và xuny L (với n = 1, 2, …) Nhận xét: Định lý đùn là điều kiện cần đối với các ngơn ngữ chính quy; Chứng minh một ngơn ngữ khơng là chính quy nếu ngơn ngữ đó khơng thỏa định lý “Đùn” 58 Một số ví dụ L=an bn khơng là ngơn ngữ chính quy vì khơng thể tìm thấy xâu xuy sao cho xuny anbn L={0m 1n 0m+n| m 1 và n 1} khơng là ngơn ngữ chính quy L = {ap | p là số ngun tố} 59 ... Biểu diễn đồ? ?thị? ?của OHT Ví dụ: M=( ,Q, ,q0,F) ={0,1}; Q={q0, q1, q2}; F={q1} được cho bởi: (q0, 0)=q0, (q0, 1)=q1 (q1, 0)=q0, (q1, 1)=q2 (q2, 0)=q2, (q2, 1)=q1 ĐỒ? ?thị? ?chuyển trạng ... Định lý II.1: Nếu một ngơn? ?ngữ? ?được thừa nhận bởi một ơ tơ mát hữu hạn thì nó cũng sẽ được thừa nhận bởi một ơ tơ mát hữu hạn khơng có dịch chuyển ε (CM:Lý thuyết ngơn? ?ngữ? ?và tính tốn –? ?Nguyễn? ?Văn Ba) 22 Loại bỏ dịch chuyển ... Từ ơ tơ mát hữu hạn tới ngơn? ?ngữ? ?chính quy 29 Từ biểu thức chính quy đến Ơ tơ mat hữu hạn Định lý II.4 Mọi ngơn? ?ngữ? ?chính quy trên đều là ngơn? ?ngữ? ? trạng thái hữu hạn trên (ngơn? ?ngữ? ?được đốn nhận bởi OH)