Đưa văn phạm phi ngữ cảnh về dạng chuẩn Chomsky

Một phần của tài liệu Bài giảng ngôn ngữ hình thức đh lâm nghiệp (Trang 56 - 58)

Định lý 2.1. Đối với văn phạm phi ngữ cảnh tùy ý G = <Σ, Δ, S, P>, luôn tồn tại

một văn phạm phi ngữ cảnh ở dạng chuẩn Chomsky G’ = <Σ, Δ’, S, P’> tương đương

với nó, tức là L(G) = L(G’).

Chng minh:

Theo các định lý 1.2, 1.3 và 1.4 ở phần trên, ta có thể giả thiết văn phạm G là không chứa các ký hiệu thừa, không chứa các ε-qui tắc và không chứa các qui tắc đơn. Để xây dựng văn phạm mới G’ ở dạng chuẩn Chomsky, ta chỉ cần loại bỏ các quy tắc

mà vế phải có chứa cả ký hiệu chính và ký hiệu phụ hoặc các quy tắc mà vế phải nhiều

hơn hai ký hiệu. Việc loại bỏ các quy tắc không hợp lệ này tiến hành theo hai bước sau:

- Bước 1: Với các quy tắc vế phải có chứa cả ký hiệu chính và ký hiệu phụ, tức là các quy tắc có dạng: A→X1 X2…Xm , với Xi∈Σ∪Δ. (1)

Xét tất cả các Xi trong quy tắc (1), nếu Xi∈ Δ thì giữ nguyên Xi, nếu Xi = a ∈ Σ, ta thêm vào ký hiệu phụ Aa, thay Xi trong quy tắc (1) bởi Aa, và thêm vào quy tắc Aa→a.

Lặp lại quá trình trên với tất cả các Xi trong quy tắc (1), quy tắc (1) trở thành: A→Y1 Y2

…Y m, với Yi là các ký hiệu phụ (Yi = Xi nếu Xi∈, Yi = Ai nếu Xi = a ∈Σ).

Sau bước 1, ta nhận được vă n phạm G1 = <Σ, Δ 1 , S, P1> với Δ 1 và P1 nhận

được từ và P sau khi thêm vào các ký hiệ ơhụ mới và các quy tắc mới như trên. Rõ

ràng L(G1) = L(G) mà G1 không chứa các quy tắc mà vế phải có cả ký hiệu chính và ký hiệu phụ.

- Bước 2: Bây giờtrong G1cần loại bỏcác quy tắc mà vếphải cóđộdài lớn hơn 2,

gồm toàn ký hiệu phụ, là các quy tắc dạng: A→Y1Y2…Ym , với m > 2, Yi∈Δ 1 (2) Ta thêm m-2 ký hiệu phụ Z1, Z2, … Zm-2 vào tập Δ1, và thêm vào m-2 quy tắc sau

đây: A→Y1Z1; Z1→Y2Z2; Z2→Y3Z3; …; Zm-2→Ym-1Ym.

Ta nhận được văn phạm mới G2 < Σ, Δ 2, S, P2> không chứa các quy tắc có vế

phải nhiều hơn 2 ký hiệu, không chứa các quy tác vế phải gồm cà ký hiệu chính và ký hiệu phụ. Dễ dàng chỉ ra rằng L(G2) = L(G1) = L(G), vậy G2 chính là văn phạm G’ ở

dạng chuẩn Chomsky cần tìm.

Ví d 2.1. Cho văn phạm phi ngữcảnh G = <{a, b}, {S, A, B}, S, P>, với tập quy

tắc P = {S→A, S→ABA, A→aA, A→a, A→B, B→bB, B→b}. Hãy xây dựng văn

phạm ở dạng chuẩn Chomsky tương đương với G.

Áp dụng định lý 1.3, ta có thể loại hết các quy tắc đơn trong G, đểđược văn phạm

tương đương mà không chứa quy tắc đơn G1 = <{a, b}, {S, A, B}, S, P1>, với P1 =

{S→ABA, S→aA, S→a, S→bB, S→b, A→aA, A→a, A→bB, A→b, B→bB, B→b}.

Bây giờ áp dụng định lý 3.1 cho văn phạm G1, ta thay tất cả các quy tắc mà vế

phải có chứa cả ký hiệu chính và ký hiệu phụ:

+ Với các quy tắc S→aA, A→aA ta thay a bởi Aa, thêm Aa vào tập ký hiệu phụ

mới 2, thêm quy tắc Aa→a vào tập quy tắc mới P2;

+ Với các quy tắc S→bB, A→bB, B→bB ta thay b bởi Ab, thêm Ab vào tập ký hiệu phụ mới 2, thêm quy tắc Ab→b vào tập quy tắc mới P2.

Ta nhận được G2 = <{a, b}, {S, A, B, Aa, Ab}, S, P2>, với P2= {S→ABA, S→AaA,

S→a, S→AbB, S→b, A→AaA, A→a, A→AbB, A→ b, B→AbB, B→b} không có quy

+ Với G2, ta giảm độ dài vế phải các quy tác có hơn hai ký hiệu: Thay quy tắc

S→ABA bởi hai quy tắc S→AC, C→BA, và thêm C vào tập ký hiệu phụ. Cuối cùng, ta

được văn phạm G3 = <{a, b}, {S, A, B, Aa, Ab, C}, S, P3>, với P3 = {S→AC, C→BA,

S→AaA, S→a, S→AbB, S→b, A→AaA, A→a, A→AbB, A→b, B→AbB, B→b}.

Văn phạm G3 ~ G2 ~ G1 ~ G, mà G3 là ở dạng chuẩn Chomsky.

Một phần của tài liệu Bài giảng ngôn ngữ hình thức đh lâm nghiệp (Trang 56 - 58)

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

(82 trang)