OtoMat

4 657 3
OtoMat

Đang tải... (xem toàn văn)

Thông tin tài liệu

otomat

CYK viết tắt của từ Cocke-Younger-Kasami.CYK là một thuật toán dùng để xác định xem một xâu có được tạo ra (hay đoán nhận) bởi một văn pham phi ngữ cảnh hay không (context-free grammar). Thuật toán này được sử dụng rất nhiều trong phân tích ngôn ngữ tự nhiên. CYK là thuật toán bottom-up và chi phí là O(n³) trong trường hợp tồi nhất với n là độ dài xâu phân tích. Giải thuật Vào: Văn phạm G = ( N , T , S , P ) dạng chuẩn Chomsky, không chứa sản xuất trống, xâu vào w = a1a2 . an € T+ Ra: Bảng phân tích T đối với w sao cho tij chứa A khi và chỉ khi A →+ aiai+1 . ai+j-1 Thuật toán For i = 1 to n do ti1 = { A|A → ai € P } For j = 2 to n do For i = 1 to n – j +1 do For k = 1 to j - 1 do tij = { A| A → BC € P, B → tik và C → ti+k,j-k } Nếu S € t1n thì w € L(G). 1. cho văn phạm với các tập sản xuất: P={S->ABE;A->AE|EE|a;B->BBE|E|b ; E->aA| ε } => thứ tự thực hiện : loại bỏ ε -sản xuất=> loại bỏ sản xuất đơn=>loại bỏ kí hiệu vô sinh =>loại bỏ kí hiệu ko đến được. **loại bỏ ε -sản xuất** do E-> ε nên E là triệt tiêu được. B->E nên B là triệt tiêu được. A->EE nên A là triệt tiêu được. S->ABE S là triệt tiêu được. P1= {S->ABE|BE|AE|AB|A|B|E: A->AE|EE|a|A|E; B->BBE|E|b|BE|BB|B ; E->aA| a} **loại sản xuất đơn** các sản xuất đơn: S->A|B|E. A->A B->E. (thay các sx đơn trong P1 bằng các sx ko đơn trong A,B,E của P1) vậy P2={S->ABE|BE|AE|AB|EE|BBE|BB|aA|a|b: A->AE|EE|a|aA; B->BBE|b|BE|BB|a|b|aA ; E->aA| a} **loại bỏ kí hiệu vô sinh** căn cứ vào P2. có S->a A->a B->a E->a Δ'={S,A,B,E} kl: ko có kí hiệu vô sinh. vậy P3=P2. **loại bỏ kí hiệu ko dẫn được ** Δ' ={S} xét S->ABE =>Δ' ={S,A,B,E} S->aA => Σ' ={a} ko có kí hiệu ko dẫn được vậy P4=P3. OTOMAT HHDD 2. - Ví dụ: Khử sản xuất đơn vị cho văn phạm sau: SaA |A | bB AB | a BA | ab | bb - Ta có các sản xuất không đơn vị: SaA| bB Aa Bab |bb - Ta có các cặp biến (S,A), (S,B), (A,B), (B,A) thỏa mãn S⇒ + A; S⇒ + B; A⇒ + B; B⇒ + A • cặp (S,A), có Aa nên thêm: Sa • cặp (S,B), có Bab và Bbb nên thêm: Sab |bb • cặp (A,B), có Bab và Bbb nên thêm: Aab |bb • cặp (B,A), có Aa nên thêm: Ba Vậy ta được văn phạm sau: • SaA | a | ab |bb |bB • Aa | ab | bb • Bab |bb | a Ví dụ: vẽ ôtômat PDA đoán nhận xâu a n b n với n>=0 . ={S,A,B,E} S->aA => Σ' ={a} ko có kí hiệu ko dẫn được vậy P4=P3. OTOMAT HHDD 2. - Ví dụ: Khử sản xuất đơn vị cho văn phạm sau: SaA |A |

Ngày đăng: 02/05/2013, 21:27

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan