Dạng chuẩn Chomsky – CNF (Chomsky Normal Form)

Một phần của tài liệu công cụ hỗ trợ học tập tin học lý thuyết trên web (Trang 69 - 70)

VI. VĂN PHẠM PHI NGỮ CẢNH (CFG: Context Free Grammar)

6.7.1 Dạng chuẩn Chomsky – CNF (Chomsky Normal Form)

Định nghĩa: (Dạng chuẩn Chomsky hay CNF)

Một ngôn ngữ phi ngữ cảnh bất kỳ không chứa ε đều đƣợc sinh ra bằng một văn phạm nào đó mà các luật sinh có dạng A BC hoặc A a, với A, B, C là biến còn a là ký hiệu kết thúc.

Ví dụ 6.10: 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.

Một phần của tài liệu công cụ hỗ trợ học tập tin học lý thuyết trên web (Trang 69 - 70)

Tải bản đầy đủ (PDF)

(106 trang)