Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
209,51 KB
Nội dung
Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 12 Nguyễn Đức Thuần Ch-ơng II ôtômathữuhạnđoánnhậnNgônngữchínhquy 1.ôtômat hữuhạn (Finite automata - Fa) Ôtômáthữuhạn có thể xem nh- "máy trừu t-ợng". Chúng là một công cụ đoánnhận một lớp các ngônngữ đơn giản gọi là chính qui. 2.1 ôtômáthữuhạn 2.1 Định nghĩa: Ôtômáthữuhạn là bộ M = <ồ,Q,d, q 0 ,F>, trong đó: ồ : là tập hữuhạn khác rỗng các ký hiệu vào. Q : là tập hữuhạn khác rỗng các trạng thái. q 0 : là trạng thái đầu (q 0 ẻ Q) F : là tập các trạng thái kết thúc (FQ) d : đ-ợc gọi là hàm chuyển có dạng : 1. Nếu hàm chuyển là ánh xạ : d : Q x ồ đ Q, khi đó M đ-ợc gọi là ôtômat đơn định ( Deterministic Finite Automata, viết tắt DFA). 2. Nếu hàm chuyển là ánh xạ : d : Q x ồ đ 2 Q , khi đó M đ-ợc gọi là ôtômat không đơn định ( Nondeterministic Finite Automata, viết tắt NDFA). Ta có thể mô tả các b-ớc làm việc của 1 ôtômáthữuhạn M = <ồ,Q,d, q 0 ,F>,khi cho xâu vào w = x 1 x 2 x n ẻ ồ * nh- một máy, mà ph-ơng thức làm việc nh- sau: Có một băng vào dùng để ghi xâu vào. Có một đầu đọc, ở mỗi thời điểm có thể nhìn vào 1 ô ở băng vào. Có một bộ điều khiển Q gồm một số hữuhạn trạng thái: ở mỗi thời điểm nó có một trạng thái. ( Hình 2.1) Băng vào x 1 x 2 x n-2 x n-1 x n Bộ điều khiển Hình 2.1 Các bộ phận của ôtômathữuhạn Khi bắt đầu làm việc máy ở trạng thái đầu q 0 và đầu đọc đang nhìn vào ô có ký hiệu x 1 . Tiếp theo, máy chuyển từ trạng thái q 0 d-ới tác động của ký hiệu vào x 1 về trạng q Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 13 Nguyễn Đức Thuần thái mới d(q 0 , x 1 ) = q 1 ẻQ và đầu đọc chuyển sang một ô, tức nhìn vào ô ký hiệu x 2 . Sau đó ôtômat M lại tiếp tục chuyển từ trạng thái q 1 nhờ hàm chuyển d về trạng thái mới: q 2 = d(q 1 , x 2 ) = d(d (q 0 , x 1 ), x 2 ) ẻQ. Quá trình đó sẽ tiếp tục cho đến khi đầu đọc nhìn vào ký hiệu x n với trạng thái của máy là q n-1 = d(q 0 , x 1 x 2 x n-1 ). Hàm chuyển lại đ-a máy từ trạng thái q n-1 d-ới tác động của x n về trạng thái q n = d(q n-1 , x n ) = d(q 0 , x 1 x 2 x n-1 x n ) ẻQ. Khi đó ôtômat dừng lại. Nếu q n ẻF thì ta nói rằng ôtômat đã đoánnhận ra xâu w. Trong tr-ờng hợp ng-ợc lại, thì nói rằng ôtômát không đoánnhận đ-ợc xâu w. Tập L(M) = {w/ w ẻ ồ * mà d(q 0 , w)ẻ F} đ-ợc gọi là ngônngữ đ-ợc đoánnhận bởi ôtômat M. Tập trạng thái Q trong quá trình tính toán đ-ợc coi nh- là bộ nhớ của một ôtômat. Vì Q là hữuhạn nên M đ-ợc gọi là ôtômathữu hạn. 2.2 ph>ơng pháp biểu diễn ôtômáthữuhạn Cho Ôtômat thực chất là cho hàm chuyển của nó. Hàm chuyển có thể cho d-ới dạng bảng chuyển, hoặc cho d-ới dạng đồ thị. a. Ph0ơng pháp cho ôtômat bằng bảng chuyển: Trạng thái Ký hiệu vào x 1 x 2 x n q 1 q 2 q 3 q k d(q 1 , x 1 ) d(q 2 , x 1 ) d(q 3 , x 1 ) d(q k , x 1 ) d(q 1 , x 2 ) d(q 2 , x 2 ) d(q 3 , x 2 ) d(q k , x 2 ) d(q 1 , x n ) d(q 2 , x n ) d(q 3 , x n ) d(q k , x n ) Ví dụ 1: Xét ôtômathữuhạn đơn định M = <ồ,Q,d, q 0 ,F>, trong đó: ồ = {0,1}, Q= {q 0 , q 1 , q 2 , q 3 }, F = {q 3 } bảng chuyển cho bởi Trạng thái 0 1 q 0 q 1 q 2 q 3 q 1 q 3 q 0 q 3 q 2 q 0 q 3 q 3 Ví dụ 2 : Giả sử xét các xâu w 1 = 10110, w 2 = 10011. Hỏi rằng ôtômat M có đoánnhận các xâu đó hay không? Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 14 Nguyễn Đức Thuần a. Dãy trạng thái của ôtômat M khi cho w 1 vào là : w 1 = 1 0 1 1 0 q 0 đ q 2 đ q 0 đ q 2 đ q 3 đ q 3 ẻ F Do đó, ôtômat M đoánnhận xâu w 1 = 10110. b. Dãy trạng thái của ôtômat M khi cho w 2 vào là : w 1 = 1 0 0 1 1 q 0 đ q 2 đ q 0 đ q 1 đ q 0 đ q 2 ẽ F Do đó, ôtômat M không đoánnhận xâu w 2 = 10011. Từ các ví dụ trên ta thấy quá trình đoánnhận một xâu nào đó đối với ôtômat M đơn định là quá trình biến đổi trạng thái cuối cùng của ôtômat có phải là trạng thái kết thúc hay không. Thuật toán mô phỏng ôtômathữuhạnđoánnhận xâu vào của ôtômat đơn định nh- sau: Input : - Một xâu w, kết thúc bởi ký hiệu hết dòng eol. - Một ôtômathữuhạn M với trạng thái ban đầu q 0 và tập trạng thái kết thúc là F. Output : - "True" nếu M đoánnhận đ-ợc xâu w - "False" nếu M không đoánnhận xâu w. Thuật toán: Begin S:=q 0 ; C:= ký tự đầu trong xâu w; While C <> eol do Begin S:= d (S,C); C:= ký tự tiếp trong w; end; If S in F then return (true) else return(False); End; Ví dụ 3 : Cho ôtômat không đơn định = <ồ,Q,d, q 0 ,F>, trong đó: ồ = {0,1}, Q = {q 0 , q 1 , q 2 , q 3 }, q 0 là trạng thái đầu, F = {q 2 , q 4 } là tập các trạng thái kết thúc. Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 15 Nguyễn Đức Thuần Hàm chuyển d : Qxồ đ 2 Q đ-ợc cho ở bảng sau: Trạng thái Ký hiệu vào 0 1 q 0 {q 0, ,q 3 } {q 0 ,q 1 } q 1 ặ q 2 q 2 q 2 q 2 q 3 q 4 ặ q 4 q 4 q 3 Khi cho xâu vào là w = 01001 thì đối với máy M ta có cây đoánnhận xâu nh- sau: Trong cây trên có một đ-ờng đi từ q 0 đến q 4 ẻ F nên xâu w 1 = 01001 là xâu đoánnhận đ-ợc bởi máy M. b. Ph0ơng pháp cho ôtômat bằng đồ thị chuyển: Thông th-ờng để dễ hình dung hơn, ta th-ờng biểu diễn hàm chuyển d-ới dạng một đồ thị định h-ớng, gọi là đồ thị chuyển nh- sau: Mỗi đỉnh của đồ thị t-ơng ứng với một trạng thái. Nút đầu đ-ợc trỏ bởi một mũi tên, các đỉnh có trạng thái kết thúc đ-ợc khoanh vòng tròn 2 lần. Nếu có d(q,a) = p thì có một cung đi từ đỉnh q đến đỉnh p, và cung đó mang nhãn a. Ví dụ 4 : Cho ôtômat không đơn định M= <ồ,Q,d, q 0 ,F>, trong đó: ồ = {0,1}, Q = {q 0 , q 1 , q 2 , q 3 }, q 0 là trạng thái đầu, F = {q 0 } là tập các trạng thái kết thúc. Trạng thái 0 1 q 0 q 1 q 2 q 3 q 2 q 3 q 0 q 1 q 1 q 0 q 3 q 2 q 0 q 0 q 0 q 0 q 3 q 1 q 3 q 0 q 0 q 3 q 1 q 4 q 4 ặ ặ ặ Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 16 Nguyễn Đức Thuần Lúc này, đồ thị chuyển sẽ có dạng nh- sau: Chú ý : Định nghĩa ôtômathữuhạn đơn định & không đơn định bằng hệ viết lại: - Ta gọi Hệ viết lại ngầm định của Ôtômathữuhạn đơn định (không đơn định): M= <ồ,Q,d, q 0 ,F>, là hệ viết lại RW = (V,P) nh- sau: V = ồẩQ, P gồm các sản xuất đ-ợc thành lập theo quy tắc: Nếu có d(q,a) = p (hoặc d(q,a) = {p 1 ,p 2 , p m }) trong đó p, q, p i ẻ Q và a ẻồ thì : qa đ p là một sản xuất trong P (hay qa đ {p 1 p 2 p 3 p n }) Với các quan hệ suy dẫn , đã xác định ở ch-ơng I, hệ viết lại RW cho phép biến đổi các hình trạng của Ôtômathữu hạn. Ngônngữ đ-ợc đoánnhận bởi M là: L = {w ẵ w ẻồ* và q 0 w p với p ẻ F}. 2.3 sự t>ơng đ>ơng giữa Ôtômathữuhạn đơn định và Ôtômathữuhạn không đơn định: Theo định nghĩa của Ôtômat đơn định M và không đơn định N , nếu ký hiệu các lớp ngônngữ đ-ợc đoánnhận bởi M và N t-ơng ứng là L(M) và L(N). Ta có định lý sau: 2.3.1 Định lý : Lớp ngônngữđoánnhận bởi ôtômát đơn định trùng với lớp ngônngữđoánnhận đ-ợc bởi ôtômat không đơn định. Chứng minh: Theo định nghĩa của ôtômat đơn định & ôtômát không đơn định, dễ dàng nhận thấy: lớp ngônngữđoánnhận đ-ợc bởi ôtômat đơn định là lớp con của lớp ngônngữđoánnhận đ-ợc ôtômát không đơn định. ( L(M) L(N) ). Ta chứng minh L(N) L(M). Thật vậy, giả sử p ẻồ * đoánnhận đ-ợc bởi ôtômát không đơn định N = <ồ,Q,d,s 0 ,F> hay p ẻ L(N). Ta xây dựng ôtômát đơn định M = <ồ',Q',d',q 0 ,F'> đoánnhận p nh- sau : ồ'=ồ, Q' = 2 Q , q 0 = {s 0 }; F' = {U QẵUầFạặ} còn d':Q'xồ đ Q' đ-ợc xác định nh- sau: q 3 q 1 q 2 q 0 1 1 0 0 0 0 1 1 Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 17 Nguyễn Đức Thuần "UẻQ, "xẻồ thì d'(U,x) = qUẻ U d(q,x). Với M định nghĩa nh- trên, thì ta có p ẻL(M) hay L(N) L(M). (đ.p.c.m) Ví dụ 5: Cho Ôtômat không đơn định N = <ồ,Q,d, s 0 ,F>, với ồ = {a,b}, Q ={s 0, s 1 }, F = {s 1 }, hàm chuyển đ-ợc xác định : d: Qxồ đ 2 Q đ-ợc cho bởi bảng chuyển sau: Trạng thái Ký hiệu vào a b s 0 {s 0 , s 1 } s 1 s 1 ặ {s 0, s 1 } Khi đó Ôtômat đơn định M t-ơng ứng với ôtômat không đơn định N đ-ợc xây dựng nh- sau: M = <ồ',Q',d',q 2 ,F'>, với ồ' = ồ= {a,b}, Q' = {q 1 ,q 2 ,q 3 ,q 4 } ở đây q 1 =ặ, q 2 = {s 0 }, q 3 = {s 1 }, q 4 = {s 0 , s 1 } còn F' = {q 3 , q 4 }. Hàm chuyển d' cho d-ới bảng sau: Trạng thái Ký hiệu vào a b q 1 ặ ặ q 2 q 4 q 3 q 3 ặ q 4 q 4 q 4 q 4 Ta có L(N) = L(M) hay N t-ơng đ-ơng với M. Ví dụ 6: - Xét Ôtômát không đơn định N có đồ thị chuyển nh- sau : - Đồ thị chuyển của Ôtômát đơn định M t-ơng ứng là: q 1 q 0 0,1 1 0 1 {q 1 } {q 0 } {q 0 , q 1 } ặ 1 1 0 0 0,1 0,1 Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 18 Nguyễn Đức Thuần Nhận xét: Theo định lý trên : Nếu ngônngữ L đ-ợc chấp nhận bởi ôtômathữuhạn không đơn định, thì tồn tại một ôtômáthữuhạn đơn định chấp nhận L. 2. Ôtômathữuhạn và văn phạm chính qui: 2.4.1 Định lý : Nếu L là ngônngữchính qui thì tồn tại một ôtômathữuhạn không đơn định chấp nhận L. Chứng minh : Giả sử L đ-ợc sinh ra bởi văn phạm chính qui G = <ồ, D,S,P>. Ta xây dựng ôtômathữuhạn không đơn định N = < ồ' ,Q, d, q 0 , F>, trong đó: - ồ' = ồ, Q= D ẩ {E}, E ẽ ồẩD; - q 0 = S - d(E, a) = ặ, "a ẻồ - d(B,a) chứa tất cả các trạng thái D sao cho B đaDẻP, thêm vào : d(B,a) chứa E nếu Bđa ẻP. -Nếu có S đe : d(B,a)={S} F E ES = ỡ ớ ợ {}, {,}, Ta chứng minh L(N) = L(G)=L. * L(G) L(N) Lấy w = a 1 a 2 a k ẻ L và giả sử eạw, lúc đó tồn tại một suy dẫn trong G: S a 1 A 1 a 1 a 2 A 2 a 1 a 2 a k-1 A k-1 a 1 a 2 a k . ở đây A 1 , A 2 , , A k-1 ẻD và do đó tồn tại một dãy qui tắc của p: S đ a 1 A 1 ; A 1 đ a 2 A 2 ; ; A k-1 đ a k . Theo định nghĩa của d thì : A 1 ẻd(S,a 1 ); A 2 ẻd(A 1 ,a 2 ); ; A k-1 ẻd( A k-2 ,a k-1 ); E ẻd( A k-1 ,a k ); Nh- vậy : E ẻ d(A,a 1 a 2 a k ) hay w ẻ L(N); Nếu w = e ẻ L thì trong G chứa S đ e và do đó S ẻ F. Trong tr-ờng hợp này d(S,e) ={S} nên e ẻ L(N). * L(N) L(G) Ng-ợc lại, Lấy w = a 1 a 2 a k ẻ L(N) và giả sử eạw, lúc đó tồn tại một dãy trạng thái S, A 1 , A 2 , ,A k , E sao cho: A 1 ẻd(S,a 1 ); A 2 ẻd(A 1 ,a 2 ); ; A k-1 ẻd( A k-2 ,a k-1 ); E ẻd( A k-1 ,a k ); Theo định nghĩa của d ta lại có các qui tắc: S đ a 1 A 1 ; A 1 đ a 2 A 2 ; ; A k-1 đ a k . Và do đó có dãy suy dẫn: nếu P không chứa S đe ng-ợc lại Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 19 Nguyễn Đức Thuần S a 1 A 1 a 1 a 2 A 2 a 1 a 2 a k-1 A k-1 a 1 a 2 a k . hay w ẻ L(G); Nếu w = e ẻ L(N) thì tồn tại qui tắc S đ e ẻP và do đó eẻL(G). Vậy L(M) = L(G) = L. đ.p.c.m Ví dụ 7: Xét G = < {a,b}, {S,A,B}, S, { S đaA, S đ bB, A đ aA, B đbB, A đa, B đb}> Xây dựng Ôtômathữuhạn không đơn định thừa nhận L(G): N= <{a,b}, {S,A,B,E}, d, S, {E}> d(S,a) = {A} d(A,a) = {A,E} d(S,b) = {B} d(A,b) = ặ d(B,a) = ặ d(B,b) = {B,E} d(E,a) = d(E,b) = ặ. L(G) = {a i , b j , i,j 0 } 2.4.2 Định lý : Nếu ngônngữ L đ-ợc đoánnhận bởi 1 ôtômáthữuhạn đơn định thì L là 1 ngônngữchính qui. Chứng minh : Cho M = < ồ,Q, d, q 0 , F> là ôtômáthữuhạn đơn định chấp nhận L. Ta xây dựng văn phạm chính qui sau : G = <ồ, D,S,P>. ở đây: S = q 0 ; D = Q; P đ-ợc xác định nh- sau: - Nếu có d(q, a) = p thì P chứa q đ ap - Nếu có d(q, a) = p ẻF thì P chứa q đ a. Ta sẽ chứng minh : L(G) = L - {e} * Ta chứng minh L - { e } L(G): S b b A E B a a Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 20 Nguyễn Đức Thuần Lấy w = a 1 a 2 a k ẻ L - {e} ta có : d(q 0 , a 1 ) = p 1 d(p 1 , a 1 ) = p 2 . . . . . . . . . . d(p k-1 , a k ) = p k ẻ F, và do đó trong P có các qui tắc: q 0 đ a 1 p 1 , p 1 đ a 2 p 2 , , p k-1 đ a k hay : q 0 a 1 p 1 a 1 a 2 p 2 a 1 a 2 a k . Suy ra : w = a 1 a 2 a k ẻ L(G). * Ta chứng minh L(G) L - { e }: Ng-ợc lại lấy w = a 1 a 2 a k ẻ L(G), lúc đó tồn tại dãy suy dẫn: q 0 a 1 p 1 a 1 a 2 p 2 a 1 a 2 a k và nh- vậy: q 0 đ a 1 p 1 , p 1 đ a 2 p 2 , , p k-1 đ a k là các qui tắc của P. Theo định nghĩa của d ta có : p 1 = d(q 0 , a 1 ) p 2 = d(p 1 , a 2 ) . . . . . . . . . . p k =d(p k-1 , a k ) và p k ẻ F, do đó w ẻ L(M)= L Trong tr-ờng hợp eẻL, theo ch-ơng 1, ta có thể xây dựng đ-ợc G' sao cho: L(G') = L(G) ẩ {e} = L .(đ.p.c.m) Chú ý : L ngônngữchính qui ị Ôtômáthữuhạn không đơn định í ò Ôtômáthữuhạn đơn định 2.4.3 Định lý : ( Định lý Pumping cho ngônngữchính qui) Giả sử L là 1 ngônngữ vô hạn đ-ợc đoánnhận bởi 1 ôtômat hữ- hạn đơn định thì tồn tại 1 số tự nhiên m sao cho "w ẻL có ẵwẵm có thể phân tích d-ới dạng w=xyz, ở đây ẵxyẵÊ m, ẵyẵ 1 và "i0, xy i z ẻL. Chứng minh: Nếu L đ-ợc đoánnhận bởi 1 ôtômathữuhạn đơn định (dfa): M =< ồ ,{q 0 , q 1 , q 2 , , q n },d, q 0 , F> Chọn m=n+1. "wẻL, ẵwẵ=k m, các trạng thái tham gia vào việc đoánnhận w có dạng: q 0 , q i , q j , , q j , , q r , , q r , , q f (vì số trạng thái tham gia đoánnhận lớn hơn số trạng thái có đ-ợc của ôtômat nên có ít nhất 1 trạng thái lặp) Gọi x, y, z lần l-ợt là các xâu con của w mà: d*(q 0 , x) = q r d*(q r , y) = q r {y là xâu con bé nhất của w thoả d*(q r , y) = q r } d*(q r , z) = q f Ta có thể nhận thấy Ng Duc Thuan Lý Thuyết Ngônngữ Hình thức & Ôtômat 21 Nguyễn Đức Thuần ẵxyẵÊ m=n+1, ẵyẵ 1 Từ đó suy ra: d*(q 0 , xz) = q f d*(q 0 , xy 2 z) = q f d*(q 0 , xy 3 z) = q f Bằng qui nạp có thể chứng minh : d*(q 0 , xy i z) =q f , "i 0. (đ,p.c.m) 2.4.4. Hệ quả : Tồn tại 1 ngônngữ PNC không đ-ợc đoánnhận bởi 1 ôtômathữuhạn không đơn định. Chứng minh: Xét L = {a n b n , n > 0}, G = <{a,b}, {S}, {Sđ aSbẵab}> L = L(G) Nếu L là đ-ợc đoánnhận bởi 1 ôtômathữuhạn đơn định ịL là ngônngữchính quiịL thoả định lý pumping: w i = a n b n = xy i z , ẵxyẵÊ m, ẵyẵ=k 1 Chọn n > m ị y chỉ chứa toàn bộ ký tự a. Khia i=0, w i = a n-k b n ẽL ( mâu thuẩn). Vì vậy L không là ngônngữchính qui. Chú ý : Lớp ngônngữchính qui và lớp nn PNC là phân biệt. 2.4.5 Một vài ví dụ minh hoạ: a. Cho ồ = {a, b}. Chứng minh rằng L = {ww R : w ẻồ *} không là ngônngữchính qui. Giả sử L là 1 ngônngữchính qui ị thoả định lý pumping ị $m, ẵww R ẵ m ị ww R = xy i z, ẵxyẵÊ m, ẵyẵ 1. Chọn m đủ lớn: Xét w= a m b m ị ww R = aa a bb b bb b a aa x y z ị xy i z với i = 0, ww R = a m-k b m b m a m ẽ L (mâu thuẩn). ị Vậy L không là ngônngữchính qui. b. Cho ồ = {a, b}. Chứng minh rằng L = { w ẻồ * : n a (w) < n b (w)} không là ngônngữchính qui. Giả sử L là 1 ngônngữchính qui ị thoả định lý pumping ị $m, ẵwẵ m ị w = xy i z, ẵxyẵÊ m, ẵyẵ 1. Chọn n = m, và m đủ lớn w = a a b b ị w i = xy i z ẻ L x y z Chọn i 2 ị xy i z ẻ L ị n a (w i ) > n b (w i ) (mâu thuẩn). Vậy L không là ngônngữchính qui. (đpcm) 3. Định lý Kleene [...]... Một số đồ thị chuyểncủa ôtômat hữu hạn đơn định: a Ôtômatđoánnhận ặ q0 h T c q1 b Ôtômatđoánnhận e e q0 u D hoặc q1 c Ôtômatđoánnhận {a} g N a q0 q1 d Ôtômatđoánnhận r1+r2 q0 q1 e Ôtômatđoánnhận r1* q0 f Ôtômatđoánnhận (a+b)* hoặc q0 q1 q0 n a u Lý Thuyết Ngônngữ Hình thức & Ôtômat 27 Nguyễn Đức Thuần g Ôtômatđoánnhận r1*r2* r 1 q0 q1... là 0+1+2+ Ví dụ 9: Cho Ôtômat hữu hạn không đơn định, chấp nhạnngônngữ đ-ợc cho bởi biểu thức chính qui sau: (01*+02)1+(0+1)(220*1)* Tr-ớc hết ta xây dựng các Ôtômáthữuhạn không đơn định d-ới đây: a 0 s0 s1 h T c Ôtômat này chấp nhậnngônngữ đ-ợc ký hiệu bởi 01* b s0 0 s1 s2 2 u D Ôtômat nay chấp nhậnngônngữ đ-ợc ký hiệu bởi 02 0 c g N s0 s1 1 Ôtômát này chấp nhậnngônngữ đ-ợc ký hiệu bởi 0+1... Hệ quả : Mọi ngônngữ tạo nên từ các ngônngữ hữu hạn bằng cách áp dụng một số hữu hạn lần l-ợt các phép hợp, ghép tiếp và * đều là NNCQ Chứng minh : Do hệ quả 1.8.1, 1.8.3, 1.8.4, h T c 2.5.4 Định lý (Kleene) :Mọi NNCQ đều có thể nhận đ-ợc từ các ngônngữhữuhạn bằng cách áp dụng một số hữuhạn lần các phép hợp, ghép tiếp và * Chứng minh : Giả sử L đ-ợc đoánnhận bởi một Ôtômathữuhạn đơn định M... Ôtômát này chấp nhậnngônngữ đ-ợc ký hiệu bởi biểu thức 220*1 n a u Lý Thuyết Ngônngữ Hình thức & Ôtômat 25 Nguyễn Đức Thuần S1 0 e S0 0 2 s2 S3 Ôtômát này chấp nhậnngônngữ đ-ợc ký hiệu bởi (220*1)* S1 2 f 2 S0 1 0 S2 h T c Ôtômat này chấp nhậnngônngữ đ-ợc ký hiệu 01*+02 1 1 S2 S1 0 g S0 g N 0 u D S3 1 S4 2 Ôtômat này chấp nhậnngônngữ đ-ợc ký hiệu... Ngônngữ Hình thức & Ôtômat 26 Nguyễn Đức Thuần Ôtômát này chấp nhậnngônngữ đ-ợc ký hiệu bởi biểu thức (0+1)(220*1)* S2 1 0 S1 1 1 S4 S0 0 S3 2 S5 1 1 2 S6 2 0 S7 0 Từ các Ôtômat trên ta có thể xây dựng Ôtômat chấp nhậnngônngữ đ-ợc ký hiệu bởi biểu thức chính qui sau: (01*+02)1+(0+1)(220*1)* 2.6.2 Biểu thức chính qui& đồ thị chuyển ôtômathữu hạn. ..Lý Thuyết Ngônngữ Hình thức & Ôtômat 22 Nguyễn Đức Thuần 2.5.1 Định lý : ặ và {e} là các ngôn ngữchính qui (NNCQ) Chứng minh : ặ đ-ợc đoánnhận bởi mọi Ôtômat có F = ặ {e} đ-ợc đoánnhận bởi Ôtômáthữuhạn M = với d(q0, a) = d(q1,a) = q1 2.5.2 Định lý... thức chính qui, và Do hệ quả 2.5.3, và định lý Kleene ta có thể chứng minh các định lý sau: Lý Thuyết Ngônngữ Hình thức & Ôtômat 28 Nguyễn Đức Thuần 2.6.3 Bổ đề : Với mọi tập hữuhạn L ồ*, đều tồn tại một BTCQ mà tập nó chỉ định là L 2.6.4 Định lý : Một ngônngữ L đ-ợc chỉ định bởi một BTCQ khi và chỉ khi nó đ-ợc đoánnhận bởi một Ôtômáthữuhạn Nói... ngữ L đ-ợc chỉ định bởi một BTCQ khi và chỉ khi nó đ-ợc đoánnhận bởi một Ôtômáthữuhạn Nói tóm lại : Các ngônngữ do BTCQ chỉ định và lớp các ngônngữ do Ôtômát h-u hạnđoánnhận là một Đó là lớp các NNCQ 5 Cực tiểu hóa các Ôtômathữuhạn 2.7.1 Định nghĩa : Cho M = < ồ,Q, d, q0, F> là Ôtômáthữuhạn đơn định, và q1, q2 là 2 trạng thái khác nhau Ta nói rằng: n a u - Xâu u phân biệt các trạng thái q1,... của các ngônngữchínhquy Đó là nhờ các biểu thức chính quy, mà ta định nghĩa nh- sau: h T c 2.6.1 Định nghĩa: Cho ồ là một bộ chữ Một biểu thức chính quy( viết tắc là BTCQ) trên ồ là tập hợp do nó chỉ định đ-ợc định nghĩa một cách đệ qui nh- sau: u D 1/ ặ là một biểu thức chính qui, và chỉ định tập rỗng 2/ e là một biểu thức chính qui, và chỉ định tập {e} 3/ Với mỗi a ẻồ thì a là một biểu thức chính. .. đều có thể nhận đ-ợc từ các ngônngữhữu hạn, bằng cách áp dụng một số hữuhạn lần các phép hợp, ghép tiếp và * Chứng minh : từ định nghĩa (2.5.4*) ta thấy, nếu w ẻ Rijk thì trong suy dẫn qiw qj: k (1) hoặc là trong M suy dẫn trên không đi qua trạng thái qk, tức là w ẻ Rij -1 (2) hoặc là M có (một số lần) đi qua qk Nh- vậy w bị chia cắt thành nhiều đoạn: Lý Thuyết Ngônngữ Hình thức & Ôtômat 23 Nguyễn . hữu hạn lần l-ợt các phép hợp, ghép tiếp và * đều là NNCQ. Chứng minh : Do hệ quả 1.8.1, 1.8.3, 1.8.4, 2.5.4 Định lý (Kleene) :Mọi NNCQ đều có thể nhận đ-ợc từ các ngôn ngữ hữu hạn bằng. Hình thức & Ôtômat 22 Nguyễn Đức Thuần 2.5.1 Định lý : ặ và {e} là các ngôn ngữ chính qui (NNCQ) Chứng minh : ặ đ-ợc đoán nhận bởi mọi Ôtômat có F = ặ. {e} đ-ợc đoán nhận bởi Ôtômát hữu. q 0 , {q 0 }> với d(q 0 , a) = d(q 1 ,a) = q 1 . 2.5.2 Định lý : Với w ẻồ*, thì {w} là NNCQ. Chứng minh : Nếu w = e thì mệnh đề đã đ-ợc chứng minh. - Nếu không w = a 0 a 1 a n trong