Tải bản đầy đủ (.doc) (4 trang)

OtoMat

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (150.72 KB, 4 trang )

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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×