34
1 Câu 1: Khái niệm về ngôn ngữ, từ (chuỗi, xâu), một số phép toán cơ bản trên từ và trên ngôn ngữ. Các hình thức biểu diễn ngôn ngữ. Cho ví dụ minh họa...................................................3 Câu 2 : Định nghĩa văn phạm, dẫn xuất và ngôn ngữ sinh bởi văn phạm. Cho ví dụ minh họa. ................................................................................................................................................... 4 Câu 3: Định nghĩa văn phạm, Phân loại văn phạm theo Chomsky, sự khác biệt giữa các loại văn phạm. Cho ví dụ minh họa..................................................................................................4 Câu 4: Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P >, hãy chỉ ra rằng xâu w khác rỗng nằm trong L(G) khi tồn tại cây dẫn xuất trong văn phạm G mà các nút lá của nó tạo nên xâu w....5 Câu 5: Chứng minh ngôn ngữ sinh ra bởi văn phạm là đóng với phép hợp..............................6 Câu 6: Chứng minh ngôn ngữ sinh ra bởi văn phạm là đóng với phép ghép (nối kết).............7 Câu 7: Cho G = < Σ, Δ, S, P > không phải là văn phạm loại 0 với ký tự xuất phát S có ở vế phải của quy tắc dẫn xuất, chỉ ra rằng tồn tại văn phạm G = < Σ’, Δ’, S’, P’ > cùng loại và tương đương với G không có ký tự xuất phát ở vế phải của quy tắc dẫn xuất..........................8 Câu 8: Khái niệm về văn phạm phi ngữ cảnh, khái niệm về dẫn xuất và cây dẫn xuất, sự nhập nhằng của văn phạm. Ví dụ minh họa....................................................................................... 8 Câu 9: Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P > không chứa xâu rỗng, trình bày giải thuật loại bỏ các ký hiệu thừa, luật sinh ε, luật sinh đơn vị.......................................................9 Câu 10: Định nghĩa luật sinh . Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P > không chứa xâu rỗng, không chứa các ký hiệu thừa, trình bày giải thuật loại bỏ luật sinh ....................... 10 Câu 11:Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P > không chứa xâu rỗng, không chứa các ký hiệu thừa, không chứa luật sinh ε. Trình bày giải thuật loại bỏ luật sinh đơn vị. ..............10 Câu 12: Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương............................................................................................................................ 11 Câu 13: Cho ví dụ minh hoạ chuyển một văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương............................................................................................................................ 12 Câu 14:Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Greibach (không cần nêu ví dụ minh họa)..............................................................................................13 Câu 15: Trình bày khái niệm về automat hữu hạn. Phân biệt các dạng automata hữu hạn. Ngôn ngữ đoán nhận bởi automata hữu hạn. Ví dụ minh họa.................................................13 Câu 16: Khái niệm về Automata mealy, automata moore; phân biệt chúng với automat hữu hạn; lấy ví dụ minh hoạ........................................................................................................... 14 Câu 17: Trình bày các phương pháp biểu diễn automata hữu hạn. Ví dụ minh họa............... 16 Câu 18 : Trình bày thuật toán đoán nhận chuỗi bởi một âutomt hữu hạn cho trước. Ví dụ minh hoạ.................................................................................................................................. 17 Câu 19 :Trình bày phương pháp biến đổi từ automata không đơn định về automata đơn định (đưa NFA về DFA)..................................................................................................................18 Câu 20 : Trình bày phương pháp biến đổi từ automata không đơn định có dịch chuyển-ε về automata không đơn định và không có dịch chuyển-ε (đưa NFAε về NFA). Dẫn ví dụ minh họa........................................................................................................................................... 19 Câu 21: Trình bày phương pháp biến đổi từ automat ko đơn định có dịch chuyển về automat đơn định(đưa NFA về DFA).Dẫn VD minh họa..................................................................... 20 Câu 22: Định nghĩa biểu thức chính quy. Thuật toán để xây dựng automata từ biểu thức chính quy gọi là thuật toán Thomson,trình bày thuật toán Thomson...................................... 21 Câu 23: Định nghĩa biểu thức chính quy, trình bày thuật toán xây dựng biểu thức chính quy từ một automata hữu hạn cho trước.........................................................................................22

Tl automata

Embed Size (px)

Citation preview

Page 1: Tl automata

1

Câu 1: Khái niệm về ngôn ngữ, từ (chuỗi, xâu), một số phép toán cơ bản trên từ và trên ngôn ngữ. Các hình thức biểu diễn ngôn ngữ. Cho ví dụ minh họa...................................................3Câu 2 : Định nghĩa văn phạm, dẫn xuất và ngôn ngữ sinh bởi văn phạm. Cho ví dụ minh họa....................................................................................................................................................4Câu 3: Định nghĩa văn phạm, Phân loại văn phạm theo Chomsky, sự khác biệt giữa các loại văn phạm. Cho ví dụ minh họa..................................................................................................4Câu 4: Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P >, hãy chỉ ra rằng xâu w khác rỗng nằm trong L(G) khi tồn tại cây dẫn xuất trong văn phạm G mà các nút lá của nó tạo nên xâu w....5Câu 5: Chứng minh ngôn ngữ sinh ra bởi văn phạm là đóng với phép hợp..............................6Câu 6: Chứng minh ngôn ngữ sinh ra bởi văn phạm là đóng với phép ghép (nối kết).............7Câu 7: Cho G = < Σ, Δ, S, P > không phải là văn phạm loại 0 với ký tự xuất phát S có ở vế phải của quy tắc dẫn xuất, chỉ ra rằng tồn tại văn phạm G = < Σ’, Δ’, S’, P’ > cùng loại và tương đương với G không có ký tự xuất phát ở vế phải của quy tắc dẫn xuất..........................8Câu 8: Khái niệm về văn phạm phi ngữ cảnh, khái niệm về dẫn xuất và cây dẫn xuất, sự nhập nhằng của văn phạm. Ví dụ minh họa.......................................................................................8Câu 9: Cho văn pham phi ngư canh G = < Σ, Δ, S, P > không chưa xâu rông, trình bày giải thuật loại bỏ các ky hiêu thưa, luật sinh ε, luật sinh đơn vị.......................................................9Câu 10: Định nghĩa luật sinh . Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P > không chứa xâu rỗng, không chứa các ký hiệu thừa, trình bày giải thuật loại bỏ luật sinh .......................10Câu 11:Cho văn pham phi ngư canh G = < Σ, Δ, S, P > không chưa xâu rông, không chứa các ky hiêu thưa, không chứa luật sinh ε. Trình bày giải thuật loại bỏ luật sinh đơn vị. ..............10Câu 12: Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương............................................................................................................................11Câu 13: Cho ví dụ minh hoạ chuyển một văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương............................................................................................................................12Câu 14:Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Greibach (không cần nêu ví dụ minh họa)..............................................................................................13Câu 15: Trình bày khái niệm về automat hữu hạn. Phân biệt các dạng automata hữu hạn. Ngôn ngữ đoán nhận bởi automata hữu hạn. Ví dụ minh họa.................................................13Câu 16: Khái niệm về Automata mealy, automata moore; phân biệt chúng với automat hữu hạn; lấy ví dụ minh hoạ...........................................................................................................14Câu 17: Trình bày các phương pháp biểu diễn automata hữu hạn. Ví dụ minh họa...............16Câu 18 : Trình bày thuật toán đoán nhận chuỗi bởi một âutomt hữu hạn cho trước. Ví dụ minh hoạ..................................................................................................................................17Câu 19 :Trình bày phương pháp biến đổi từ automata không đơn định về automata đơn định (đưa NFA về DFA)..................................................................................................................18Câu 20 : Trình bày phương pháp biến đổi từ automata không đơn định có dịch chuyển-ε về automata không đơn định và không có dịch chuyển-ε (đưa NFAε về NFA). Dẫn ví dụ minh họa...........................................................................................................................................19Câu 21: Trình bày phương pháp biến đổi từ automat ko đơn định có dịch chuyển về automat đơn định(đưa NFA về DFA).Dẫn VD minh họa.....................................................................20Câu 22: Định nghĩa biểu thức chính quy. Thuật toán để xây dựng automata từ biểu thức chính quy gọi là thuật toán Thomson,trình bày thuật toán Thomson......................................21Câu 23: Định nghĩa biểu thức chính quy, trình bày thuật toán xây dựng biểu thức chính quy từ một automata hữu hạn cho trước.........................................................................................22

Page 2: Tl automata

2

Câu 24: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng một automata hữu hạn từ một văn phạm chính quy tuyến tính phải.....................................................................23Câu 25: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng một automata hữu hạn từ một văn phạm chính chinh quy tuyến tính trái.............................................................23Câu 26: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng văn phạm chính chính quy tuyến tính phải từ một automata hữu hạn cho trước. Ví dụ minh hoạ....................24Câu 27: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng một automata hữu hạn cho trước. Ví dụ minh hoạ................................................................................................24Câu 28: Phát biểu bổ đề bơm(pumping lemma) cho tập hợp chính quy, giải thích, ý nghĩa bổ đề bơm.Lấy ví dụ minh họa.....................................................................................................25Câu 29: Những phép toán nào là đóng với tập hợp chính quy?Lấy vd minh họa...................27Câu 30: Những phép toán nào là đóng với văn phạm phi ngữ cảnh?Lấy vd minh họa..........28Câu 31: Phát biểu bổ đề bơm(pumping lemma) cho tập hợp(ngôn ngữ) phi ngữ cảnh.Vd minh họa( dùng để chứng minh cho 1 ngôn ngữ không là ngôn ngữ phi ngữ cảnh)..............30Câu 32:Định nghĩa pushdown automata,giải thích các thành phần.Vd minh họa...................30Câu 33: Phận biệt PDA đơn định và PDA không đơn định....................................................31Câu 34: Nêu khái niệm máy Turing, các kỹ thuật xây dựng máy Turing, lớp ngôn ngữ đoán nhận bởi máy Turing...............................................................................................................31Câu 35: Nêu khái niệm automata tuyến tính giới nội, lớp ngôn ngữ đoán nhận bởi automata tuyến tính giới nội...................................................................................................................32

Page 3: Tl automata

3

Câu 1: Khái niệm về ngôn ngữ, từ (chuỗi, xâu), một số phép toán cơ bản trên từ và trên ngôn ngữ. Các hình thức biểu diễn ngôn ngữ. Cho ví dụ minh họa.

*Tập ∑ khác rỗng gồm hữu hạn hay vô hạn các ký hiệu được gọi là bảng chữ cái.Mỗi phần tử a Є ∑ được gọi là một chữ cái hay một kí hiệu.

-Giả sử có bảng chữ cái ∑= , ,…, , một dãy các chữ cái α = , ,…, với

Є ∑(1 ≤ j ≤ t) được gọi là một từ hay một xâu trên bảng chữ cái ∑.

VD: Ta có ,0,01,101,1010,110011 là các từ trên bảng chữ cái ∑=0,1.

-Cho bảng chữ cái ∑,mỗi tập con L ∑* được gọi là một ngôn ngữ hình thức trên bảng chữ cái ∑.Ngôn ngữ rỗng là ngôn ngữ trên mọi bảng chữ cái.

VD:L= ,0,1,01,10,00,11,011,100 là một ngôn ngữ trên bảng chữ cái ∑=0,1.*Một số phép toán cơ bản trên từ

-Phép nối kết: Nối kết của 2 từ α = … và từ β = … trên bảng chữ cái ∑

là từ = … … trên bảng chữ cái ∑. Kí hiệu = α β = β α

-Phép đảo ngược: Giả sử có từ khác rỗng ω = … trên bảng chữ cái Σ, khi đó

từ … được gọi là từ ngược của từ ω, và được ký hiệu là hay . Khi = ta

quy ước = .-Phép chia từ: là phép cắt bỏ phần đầu hay phần cuối của một từ.Phép cắt trái của từ α

cho β là phần còn lại của từ α sau khi cắt bỏ phần đầu β trong từ α. Phép cắt phải của từ α cho β là phần còn lại của từ α sau khi cắt bỏ phần đuôi β trong từ α.*Phép toán trên ngôn ngữ:Vì mỗi ngôn ngữ là 1 tập hợp nên ta có các phép toán đại số tổ hợp trên các ngôn ngữ.

-Phép hợp : = Є ∑*| Є or Є

-Phép giao : = Є ∑*| Є and Є

-Phép phần bù : (L) = ∑*\L

-Phép nhân ghép : = | Є và Є trên bộ chữ cái

LLL…LL = kết nối i lần trên cùng ngôn ngữ L)

=

-Phép lặp: L* = = L …

Ngôn ngữ lặp cắt: = = L …

-Phép lấy ngôn ngữ ngược: = | -Ngôn ngữ cắt trái của ngôn ngữ X cho ngôn ngữ Y:

Z = Y/X = z Є | x Є X,y Є Y mà x=yz-Ngôn ngữ cắt phải của ngôn ngữ X cho ngôn ngữ Y:Z = X/Y = z Є ∑* | x Є X,y Є Y mà x=zy

*Các hình thức biểu diễn ngôn ngữ:Đối với các ngôn ngữ hữu hạn, để biểu diễn chúng một cách đơn giản ta chỉ cần liệt

kê tất cả các chuỗi thuộc vào chúng. Chẳng hạn :L1 = ε

Page 4: Tl automata

4

L2 = a, ba, aaba, bbbbb Trong những trường hợp không phức tạp lắm, người ta thường xác định các chuỗi

bằng cách chỉ rõ một đặc điểm chủ yếu chung cho các chuỗi đó. Đặc điểm này thường được mô tả qua một phát biểu hay một tân từ.

Chẳng hạn : L3 = ai | i là một số nguyên tố L4 = aibj | i ≥ j ≥ 0

L5 = w ∈ a, b* | số a trong w = số b trong w

Câu 2 : Định nghĩa văn phạm, dẫn xuất và ngôn ngữ sinh bởi văn phạm. Cho ví dụ minh họa. *Theo từ điển, văn phạm là 1 tập hợp các quy tắc về cấu tạo từ và các quy tắc về cách thức liên kết từ lại thành câu.

Văn phạm G là một bộ sắp thứ tự gồm 4 thành phần: G=<∑, >Trong đó: -∑ là một bảng chữ cái cơ bản, mỗi phần tử của nó được gọi là 1 ký hiệu kết

thúc(hay là ký hiệu cơ bản)

là 1 bảng chữ cái, , gọi là bảng ký hiệu phụ

S Є được gọi là ký hiệu xuất phát hay tiên đề

P là tập hợp các quy tắc sinh có dạng , Є (∑ )*, trong

chứa ít nhất 1 ký tự không kết thúc. P = | = A , với A , ,

(∑ ) *

VD: G = <0,1, S, S, S 0S1, S > là một văn phạm.*Dẫn xuất:

-Dẫn xuất trực tiếp: nếu là một luật sinh thì

-Dẫn xuất gián tiếp: nếu các chuỗi , ,…, Є ∑* và , , …,

thì có thể được dẫn xuất gián tiếp từ : *Ngôn ngữ L sinh bởi văn phạm G:

L(G) = w | w và S

VD: G = <0,1, S, S, S 0S1, S >

L(G) = | n 0.

Câu 3: Định nghĩa văn phạm, Phân loại văn phạm theo Chomsky, sự khác biệt giữa các loại văn phạm. Cho ví dụ minh họa.

*Theo từ điển, văn phạm là 1 tập hợp các quy tắc về cấu tạo từ và các quy tắc về cách thức liên kết từ lại thành câu.

Văn phạm G là một bộ sắp thứ tự gồm 4 thành phần: G = <∑, >Trong đó: -∑ là một bảng chữ cái cơ bản, mỗi phần tử của nó được gọi là 1 ký hiệu kết

thúc(hay là ký hiệu cơ bản)

Page 5: Tl automata

5

là 1 bảng chữ cái, , gọi là bảng ký hiệu phụ

S Є được gọi là ký hiệu xuất phát hay tiên đề

P là tập hợp các quy tắc sinh có dạng , Є (∑ )*, trong

chứa ít nhất 1 ký tự không kết thúc. P = | = A , với A , ,

(∑ ) *

VD: G = <0,1, S, S, S 0S1, S > là một văn phạm.*Phân loại văn phạm theo Chomsky: dựa vào tính chất các luật sinh

-Văn phạm loại 0(văn phạm ko hạn chế-Unrestricted Grammar): ko cần thỏa mãn điều kiện ràng buộc nào trên tập các luật sinh.

-Văn phạm loại 1(văn phạm cảm ngữ cảnh-Context Sensitive Grammar): nếu văn

phạm G có các luật sinh dạng và = A , với A , , (∑ ) *, | | ≥ | |.

VD: G(a,b,c,S,B,C,P,S),P=S S CB BC, aB ab, bB bb, bC

bc, cC cc. Đây là văn phạm loại 1.-Văn phạm loại 2(văn phạm phi ngữ cảnh-Context Free Grammar) có luật sinh dạng A

với A là một biến đơn và là chuỗi các ký hiệu thuộc (∑ ) *.

VD: G = (a,b, S, S, P), P = S aSb, S ab đây là văn phạm loại 2 dạng A .-Văn phạm loại 3(văn phạm chính quy RG) có mọi luật sinh dạng tuyến tính phải hoặc

tuyến tính trái.

Tuyến tính phải: A wB hoặc A w

Tuyến tính trái: A (với A,B là các biến đơn,w là chuỗi ký hiệu kết thúc,có thể là rỗng).

VD:G = (a,b, S,A,S,P) trong đó P=S b. sssĐây là văn phạm loại 3 dạng tuyến tính phải.

*Nếu ký hiệu , , , là lớp các ngôn ngữ được sinh ra bởi các loại văn phạm loại

0,1,2,3 tương ứng thì ta có .

Câu 4: Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P >, hãy chỉ ra rằng xâu w khác rỗng nằm trong L(G) khi tồn tại cây dẫn xuất trong văn phạm G mà các nút lá của nó tạo nên xâu w.

Cho văn phạm: S→aAS; A→SbA ; A→SS; S→a; A→ba Xét chuỗi: S → aAS → aSbAS → aabAS → aabbaS → aabbaasHiển nhiên xâu w khác rỗng nằm trong L(G) khi tồn tại cây dẫn xuất trong văn phạm

G mà các nút lá của nó tạo nên xâu w.

Page 6: Tl automata

6

Câu 5: Chứng minh ngôn ngữ sinh ra bởi văn phạm là đóng với phép hợp.Cách 1:<thừa time thì làm>

Giả sử , là các ngôn ngữ được sinh bởi văn phạm =< >, =<

>, tức là =L( ), =L( ). Ta chứng minh tồn tại văn phạm G sao cho L(G)

= .

Xây dựng văn phạm G sinh ra ngôn ngữ như sau: G = <∑, , S, P> với ∑ =

, = S, P = S S

Ta sẽ chứng minh L(G) = bằng cách chứng minh hai bao hàm thức:

a.Chứng minh L(G) : Giả sử L(G), khi đó tồn tại một suy dẫn trong văn

phạm G: S| , trong đó =( *. Do cách xây dựng tập quy tắc P, nên trong

suy dẫn S|= có hai khả năng:

+hoặc S| | , vậy là kết quả của suy dẫn |= trong , do đó

L( ).(#)

+hoặc S| | , vậy là kết quả của suy dẫn |= trong , do đó

L( ).($)

Từ (#) và ($), ta thấy , hay L(G)

b.Chứng minh L(G):Giả sử , khi đó ta cũng có hai khả năng:

hoặc :

+Nếu =L( ), khi đó ta có suy dẫn | trong , do đó ta cũng có

suy dẫn S| | là một suy dẫn trong G(vì theo cách xây dựng G, mọi quy tắc

và mọi ký hiệu trong cũng đều thuộc G ), như vậy L(G)

+Nếu =L( ), khi đó ta có suy dẫn | trong , do đó ta cũng có

suy dẫn S| | là một suy dẫn trong G(vì theo cách xây dựng G, mọi quy tắc

và mọi ký hiệu trong cũng đều thuộc G ), như vậy L(G)

Vậy ta luôn luôn có L(G), do đó L(G).Tức là ta đã c/m được L(G) =

Page 7: Tl automata

7

Cách 2:<thiếu time hoặc gặp Phổ>ThËt vËy,gi¶ sö G1=(N1,T,S1,P1), G2=(N2,T,S2,P2) lµ 2 v¨n ph¹m cïng lo¹i vµ L1,

L2 lµ c¸c ng«n ng÷ t¬ng øng. Gäi L= L1 ∪ L2 ta chøng minh tån t¹i v¨n ph¹m G cïng

lo¹i víi G1, G2 sinh ra L.

Ta x©y dung V¨n ph¹m G nh sau:

1. N:= N1∪ N2∪S,

2. S kh«ng thuéc N1, N2

3. T:=T

4. TËp luËt sinh P ®îc x¸c ®Þnh:

P:= P1∪P2 ∪S → S1, S → S2

Khi ®ã:

- V¨n ph¹m võa nhËn ®îc cïng lo¹i víi víi 2 lo¹i v¨n ph¹m trªn do 2 luËt sinh võa

thªm.

- Ta chøng minh L(G)= L1 ∪ L2.

Gi¶ sö w ∈ L, khi ®ã S*→w trong G, theo c¸ch x©y dùng P th× S→S1 hoÆc S→S2 v× vËy hoÆc S1*→w hoÆc S2*→w nghÜa lµ w∈L1 hoÆc w∈L2 tóc lµ w ∈ L1

∪ L2.

Câu 6: Chứng minh ngôn ngữ sinh ra bởi văn phạm là đóng với phép ghép (nối kết).

Giả sử là các ngôn ngữ được sinh bởi văn phạm , hay =L( ), =L(

). Ta Chứng minh: tồn tại văn phạm G sao cho L(G)= .

Giả sử = < , > và =< >. Không mất tính tổng quát, ta giả

thiết rằng = . Lấy S .

Xét văn phạm G = < , >,trong đó:

P=( \ ) ( \ ) S | S |

S | và S .

Khi đó ta có L(G) và . Khi và là hai văn phạm chính quy

thì ta có thể xây dựng văn phạm chính quy G’ sao cho L(G’)=

a) và (tức là và ). Văn phạm chính quy G’ cần

tìm là G’=< >, trong đó

P’=( \A ) A a |A

b) : Đặt ’= \ thì ta xây dựng được văn phạm chính quy ’ sao

cho L( ’)= ’. Khi đó theo a) ta có văn phạm G’ sao cho L(G’)= . Từ =( ’

Page 8: Tl automata

8

) = và từ cách xây dựng văn phạm ta tìm được văn phạm chính quy G’’ sao

cho L(G’’)=Tương tự cho 2 trường hợp còn lại

Vậy L(G)=L( ).L( )

Câu 7: Cho G = < Σ, Δ, S, P > không phải là văn phạm loại 0 với ký tự xuất phát S có ở vế phải của quy tắc dẫn xuất, chỉ ra rằng tồn tại văn phạm G = < Σ’, Δ’, S’, P’ > cùng loại và tương đương với G không có ký tự xuất phát ở vế phải của quy tắc dẫn xuất.

Chøng minh. X©y dùng G’=(N’,T,S’,P’) nh sau:- N’:=N∪S’, ë ®©y S’ lµ ký hiÖu míi cha cã trong N vµ T

P’:=P∪ S’→α/S→α∈P, α∈(N∪T)+, nghÜa lµ P’ gåm c¸c quy t¾c cña G bæ sung thªm c¸c quy t¾c d¹ng S’→α nÕu trong P cã quy t¾c S→α. Víi quy íc trªn ta thÊy

- Kh«ng cã quy t¾c nµo mµ ký tù xuÊt ph¸t xuÊt hiÖn ë vÕ ph¶i cña dÉn xuÊt.Gi¶ sö w∈L(G) khi ®ã tån t¹i d·y dÉn xu©t S*→ w vµ tån t¹i α∈(N∪T)* sao cho

S→α*→ w. Theo c¸ch x©y dùng dÉn xuÊt v× trong G cã S→α nªn trong G’ cã S’→α v× vËy dÉn xuÊt S’→α*→ w lµ dÉn xuÊt trong G’ vËy nªn w∈L(G) do ®ã L(G) ⊆L(G’).

Ngîc l¹i nÕu w∈L(G’) nghÜa lµ S’*→w tån t¹i α∈(N∪T)* S’→α*→ w mµ S’→α* cã t¬ng øng S→α trong G vËy nªn S→α*→w lµ dÉn xuÊt trong G cho nªn L(G’) ⊆L(G).

Câu 8: Khái niệm về văn phạm phi ngữ cảnh, khái niệm về dẫn xuất và cây dẫn xuất, sự nhập nhằng của văn phạm. Ví dụ minh họa.

*Văn phạm loại 2(văn phạm phi ngữ cảnh-Context Free Grammar) có luật sinh dạng A

với A là một biến đơn và là chuỗi các ký hiệu thuộc (∑ ) *.

*Khái niệm dẫn xuất: Cho văn phạm G=<∑, , S, P> và , ( )*. Ta nói được suy

dẫn từ trong G,ký hiệu |= , nếu = hoặc tồn tại 1 dãy * sao

cho = , = và | với i=1,2,…,k.Khi đó dãy , ,…, được gọi là 1 dẫn

xuất của từ trong G.

*Khái niệm cây dẫn xuất: Cây dẫn xuất của văn phạm G=<∑, , S, P> có đặc điểm

-Mỗi nút có một nhãn,là một ký hiệu )-Nút gốc có nhãn là S

-Nếu nút trung gian có nhãn A thì A

-Nếu nút n có nhãn là A và các đỉnh , ,…, là con của n theo thứ tự từ trái sang

phải có nhãn lần lượt là , ,…, thì A … là một luật sinh trong P.

-Nếu nút n có nhãn là thì n phải là nút lá và là nút con duy nhất của nút cha của nó.*Sự nhập nhằng của văn phạm: một văn phạm phi ngữ cảnh G được gọi là văn phạm nhập nhằng nếu nó có nhiều hơn một cây dẫn xuất cho cùng 1 chuỗi w.*Ví dụ minh hoạ:

Page 9: Tl automata

9

Cho v¨n ph¹m phi ng÷ c¶nh G=(N, T, s, P) trong ®ã N=sT=+, a,*, P=s s+s, s s*s, s a, trong ®ã + lµ phÐp céng, * lµ phÐp nh©n. X©u a+a*a lµ kÕt qu¶ cña c©y suy dÉn ®Çy ®ñ sau ssss

* ++ *

a aa a a a

H×nh 1 H×nh 2 H×nh 1 nÕu thùc hiÖn phÐp nh©n tríc vµ c©y suy dÉn ®Çy ®ñ h×nh 2 nÕu thùc hiÖn phÐp céng trícRâ rµng x©u trªn lµ kÕt qu¶ cña 2 c©y suy dÉn kh¸c nhau.Câu 9: Cho văn pham phi ngư canh G = < Σ, Δ, S, P > không chưa xâu rông, trình bày giải

thuật loại bỏ các ky hiêu thưa, luật sinh ε, luật sinh đơn vị.*Giải thuật loại bỏ các ký hiệu thừa:

-Loại bỏ biến k dẫn ra ký hiệu kết thúc:Cho CONTEXT FREE GRAMMAR G=<∑, ,

S, P> với L(G) # , có một CONTEXT FREE GRAMMAR G’(∑’, ’,S, P’) tương đương

sao cho mỗi A G’ tồn tại w * để A *w.-Loại bỏ các biến k được dẫn ra từ ký hiệu bắt đầu: Cho CONTEXT FREE

GRAMMAR G( , , S, P), ta có thể tìm được CONTEXT FREE GRAMMAR G’(∑’, , S,

P’) tương đương sao cho mỗi X ( ’ ∑’) tồn tại ( ’ ∑’)* để S *

Cách tìm: - Đặt ’=S

-Nếu A ’ và A là các luật sinh trong P thì thêm các biến của

vào V’.-Lặp lại cho đến khi không còn biến nào được thêm vào nữa.

*Loại bỏ luật sinh

Cho CONTEXT FREE GRAMMAR G=< , ,S, P > và L là ngôn ngữ sinh bởi G.

Khi đó L- là ngôn ngữ sinh ra bởi CONTEXT FREE GRAMMAR G’=<∑’, , S, P’> k

có ký hiệu thừa và ko có luật sinh .Cách tìm: - xác định tập biến rỗng Nullable

A suy ra A Nullable

B Nullable suy ra B thuộc Nullable-Xây dựng tập luật sinh P’:

Với mỗi luật sinh A trong P ta xây dựng luật sinh A với

điều kiện: -nếu Nullable thì

-nếu Nullable thì |

-Ko phải tất cả đều bằng

ss

ss

1

ss

1

ss

ss

ss

ss

ssss

ss

ssss

Page 10: Tl automata

10

*Loại bỏ luật sinh đơn vị(A B): Mỗi CFL ko chứa được sinh ra bởi CONTEXT FREE

GRAMMAR ko có ký hiệu thừa, k có luật sinh hoặc luật sinh đơn vị.

Cách tìm: - Đặt L=L(G) và CFL ko chứa và được sinh ra bởi văn phạm G=< , ,S, P >. Theo định lý 3, ta có thể loại bỏ tất cả luật sinh ε trong G. Để loại bỏ luật sinh đơn vị, ta xây dựng tập P' mới theo giải thuật:

For (mỗi biến A V) doBegin

Tính ΔA = B|B V và A * B ;

For (mỗi biến B ΔA) do

For (mỗi luật sinh B thuộc P) do

If (B không là luật sinh đơn vị) then

Thêm luật sinh A a vào P'End ;

Câu 10: Định nghĩa luật sinh . Cho văn phạm phi ngữ cảnh G = < Σ, Δ, S, P > không chứa

xâu rỗng, không chứa các ký hiệu thừa, trình bày giải thuật loại bỏ luật sinh .

- Mọi luật sinh có dạng A → gọi là luật sinh - Giải thuật loại bỏ luật sinh dạng A → ε: Xét G = < Σ, Δ, S, P >, G’ = < Σ, Δ, S, P’ > không chứa luật sinh ε.

+ Bước 1: Ω := Ø;Nếu luật sinh A → ε thì thêm A vào Ω; Nếu B → X1X2...Xn, Xi ∈ Ω => thêm B vào Ω;

+ Bước 2: Xây dựng P’. Với mỗi luật A → X1X2...Xn , Xi ∈ (Σ+Δ) trong P, ta xây dựng luật sinh A → α1 α 2... α n trong P’ với điều kiện:

Nếu Xi ∉ Ω thì α i = Xi Nếu Xi ∈ Ω thì α i = Xi | εKhông gán đồng thời tất cả ai đều bằng ε

Câu 11:Cho văn pham phi ngư canh G = < Σ, Δ, S, P > không chưa xâu rông, không chứa các ky hiêu thưa, không chứa luật sinh ε. Trình bày giải thuật loại bỏ luật sinh đơn vị.

*Luật loại bỏ luật sinh đơn vị không chứa các xâu rỗng, không chứa các ký hiệu thừa, không chứa luật sinh ε ta trải qua các bước sau:

- A→B là các luật sinh đơn vị trong đó A,B là các biến.- Đưa các luật sinh không phải là luật sinh đơn vị vào P’- Xác định các cặp biến(A,B) mà A→B chỉ sử dụng các luật sinh đơn vị. Để xác định

các cặp biến này ta sử dụng các bước sau- (A,A) là cặp cần xác định với mọi biến A vì A→A bởi 0 bước- Nếu (A,B) là cặp thỏa mãn A→B và B→C là luát sinh, C là biến thì (A,c) là cặp thỏa

mãn A→C

Page 11: Tl automata

11

- Đối với mỗi cặp biến (A,B) được xác định ở trên, thêm vào P’ các luật sinh A→α không là luật sinh đơn vị trong P.Ví dụ:

S →aA|AA →B|aB →A|ab|bb

Xây dựng tập luật sinh P’ bằng cách loại bỏ các luật sinh sinh đơn vị trong PĐặt các luật sinh không phải là luật sinh đơn vị vào P’

S→aAA→aB→ab|bb

Xét các cặp luật sinh đơn vị S→A, S→B, A→B, B→A lần lượt thay thế các luật sinh này bằng các dẫn xuất , ta được

S→aS→ab|bbA→ab|bbB→a

Vậy cuối cùng ta được các luật sinh trong P’ như sauS→a|aA|ab|bbA→a|ab|bbB→a|ab|bb

Câu 12: Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương.

Dạng chuẩn Chomsky : nếu mọi luật sinh của nó có 1 trong 2 dạng đơn giản sauA→a, trong đó A là biến, a là kí hiệu kết thúcA→BC trong đó A,B,C là các biếnCho văn phạm phi ngữ cảnh (Σ,Δ,S,P) với L(G) không rỗng và không chứa ε. Không

mất tính tổng quát chúng ta giả sử văn phạm G không chứa các biến vô ích, các luật sinh ε và các luật sinh đơn vị. Ta xây dựng văn phạm G’=(Σ,Δ,S,P’) tương đương ở dạng chuẩn Chomsky từ G như sau: ( giải thuật chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương)

Đặt các luật sinh A→a vào P’( đã thỏa mãn dạng chuẩn Chomsky)Đối với các luật sinh dạng A→x1x2…xn ( n >=2) xi ∈ (Δ∈Σ) nếu iss = 1,2,…,nNếu xi là 1 kí hiệu kết thúc thì thay thế xi bởi 1 biến đại diện mới Bi. Khi đó luật sinh

A→x1,x2,…,xn có dạng A→B1B2…Bn .Ứng với mỗi đại diện Bi thêm vào ta thêm vào luật sinh Bi→a.

Nếu xi không phải là kí hiệu kết thúc thì giữ nguyênỨng với mỗi luật sinh A→B1B2…Bn

n=2 ta đặt vào P’ vì đã thỏa mãn dạng chuẩn Chomskyn>2 ta đưa vao các biến mới C1,C2,…,Cn và đưa vào P’ các luật sinh sau:A→B1C1

C1→ B2C2

….Cn-2→ Bn-1Bn

Page 12: Tl automata

12

Câu 13: Cho ví dụ minh hoạ chuyển một văn phạm phi ngữ cảnh về dạng chuẩn Chomsky tương đương.

Tìm văn phạm có dạng CNF tương đương văn phạm sau : S → A | ABA A → aA | a | B B → bB | b

Bước 1 : Thay thế các luật sinh có độ dài vế phải = 1 (luật sinh đơn vị)

Gọi tập ΔA = B | A ⇒ * B , xét các biến trong văn phạm, ta có :

ΔS = S, A, B ΔA = A, B ΔB = B

Vậy tập luật sinh mới, theo định lý sẽ chứa các luật sinh không là luật sinh đơn vị trong P, bổ sung thêm các luật sinh mới thay cho luật sinh đơn vị như sau :

S → aA | a | bB | b | ABA A → aA | a | bB | b B → bB | b

Bước 2 : Thay thế các luật sinh có độ dài vế phải > 1 và có chứa ký hiệu kết thúc. Ta thấy, a và b đều xuất hiện ở vế phải một số luật sinh, do đó ta tạo thêm 2 biến mới

Ca, Cb và 2 luật sinh mới Ca → a và Cb → b. Văn phạm tương đương có tập luật sinh như sau :

S → CaA | a | CbB | b | ABA A → CaA | a | CbB | b B → CbB | b Ca → a Cb → b

Bước 3 : Thay thế các luật sinh có độ dài vế phải > 2 Chỉ còn duy nhất một luật sinh cần xét ở bước này : S → ABA và tập luật sinh mới

được thay thế có dạng như sau : S → CaA | a | CbB| b | AD1

A → CaA | a | CbB| b B → CbB| b Ca → a Cb → b D1 → BA Cuối cùng, ta sẽ thu được văn phạm có dạng chuẩn Chomsky như trên tương đương

với văn phạm đã cho.

Page 13: Tl automata

13

Câu 14:Trình bày các bước chuẩn hóa văn phạm phi ngữ cảnh về dạng chuẩn Greibach (không cần nêu ví dụ minh họa).

- Dạng chuẩn Greibach(GNF): văn phạm CONTEXT FREE GRAMMAR G(Σ, Δ, S, P) có dạng chuẩn Greibach nếu:

+ G không chứa các kí hiệu thừa+ G không xuất hiện các luật sinh đơn vị+ Các luật sinh của nó có dạng A→aα(α là chuỗi các kí hiệu phụ thuộc hoặc ε nếu ε

không thuộc L; ngược lại thêm vào luật sinh S→ε)- Bổ đề thay thế

Cho G(Σ, Δ, S, P) là một văn phạm phi ngữ cảnh. Giả sử P có chứa luật sinh A→x1Bx2. Trong đó A,B là các biến khác nhau và B→y1|y2|...| là tập các luật sinh trong P mà có B ở về trái. Cho G1(Σ, Δ1, S, P1) thu được từ G bằng cách loại bỏ luật sinh A→x1Bx2 thêm vào đó A→x1y1x2 | x1y2x2 |...| x1ynx2 th ì L(G) = L(G1)

ví dụ: xét văn phạm G=( A,B , a,b ,A,P) với luật sinh A→a| aA|bBc, B→abA|b sau khi thay biến B ta nhận được văn phạm tương đương như sau A→a|aA|babAc|bbc, B→abA|b- Bổ đề loại bỏ đệ qui trái

Cho G(Σ, Δ, S, P) là văn phạm phi ngữ cảnh ; A→Ax1| Ax2|...| Axn và A→ y1| y2|... |ym| với xi,yi thuộc (V hợp T)*

Xét G1(Σ, Δ hợp B, S, P1) là CONTEXT FREE GRAMMAR được tạo thành bằng cách thêm biến mới B và thay các A - luật sinh bằng các luật dạng: A→ yi|yiB , i = 1,..m

B→xi|xiB , i=1,...,nVí dụ : để loại bỏ các luật sinh đệ qui trái khỏi văn phạm

A→Aa|aEc|ε E→Ee|ea Áp dụng định lí cho biến A ta được tập luật sinh mới như sau

A→aEc|ε|aEcB|B E→Ee|eaB→a|aB

Áp dụng cho biến E ta được tập luật sinh cuối cùng như sauA→aEc|ε|aEcB|B E→Ee|eaHB→a|aB H→e|eH

Đưa về sạng chuẩn Greibach(GNF)Đặt lại tên cho các biến bằng A1,A2,...An với A1 là trạng thái ban đầuThay thế các luật sinh dạng Ai→Ajγ (j>i)Nếu j<i thì áp dụng bổ đề thay thếNếu j=i thì áp dụng bổ đề loại bỏ đệ qui trái P chỉ chứa các luật sinh dạng Ai→Ajγ(j>i) Ai→aγ, Bk →γ với (γ thuộc Σ

hợpB1,...,Bi-1)Thay thế AiThay thế Bk

Câu 15: Trình bày khái niệm về automat hữu hạn. Phân biệt các dạng automata hữu hạn. Ngôn ngữ đoán nhận bởi automata hữu hạn. Ví dụ minh họa.

*Khái niệm automat hữu hạn: Một automat hữu hạn(FA) là 1 mô hình toán học hay máy trừu tượng có cơ cấu và hoạt động đơn giản và hoạt động đơn giản nhưng có khả năng đoán nhận ngôn ngữ.

Page 14: Tl automata

14

Một FA là 1 mô hình tính toán hữu hạn, mọi cái liên quan tới nó đều có kích thước hữu hạn cố định và không thể mở rộng trong suốt quá trình tính toán.

Một FA làm việc theo thời gian rời rạcThông tin ra sản sinh bởi một FA phụ thuộc vào cả thông tin vào hiện tại lẫn các thông

tin vào trước đó. Nếu sử dụng bộ nhớ, giả sử có ít nhất 1 bộ nhớ vô hạn về tiềm năngSự phân biệt giữa các loại FA khác nhau chủ yếu dựa trên việc thông tin có được đưa

vào bộ nhớ hay khôngĐoán nhận ngôn ngữ : đoán nhận các chuỗi của nóHoạt động của automat bắt đầu từ 1 trạng thái đặc biệt, trạng thái đầu tiênGiả sử tại mỗi thời điểm, automata đang ở 1 trạng thái nào đó, đầu vào của aitomata

đón nhận 1 kí tự của chuỗi cần xử lí, dưới tác động của kí tự đó automata chuyển sang 1 trạng thái kế tiếp

Như vậy số bước để xử lý 1 chuỗi ứng với độ dài chuỗiChuỗi được đoán nhận nếu trạng thái cuối cùng với độ dài chuỗi.Chuỗi được đoán nhận nếu trạng thái cuối cùng của automata rơi vào 1 trong các trạng

thái kết thúc*Phân loại automat hữu hạn

Automata đơn định: tại 1 thời điểm với 1 trạng thái và 1 kí tự nhập vào thì máy chỉ có thể chuyển đến không nhiều hơn 1 trạng thái

Automata đa định: ứng với 1 trạng thái và 1 kí tự nhập vào, nó có khả năng chọn để di chuyểnVí dụ: automata đa định sau nhận dạng các xâu kết thúc bằn 01

Câu 16: Khái niệm về Automata mealy, automata moore; phân biệt chúng với automat hữu hạn; lấy ví dụ minh hoạ.

Automat Mealy: là bộ 5 A=(S,X,Y,delta,F)X-tập hữu hạn các kí hiệu vàoY-tập hữu hạn các kí hiệu raS-tập hữu hạn các trạng tháidelta-ánh xạ từ tập SxX->S(hàm chuyển trạng thái)F-ánh từ tập SxX->Y(hàm ra)

Page 15: Tl automata

15

Automat Moore: là bộ 5 A=(S,X,Y,delta,F)X-tập hữu hạn các kí hiệu vàoY-tập hữu hạn các kí hiệu raS-tập hữu hạn các trạng tháidelta-ánh xạ từ tập SxX->S(hàm chuyển trạng thái)F-ánh từ tập S->Y(hàm ra)

Automat hữu hạn FA là 1 bộ 5 : M=(S, xichma, delta, q0, F)S-tập hữu hạn các trạng tháixichma-tập các tín hiệu vàodelta-hàm chuyển trạng tháiq0-trạng thái bắt đầuF-tập trạng thái kết thúcq0 thuộc S và F là tập con của SHàm chuyển delta mở rộng: delta(q,epsilon)=q && delta(q,xa)=delta(delta(q,x),a) với

mọi x thuộc xichma, a thuộc xichma* và q thuộc S

Page 16: Tl automata

16

Câu 17: Trình bày các phương pháp biểu diễn automata hữu hạn. Ví dụ minh họa.*Automata hữu hạn đơn định(DFA):

- Định nghĩa : một DFA là 1 bộ gồm 5 phần tử A=(Q, Σ, δ, q0, F) trong đóQ là tập rỗng, tập hữu hạn các trạng thái (p,q…)Σ là bộ chữ cái nhập vào (a,b,c...)δ : Q x Σ → Q là hàm dịch chuyển , δ có thể được viết dưới dạng δ(q,a) = q’ .

Nghĩa là automata đang ở trạng thái q và đọc kí hiệu a thì nó sẽ chuyển sang trạng thái q’.

q0 ∈ Q là trạng thái xuất phátF là trạng thái kết thúc

- Biểu diễn automata hữu hạn đơn định: có 2 các mô tả đơn giản 1 DFA là bằng biểu đồ dịch chuyển và bảng dịch chuyển

+ Biểu đồ dịch chuyểnMỗi trạng thái trong Q là 1 nútVới mỗi trạng thái q∈Q và mỗi kí hiệu a∈Σ, có δ(q,a) = p∈Q. Như thế biểu đồ

dịch chuyển có 1 cũng đi từ nút p tới nút q mang nhãn a, nếu có nhiều kí hiệu tạo ra dịch chuyển từ q đến p thì chỉ cần biểu diễn 1 cung mang nhãn là sanh sách các kí hiệu đó.

Có 1 mũi tên đi vào nút q0 để kí hiệu trạng thái đầuCác trạng thái kết thúc F là các nút được biểu diễn bới 2 vòng trònCác trạng thái k thuộc F được biểu diễn bằng 1 vòng tròn+ Bảng dịch chuyển cho 1 DFA là 1 quy ước các biểu diễn dạng bảng của 1

hàm, mà ở đây là dịch chuyển với 2 tham số: các trạng thái và các kí hiệu vào. Trạng thái đầu được đánh dấu bởi dấu →, các trạng thái cuối sẽ được đánh dấu bởi dấu *

Ví dụ : xây dựng DFA thừa nhận các xâu chỉ gồm các kí hiệu 0,1 chứa ít nhất 1 lần xâu 01, nghĩa là chúng ta có thể mô tả ngôn ngữ L này như sau:L=x01y| x và y gồm các kí hiệu 0 và 1 bất kì

biểu đồ dịch chuyển

bảng trạng tháiNgôn ngữ được đoán nhận với automata A : L =1*0*01x : x∈ 0,1*

*Automata đa định(NFA):- Định nghĩa : một DFA là 1 bộ gồm 5 phần tử A=(Q, Σ, δ, q0, F) trong đó

Q là tập hữu hạn các trạng thái Q=q0,q1,…,qnΣ là bộ chữ cái nhập vào (a,b,c...)

Page 17: Tl automata

17

δ : là ánh xạ chuyển trạng thái δ: Q× Σ → 2Qq0 ∈ Q là trạng thái xuất phátF ⊆ Q là tập các trạng thái thừa nhận hay trạng thái kết thúc

- Để biểu diễn NFA ta cũng sử dụng 2 cách là biểu đồ dịch chuyển và bảng trạng thái giống như DFA*NFA và DFA có sự khác biệt cơ bản là :

- giá trị của hàm dịch chuyển:DFA chỉ trả về 1 trạng thái thuộc tập Q, trong khi NFA trả về 1 tập các trạng thái là tập con của Q

- Một NFA có thể dịch chuyển đọc ε, tức là đọc xâu rỗng, trong khi DFA không đọc xâu rỗng. Như vậy, NFA cho phép thực hiện chuyển trạng thái mà không đọc kí hiệu nào cả.

Câu 18 : Trình bày thuật toán đoán nhận chuỗi bởi một âutomt hữu hạn cho trước. Ví dụ minh hoạ.

*Thuật toán đoán nhận chuỗi:q:= q0; c:= ký hiệu tiếp theo của chuỗi; while (C < > ε) do

q:= δ(q, c); c:= ký hiệu tiếp theo của chuỗi;

; if (q in F)

return (true); else

ssreturn (false); *Ví dụ:

Cho automat đơn định sau: M = (X,S,s0,δ,F)X = 0,1; S = s0, s1,s2,s3; F = s2,s4;

Trạng tháiKý tự vào

0 1s0 s0,s3 s0,s1s1 e s2s2 s2 s2s3 s4 es4 s4 s3

Đối với Automat không đơn định trên thì hàm chuyển trạng thái δ khi máy ở trạng thái s và tín hiệu vào là a được δ (s,a) ⊆ S

Vì vậy xuất hiện tình trạng rẽ nhánh, ta xây dựng cây đoán nhận xâu như sau:Cho xâu vào w = w1w2…wk.Gốc là s0 Các đỉnh con của gốc s0 là các trạng thái trong S(s0, w1) trong đó w1 là kí tự đầu tiên

của xâu w

Page 18: Tl automata

18

Đối với đỉnh s* ⊆ δ( s0, w1) ta xây dựng các đỉnh con của nó là các đỉnh thuộc tập δ( s*, w2) và cứ tiếp tục cho đến ký tự cuối cùng của xâu

Trong cây này nếu có một đường đi từ s0 đến một lá chứa trạng thái kết thúc thì ta nói máy M đoán nhận được xâu vào đang xét, ngược lại ta nói M không đoán nhận được xâu vào đó

Với xâu vào có dạng w = 01001 máy M có cây đoán nhận đi từ s0 đến s4 ⊆ F nên máy M đoán nhận xâu trên.

Cây có dạng sau:

Câu 19 :Trình bày phương pháp biến đổi từ automata không đơn định về automata đơn định (đưa NFA về DFA).

<thừa time thì chép>*Nhận xét:Sự tương đương giữa 2 automata : 2 automata được gọi là tương đương nếu chúng

cùng chấp nhận 1 ngôn ngữ như nhau.DFA về bản chất là 1 giới hạn của NFA, nên lớp các DFA là 1 lớp con của NFA. 2 lớp

này là tương đương nhau, tức là với 1 NFA thì sẽ có 1 DFA tương đương với nó.Chú ý: 1 trạng thái của NFA là 1 tập trạng thái của DFA. Tập trạng thái kết thúc của

NFA là trạng thái mà có chứa trạng thái kết thúc của DFA. L là ngôn ngữ được chấp nhận bới 1 NFA thì tồn tại 1 DFA chấp nhận L.<bắt đầu>*Thuật toán chuyển đổi tương đương:

Xác định tất cả các tập con Q’ của tập Q. Nếu tập Q có n trạng thái thì sẽ có 2n trạng thái của tập con nhưng trên thực tế thường có các trạng thái không đạt đến được trong Q nên các trạng thái này có thể coi như bỏ. Vì vậy Q’ thường có số trạng thái <2n, q0’ = [q0], F’ là tập các trạng thái Q’ có chứa ít nhất 1 trạng thái kết thúc trong tập F của A; Hàm chuyển δ’ ([q1, q2,..., qi], a) = [p1, p2,..., pj] nếu và chỉ nếu δ(q1, q2,..., qi , a) = p1, p2,..., pj. Đổi tên các trạng thái [q0, q1, …, qi].Ví dụ:

+ Dùng biểu đồ dịch chuyển

Page 19: Tl automata

19

xây dựng DFA tương đương NFA đã cho+ Dùng bảng chuyển trạng thái

Câu 20 : Trình bày phương pháp biến đổi từ automata không đơn định có dịch chuyển-ε về automata không đơn định và không có dịch chuyển-ε (đưa NFAε về NFA). Dẫn ví dụ minh họa.

*Nhận xét: một L được chấp nhận bởi 1 NFAε thì L cũng được chấp nhận bởi 1 NFA không có ε dịch chuyển.*Thuật toán:

Mỗi trạng thái của DFA tượng trưng bởi 1 tập trạng thái của NFA mà NFA có thể chuyển đến sau khi đọc 1 chuỗi ký hiệu nhập gồm : tất cả sự truyền rỗng có thể xảy ra trước hoặc sau các kí hiệu được đọc.

Xác định trạng thái bắt đầu : T = e* (q0)Thêm T vào tập Q’

Page 20: Tl automata

20

Xét trạng thái T . với mõi nhãn Các trạng thái và hàm chuyển sẽ được thêm vào QMột trạng thái của DFA là trạng thái kết thúc nếu nó là tập trạng thái của NFA chứa ít

nhất 1 trạng thái kết thúc của NFA

Câu 21: Trình bày phương pháp biến đổi từ automat ko đơn định có dịch chuyển về

automat đơn định(đưa NFA về DFA).Dẫn VD minh họa. *Một otomat hữu hạn đơn định (DFA) là một bộ năm: A = <Q, Σ, δ, q0, F>, trong đó:

+ Q là một tập hữu hạn khác rỗng, được gọi là tập các trạng thái; + Σ là một bảng chữ cái, được gọi là bảng chữ vào;

+ δ: D → Q, là một ánh xạ từ D vào Q, trong đó D ⊆ Q × Σ , được gọi là hàm chuyển

trạng thái (hay hàm chuyển);

+ q0 ∈ Q, được gọi là trạng thái khởi đầu;

+ F ⊆ Q được gọi là tập các trạng thái kết thúc.

*NFA với ε-dịch chuyển (ký hiệu: NFAε) là bộ năm: A= (Q, Σ, δ, q0, F), trong đó:+ Q: tập hữu hạn các trạng thái;+ Σ: tập hữu hạn các chữ cái;+ δ: Q×(Σ ∪ε) → 2Q ;+ q0 là trạng thái ban đầu;+ F⊆ Q là tập trạng thái kết thúc.

ta có : NFAε A(Q, Σ, δ, q0, F) xây dựng DFA tương đương A’ (Q’, Σ , δ’, q0, F’):qui ước: - q là một trạng thái của NFAε,T là tập trạng thái của NFAε

+ ε-CLOSURE(q)hay viết ε* (q)=p| có đường đi từ q tới p theo nhãn ε

+ ε* (T)= ∪q∈T ε* (q) là tập trạng thái của NFAε đạt được từ tất cả các trạng thái q

thuộc tập T trên sự truyền ε.+ δ(T, a) : là tập trạng thái của NFA đạt được từ tất cả các trạng thái q thuộc tập T trên

sự truyền bằng ký hiệu a

Page 21: Tl automata

21

Trước khi đọc vào một kí tự nhập,DFA có thể ở một trạng thái bất kì trọng các trạng thái thuộc ε* (q0) với q0 là trạng thái bắt đầu của NFAε gọi trạng thái này là T.

T = ε* (q0) , T chưa được đánh dấu;Thêm T vào tập Q’ (of DFA)

Trong khi có một trạng thái T của DFA chưa được đánh dấu ta đánh dấu T và thực hiện các bước sau:

bước 1:đánh dấu Tbước 2: Với mỗi ký hiệu nhập a ta đặt U= ε*(δ(T, a))

Nếu U không có trong tập trạng thái Q’ thì thêm U vào tập các trạng thái Q’ của DFA;Trạng thái U chưa được đánh dấu và lại thực hiện lại từ bước 2δ(T, a) =U (δ(T, a) là phần tử của bảng chuyển DFA).

Câu 22: Định nghĩa biểu thức chính quy. Thuật toán để xây dựng automata từ biểu thức chính quy gọi là thuật toán Thomson,trình bày thuật toán Thomson.

*Cho Σ là một bộ chữ cái. Biểu thức chính quy trên Σ và các tập hợp mà chúng mô tả được định nghĩa một cách đệ quy như sau:

- ∅ là biểu thức chính quy ký hiệu cho tập rỗng

- ε là BTCQ ký hiệu cho tập ε- Mọi a thuộc Σ, a là BTCQ ký hiệu cho tập a - Nếu r và s là các biểu thức chính quy ký hiệu cho các tập hợp R và S thì (r + s), (rs)

và ( r*) là các biểu thức chính quy ký hiệu cho các tập hợp R hợp S, RS và R* tương ứng.*Thuật toán Thomson: Nếu r là biểu thức chính quiTrường hợp 1: r không có phép toán,r là rỗng, ε,hoặc a→ ta có các NFA tương ứng được tạo ra:

Trường hợp 2: r có chứa i phép toán r = r1+ r2 cả 2 biểu thức chính qui r1,r2 có ít hơn i phép toán,vậy có 2 automat hữu hạn M1 (Q1, Σ1, δ1, q1, f1) và M2 (Q2, Σ2, δ2, q2, f2) sao cho L(M1) = L(r1) và L(M2) = L(r2)

*Xây dựng NFA M (Q1 ∪ Q2 ∪ q0, f0, Σ1 ∪ Σ2, δ, q0, f0) với δ được xác định

. δ(q0, ε) = q1, q2

. δ(q, a) = δ1(q, a) với q ∈ Q1 - f1 và a ∈ Σ1 ∪ ε

Page 22: Tl automata

22

. δ(q, a) = δ2(q, a) với q ∈ Q2 - f2 và a ∈ Σ2 ∪ ε

. δ(f1, ε) = δ(f2, ε) = f0

r = r1r2 trong trường hợp này xd M1,M2 như trên; M(Q, Σ , δ, q1, f2) với δ được xác định

. δ(q, a) = δ1(q, a) với q ∈ Q1 - f1 và a ∈ Σ1 ∪ ε

. δ(f1, ε) = q2

. δ(q, a) = δ2(q, a) với q ∈ Q2 và a ∈ Σ2 ∪ ε

r = r*đặt M1 (Q1, Σ1, δ1, q1, f1) và L(M1) = r1.

*Xây dựng M (Q1∪ q0, f0 Σ1, δ, q0, f0), trong đó δ được cho:

. δ(q0, ε) = δ(f1, ε) = q1, f0

. δ(q, a) = δ1(q, a) với q ∈ Q1 - f1 và a ∈ Σ1 ∪ ε

Câu 23: Định nghĩa biểu thức chính quy, trình bày thuật toán xây dựng biểu thức chính quy từ một automata hữu hạn cho trước.

A(q1, q2,..., qn, Σ, δ, q1, F)

Page 23: Tl automata

23

Đặt Rkij = x | δ(qi, x) = qj và nếu δ(qi, y) = ql (y chứa trong x) thì l ≤ k

Rkij = Rk-1

ik(Rk-1kk)*Rk-1

kj ∪Rk-1ij

với mọi Rkij đều tồn tại một biểu thức chính quy ký hiệu cho Rk

ij.k = 0: R0

ij là tập hữu hạn các chuỗi 1 ký hiệu hoặc e Giả sử ta có bổ đề trên đúng với k-1, tức là tồn tại RE

rk-1lm sao cho L(rk-1

lm) = Rk-1lm

Vậy đối với Rkij ta có thể chọn RErk

ij = (rk-1ik)(rk-1

kk)*(rk-1kj) + rk-1

ij

Câu 24: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng một automata hữu hạn từ một văn phạm chính quy tuyến tính phải.

- Văn phạm chính quy (hay còn gọi là văn phạm loại 3 theo phân loại Chomsky) là văn phạm có cấu trúc G gồm 4 thành phần G = (N, T, S, P), trong đó:

+ N: là tập các biến. Ví dụ: A, B, C,...+ T: là tập ký hiệu kết thúc (T N = ). Ví dụ: a, b, c,...+ S: là ký hiệu bắt đầu (start; S N).+ P là tập luật sinh. Mỗi luật sinh trong P đều có dạng tuyến tính trái: A → wB | w

hoặc có dạng tuyến tính phải A → Bw | w với w là xâu ký tự thuộc T.- Ví dụ:

Văn phạm G = (N, T, S, P)N = S, A, T = a, b, S = S, P: S → aS| aA|a, A -> aA| a| b.

- Giải thuật+ Xây dựng tập Q gồm các trạng thái có dạng [α] với α là S hoặc chuỗi hậu tố của vế

phải một luật sinh nào đó trong P. + Nếu A là một biến và (A ® a) Î P: δ([A], ε) = [a]+ Nếu a là một ký hiệu kết thúc: δ([aa], a) = [a]+ Trạng thái bắt đầu [S], trạng thái kết thúc [ε]

Câu 25: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng một automata hữu hạn từ một văn phạm chính chinh quy tuyến tính trái.

- Văn phạm chính quy (Regular Grammar) là văn phạm mà tất cả các luật sinh của nó đều có dạng tuyến tính trái (hoặc tuyến tính phải):

+ Tuyến tính trái: dạng A → Bw hoặc A → w+ Tuyến tính phải: dạng A → wB hoặc A → w

- Thuật toán xây dựng FA cho văn phạm tuyến tính trái được xây dựng dựa trên tính chất sau:

+ Cho văn phạm G = < Σ, Δ, S, P >, và G’ = < Σ, Δ, S, P’ >, trong đó nếu:

Page 24: Tl automata

24

P’ = A → α | A → αR ∈ P , thì L(G’)R = L(G).

+ Như vậy ta có thể xây dựng giải thuật theo 3 bước:+ Xác định văn phạm tuyến tính phải G’ = < Σ, Δ, S, P’ >+ Xây dựng NFA cho G’;+ Đảo ngược chiều các cạnh của NFA này, vị trí kết thúc trở thành vị trí bắt đầu và

ngược lại.

Câu 26: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng văn phạm chính chính quy tuyến tính phải từ một automata hữu hạn cho trước. Ví dụ minh hoạ.

- Văn phạm chính quy (RG) là văn phạm mà tất cả các luật sinh của nó đều có dạng tuyến tính trái (hoặc tuyến tính phải):

+ Tuyến tính trái: dạng A → Bw hoặc A → w+ Tuyến tính phải: dạng A → wB hoặc A → w

- Giải thuật xây dựng văn phạm tuyến tính phải cho FA: xét hàm chuyển trạng thái δ:+ Nếu δ(p, a) = q, ta có luật sinh: p → aq + Nếu q là trạng thái kết thúc, ta có luật sinh p → a+ Nếu q0 là trạng thái kết thúc, thêm vào: S → q0 | ε

Ví dụ: xét DFA cho 0(10)* sau:

Văn phạm tuyến tính phải cho FA trên là:A → 0B | 1D | 0 B →0D | 1CC → 0B | 1D | 0 D → 0D | 1D

Câu 27: Khái niệm về văn phạm chính quy. Trình bày thuật toán xây dựng một automata hữu hạn cho trước. Ví dụ minh hoạ.

- Văn phạm chính quy (RG) là văn phạm mà tất cả các luật sinh của nó đều có dạng tuyến tính trái (hoặc tuyến tính phải):

+ Tuyến tính trái: dạng A → Bw hoặc A → w+ Tuyến tính phải: dạng A → wB hoặc A → w

- Giải thuật xây dựng RG tuyến tính trái cho FA: + Bắt đầu với một NFA cho LR+ Đảo ngược chuỗi vế phải cho tất cả mọi luật sinh của văn phạm vừa thu được

Ví dụ: xét DFA của LR : 0(10)* :

Page 25: Tl automata

25

Văn phạm tuyến tính trái cho FA trên là:A → B0 | D1 | 0 B →D0 | C1C → B0 | D1 | 0 D → D0 | D1

Câu 28: Phát biểu bổ đề bơm(pumping lemma) cho tập hợp chính quy, giải thích, ý nghĩa bổ đề bơm.Lấy ví dụ minh họa.

Nếu L là tập hợp chính quy(RS) thì có tồn tại hằng số n sao cho nếu z là một từ bất kì

thuộc L và |z| <=n, ta có thể viết z dưới dạng : z=uvw với |uv|<=n,|v|>=1 và ∀i ≥ 0, ta có

(uviw ∈ L)

*Cách khác:Ta có thể phát biểu một cách hình thức nội dung của bổ đề bơm như sau :

(∀L)(∃n)(∀z)[ z thuộc L và | z | ≥ n ta có (∃u, v, w)(z = uvw, | uv | ≤ n, | v | ≥ 1 và (∀i)(uviw

∈ L))]

Chứng minh:giả sử L là ngôn ngữ chính quy →tồn tại DFA A =(Q, Σ, δ, q0, F) có n trạng thái chấp nhận L.

Xét chuỗi z có m trạng thái, vậy z = a1a2 ... am, m ≥ n, và với mỗi i = 1, 2, ..., m , ta đặt δ(q0, a1a2...ai) = qi. Do m ≥ n nên cần phải có ít nhất n+1 trạng thái trên đường đi của ôtômát chấp nhận chuỗi z. Trong n+1 trạng thái này phải có hai trạng thái trùng nhau vì ôtômát M chỉ có n trạng thái phân biệt, tức là có hai số nguyên j và k sao cho 0 ≤ j < k ≤ n

Page 26: Tl automata

26

thỏa mãn qj = qk. z ∈ L → qm ∈ F → a1…aj ak+1…am ∈ L(A) → a1…aj (aj+1…ak)

iak+1…am ∈ L(A), với i ≥ 0 . Vì j < k nên chuỗi aj+1...ak có độ dài ít nhất bằng 1 và vì k

≤ n nên k-j ≤ n. Chuỗi đó tạo thành một vòng lặp:

Vòng lặp trong hình trên có thể được lặp lại số lần tùy ý, do đó chuỗi a1...aj

(aj+1...ak)i ak+1...am ∈ L(M), ∀i ≥ 0.

*Ứng dụng của bổ đề bơm: dùng để chứng tỏ một tập hợp không là RS theo phương pháp phản chứng:

Chọn L mà bạn cần chứng tỏ đó không là RL. Chọn hằng số n, hằng số được đề cập đến trong bổ đề bơm.

Chọn chuỗi z∈ L. Chuỗi z phụ thuộc vào hằng số n.

Giả thiết phân chuỗi z thành các chuỗi con u, v, w theo ràng buộc | uv | ≤ n và | v | ≥ 1Mâu thuẫn sẽ phát sinh theo bổ đề bơm bằng cách chỉ ra với u, v và w xác định theo

giả thiết, có tồn tại một số i mà ở đó uviw ∉ L. Từ đó có thể kết luận rằng L không là ngôn

ngữ chính quy. Chọn lựa giá trị cho i có thể phụ thuộc vào n, u, v và w.

*VD: chứng minh tập hợp L = | i ∈N, i ≥ 1 không làp tập hợp chính quy

Chứng minh:Giả sử L là tập chính quy → tồn tại DFA chấp nhận L. Gọi n là số trạng thái của DFA.

2

0n

2

0i

Page 27: Tl automata

27

Xét chuỗi z = . Theo bổ đề bơm: z=uvw với 1≤ |v| ≤ n và uviw ∈ L

Xét i = 2, ta phải có uv2w ∈ L

Mặt khác: n2 = |z| = |uvw| < |uvvw| ≤ n2 + n < (n+1)2Do n2 và (n+1)2 là 2 số chính phương liên tiếp nên luv2wl không thể là một số chính

phương, hay uv2w không thuộc L (trái giả thiết).

Câu 29: Những phép toán nào là đóng với tập hợp chính quy?Lấy vd minh họa.Một phép toán trên các tập RS được gọi là đóng nếu kết qủa các phép toàn đó là tập

hợp cùng loại.Định lí 4.3: tập hợp chính quy đóng với các phép toán : hợp,nối kết và đóng KleenĐịnh lí 4.4: Tập hợp chính quy đóng với phép lấy phần bù, tức là nếu L là tập hợp chính quy

và L ⊆ Σ* thì Σ* - L là tập chính quy.

Định lí 4.5: tập hợp chính quy đóng với phép giaoVD: tập hợp chính quy đóng với phép lấy phần bù

Gọi L là L(M) cho DFA M (Q, Σ1, δ, q0, F) và L ⊆ Σ *.

Trước hết, ta giả sử Σ1 = Σ vì nếu có ký hiệu thuộc Σ1 mà không thuộc Σ thì ta có thể

bỏ các phép chuyển trong M liên quan tới các ký hiệu đó. Do L ⊆ Σ * nên việc xóa như vậy

không ảnh hưởng tới M. Nếu có ký hiệu thuộc Σ nhưng không thuộc Σ1 thì các ký hiệu này không xuất hiện trong L. Ta thiết kế thêm một trạng thái "chết" d trong M sao cho δ(d, a) =

d, ∀a ∈Σ và δ(q, a) = d, ∀q ∈ Q và a ∈ Σ - Σ1. Bây giờ, để chấp nhận Σ * - L, ta hoàn thiện

Page 28: Tl automata

28

các trạng thái kết thúc của M. Nghĩa là, đặt M’ = (Q, Σ, δ, q0, Q - F). Ta có M’ chấp nhận từ

w nếu δ(q0,w) ∈ Q - F, suy ra w ∈ Σ * - L.

VD: Tập hợp chính quy đóng với phép giao

Do ta có công thức biến đổi : Nên theo các định lý trên, suy ra được tập L1 ∩ L2 là tập chính quy.

Câu 30: Những phép toán nào là đóng với văn phạm phi ngữ cảnh?Lấy vd minh họa.Văn phạm phi ngữ cảnh (CONTEXT FREE GRAMMAR) đóng với phép hợp , phép

kết nối và phép bao đóng KleenVD:

Đặt L1 và L2 là hai CFL sinh bởi các CFG G1 (V1, T1, P1, S1) và G2 (V2, T2, P2, S2). Vì các biến có thể đổi tên mà không ảnh hưởng tới ngôn ngữ sinh ra nên ta có thể xem

tập V1 và V2 là rời nhau. Ta cũng giả sử các biến mới S3, S4, S5 ∉ V1 hoặc V2. Đối với L1

∪ L2: Xây dựng văn phạm G3 (V1 ∪ V2 ∪ S3, T1 ∪ T2, P3, S3), trong đó P3 = P1 ∪ P2

∪ S3 → S1 | S2.

Nếu w ∈ L1 thì dẫn xuất S3 ⇒G3 S1 ⇒*G1 w là một dẫn xuất trong G3 (vì mỗi luật

sinh trong G1 cũng là luật sinh trong G3). Tương tự mỗi chuỗi trong L2 có dẫn xuất trong G3 bắt

đầu bằng S3 ⇒ S2. Vậy L1 ∪ L2 ⊆ L(G3).

Page 29: Tl automata

29

Ngược lại, nếu w ∈ L(G3) thì dẫn xuất S3 ⇒*G3 w phải bắt đầu bằng S3 → S1 hoặc

S3 → S2. Tức là dẫn xuất có dạng S3 ⇒G3 S1 ⇒*G3 w hoặc S3 ⇒G3 S2 ⇒*G3 w. Trong

trường hợp thứ nhất, do V1 và V2 rời nhau nên chỉ có các ký hiệu của G1 xuất hiện trong

dẫn xuất S1 ⇒*G3 w. Vì trong các luật sinh của P3 chỉ có chứa các ký hiệu thuộc G1 và nằm

trong tập luật sinh P1, nên ta có thể kết luận chỉ có những luật sinh thuộc P1 được dùng trong

dẫn xuất S1 ⇒*G3 w. Vì thế S1 ⇒*G1 w và w ∈ L1. Tương tự cho trường hợp dẫn xuất S3

⇒G3 S2, ta cũng có w ∈ L2. Vậy L(G3) ⊆ L1 ∪ L2, và vì thế L(G3) = L1 ∪ L2.

Vậy ta đã chứng minh xong L(G3) = L1 ∪ L2, hay L1 ∪ L2 là CFL.

Đối với L1L2 : Xây dựng văn phạm G4 (V1 ∪ V2 ∪ S4, T1 ∪ T2, P4, S4) ,

trong đó P4 = P1 ∪ P2 ∪ S4 → S1S2.

Chứng minh tương tự như trên ta có L(G4) = L1L2, vậy L1L2 cũng là CFL.

Page 30: Tl automata

30

Đối với L1*: Xây dựng văn phạm G5 (V1 ∪ S5, T1, P5, S5), trong đó P5 = P1 ∪ S5 → S1S5 | ε.

Ta cũng dễ dàng chứng minh được L(G ) = (L(G ))*.

Câu 31: Phát biểu bổ đề bơm(pumping lemma) cho tập hợp(ngôn ngữ) phi ngữ cảnh.Vd minh họa( dùng để chứng minh cho 1 ngôn ngữ không là ngôn ngữ phi ngữ cảnh)

Cho L là 1 CFL bất kì , tồn tại 1 số n chỉ phụ thuộc vào L sao cho nếu z ∈ L và |z|

>=n thì ta có thể viết z=uvwxy sắp cho:| vx | ≥ 1

| vwx | ≤ n và ∀i ≥ 0 : uv^i w x^i y ∈ L

Ví dụ: chứng minh L = aibici | i ≥ 1 không là CFLGiả sử L là CFL, khi đó tồn tại số n theo bổ đề bơm Xét chuỗi z = anbncn, |z| ≥ n, ta có thể viết z=uvwxy thỏa bổ đề bơm.

Ta có: vwx ∈ anbncn, |vwx| ≤ n nên vwx không thể đồng thời chứa cả ký hiệu a và c

(vì giữa a và c có n ký hiệu b) → vx cũng không thể chứa cả ký hiệu a và c.Do |vx| ≥ 1 và trong uvwxy chứa số ký hiệu a, b, c bằng nhau:

- Nếu vx có chứa ký hiệu a (nên không thể chứa ký hiệu c) thì khi bơm chuỗi vx, số ký hiệu c sẽ không đổi (luôn là n), nhưng số ký hiệu a sẽ thay đổi. Ví dụ: chuỗi uv0wx0y ∉ L vì có số ký hiệu a (ít hơn n) số ký hiệu c (luôn là n) không bằng nhau.

- Nếu vx không chứa ký hiệu a thì khi bơm chuỗi vx, số ký hiệu a không đổi, nhưng số ký hiệu b (hoặc c) sẽ thay đổi.

Câu 32:Định nghĩa pushdown automata,giải thích các thành phần.Vd minh họa.PDA là một FA với sự bổ xung thêm một ngăn xếp (stack) đóng vai trò bộ nhớ, do vậy

khả năng ghi nhớ của FA được tăng lên, dẫn đến PDA có khả năng đoán nhận lớp ngôn ngữ rộng hơn là RL (RG, RE);

Stack hoạt động theo nguyên lý FILO (LIFO), do đó FA sử dụng bộ nhớ có tên gọi là Pushdown automata;

Page 31: Tl automata

31

Tại mỗi thời điểm, PDA điều khiển đồng thời cả dòng dữ liệu nhập vào (băng nhập- tape) và bộ nhớ - bộ đẩy xuống (stack). Khi đọc một tín hiệu vào, PDA có thể chuyển sang một trạng thái mới, hoặc thêm, xóa đi dữ liệu từ stack, hoặc đồng thời cả hai;

Lớp PDA có khả năng đoán nhận lớp CFL, trong đó bao gồm các ngôn ngữ lập trình hiện đại;Một PDA A là 1 hệ thống gồm 7 thành phần:

Q: tập hữu hạn các trạng tháiΣ : bộ chữ cái nhập (tape or input alphabet);Γ : bộ chữ cái stack (stack alphabet);δ : hàm chuyển Q x (Σ ε) x Γ → tập con của Q x Γ*;q0 : trạng thái khởi đầu;Z0 : ký hiệu bắt đầu trên stack;

F ⊆ Q : tập các trạng thái kết thúc (nếu PDA chấp nhận chuỗi bằng Stack rỗng

thì F = Ø).VÝ dô: Cho M:=(q1,q2,0,1,Z,0,1,δ, Z, ∅, víi c¸c hµm chuyÓn nh sau:1. δ(q1,0,Z)=(q1,0), 2. δ(q1,1,Z)=(q1,1), 3. δ(q1,0,0)=(q1,00),(q2,e)4. δ(q1,0,1)=(q1,10), 5. δ(q1,1,0)=(q1,01), 6.δ(q1,1,1)=(q1,11),(q2,e)7. δ(q2,0,0)=(q2,e), 8. δ(q2,1,1)=(q2,e), 9. δ(q1,1,Z)=(q2,e) 10. δ(q2,e,Z)=(q2,e).

Câu 33: Phận biệt PDA đơn định và PDA không đơn định.Một PDA A(Q, Σ, Γ, δ, q0, Z0, F) được gọi là đơn định nếu:

∀q ∈Q và Z ∈Γ: nếu δ(q, e, Z) ≠ Ø thì δ(q, a, Z) = Ø, ∀a∈ΣKhông có q ∈ Q, Z ∈ Γ và a ∈ (Σ ∪ e) mà | δ(q, a, Z) | chứa nhiều hơn một phần tử. Nếu không thỏa mãn một trong hai yêu cầu trên thì PDA A(Q, Σ, Γ, δ, q0, Z0, F) được

gọi là đa định.

Câu 34: Nêu khái niệm máy Turing, các kỹ thuật xây dựng máy Turing, lớp ngôn ngữ đoán nhận bởi máy Turing.

Máy Turing có một băng nhớ, dùng để ghi mọi loại dữ liệu (dữ liệu nhập, dữ liệu dùng cho việc điều khiển tương tự như một chương trình máy tính và các kết quả trung gian khi làm việc). Với một bộ điều khiển chứa một số hữu hạn trạng thái, TM cũng như các ôtômát khác, làm việc theo lối "ngắt quãng" theo từng bước chuyển. mô hình cơ bản của một máy Turing gồm :

Một bộ điều khiển hữu hạn. Một băng được chia thành các ô. Một đầu đọc-viết, mỗi lần đọc có thể duyệt qua một ô trên băng để đọc hay

viết ký hiệu. →Định nghĩa:

TM là một hệ thống M (Q, ∑, Γ, δ, q0, B, F), trong đó:

Page 32: Tl automata

32

. Q : tập hữu hạn các trạng thái.

. ∑: bộ ký hiệu nhập.

. Γ : tập hữu hạn các ký tự được phép viết trên băng.

. B : ký hiệu thuộc Γ dùng chỉ khoảng trống trên băng (Blank).

. δ : hàm chuyển ánh xạ : Q × Γ → Q × Γ × L, R, ∅

(δ có thể không xác định với một vài đối số)

. q0 ∈ Q là trạng thái bắt đầu

. F ⊆ Q là tập các trạng thái kết thúc

Các kĩ thuật xây dựng máy turing:Lưu trữ trong bộ điều khiểnNhiều rãnh trên băngĐánh dấu ký hiệuDịch quaChương trình con

Lớp ngôn ngữ mà được chấp nhận bởi 1 máy Turing được gọi là ngôn ngữ đệ quy kiệt kêĐó là một lớp ngôn ngữ rất rộng, nó thực sự chứa ngôn ngữ phi ngữ cảnh CFL và một

số ngôn ngữ mà không thể xác định các thành phần một cách máy móc. Nếu L(M) là một ngôn ngữ như vậy thì bất kỳ một máy Turing nào nhận diện L(M) cũng sẽ không dừng trên một số input không thuộc L(M).

Câu 35: Nêu khái niệm automata tuyến tính giới nội, lớp ngôn ngữ đoán nhận bởi automata tuyến tính giới nội.

Ôtômát tuyến tính giới nội (Linear Bounded Automata - LBA)Khái niệm LBA

Một cách hình thức, LBA là một hệ thống M(Q, Σ, Γ,δ,qo,⊄, $, F), trong đó các thành phần

Q, Σ, Γ, qo, F vẫn như đã định nghĩa ở máy Turing, còn ⊄, $ ∈ Σ và hàm chuyển :

Page 33: Tl automata

33

δ: Q × Γ → (Q × Γ × L, R) phải thỏa mãn điều kiện:

- Nếu (p, Y, E) ∈ δ(q, ⊄) thì Y = ⊄ và E = R

- Nếu (p, Y, E) ∈ δ(q, $) thì Y = $ và E = L

Ngôn ngữ được chấp nhận bởi LBA Ta định nghĩa ngôn ngữ L(M) được đoán nhận bởi LBA M là tập hợp :

L(M) = w | w ∈ (Σ - ⊄, $)* và qo⊄w$ ⊢M* αqβ với q ∈ F và αβ ∈ Γ*

Các dạng bài tập ôn thiBiến đổi tương đương giữa các dạng automata hữu hạn;NFA→DFANFAε→DFANFAε→NFABiến đổi tương đương giữa automata hữu hạn với biểu thức chính quy và văn phạm chính quy;Văn phạm chính quy và automata hữu hạnRG→FA(automata hữu hạn)VĂN PHạMTT TráiVĂN PHạM TT PhảiFA→RGXây dựng RG tuyến tính phải cho FAXây dựng RG tuyến tính trái cho FABiểu thức chính quy và automata hữu hạnFA→RE ( xây dựng NFAε thỏa mãn RE)DFA tương đương RE ( viết RE cho DFA)Rút gọn, chuẩn hóa văn phạm phi ngữ cảnh.Rút gọn NNPNCLoại bỏ kí hiệu thừaLoại bỏ luật sinh εLoại bỏ luật sinh đơn vịChuẩn hóa VĂN PHạM PNCDạng chuẩn hóa ChomskyDạng chuẩn hóa GreibachBiến đổi tương đương giữa automata đẩy xuống và văn phạm phi ngữ cảnh;Sự tương đương giữa 2 automata đẩy xuống (PDA)

Page 34: Tl automata

34

NPDA→DPDA ( automata đẩy xuống đa định sang đơn định)DPDA→NPDA( automata đẩy xuống đơn định sang đa định)Sự tương đương giữa automata đẩy xuống và văn phạm phi ngữ cảnhCONTEXT FREE GRAMMAR→PDA PDA→CONTEXT FREE GRAMMAR