Định nghĩa Cho văn phạm phi ngữ cảnh G=(N,T, s, P) ta nói G là văn phạm có dạng chuẩn Greibach nếu với mọi quy tắc dẫn xuất của P đều có dạng A a α với a

Một phần của tài liệu Võ Minh Phổ – Các bài giảng ngôn ngữ hình thức và OTOMAT (Trang 54)

- Ngoài ra nếu s0 e là quy tắc của P thì không ảnh hưởng đến kết quả, ta giả thiết s

b.Định nghĩa Cho văn phạm phi ngữ cảnh G=(N,T, s, P) ta nói G là văn phạm có dạng chuẩn Greibach nếu với mọi quy tắc dẫn xuất của P đều có dạng A a α với a

∈ T; α∈ N*.

c. Bổ đề 3.3. Cho văn phạm phi ngữ cảnh G=(N, T, s, P), giả sử trong P có các quytắc dạng : 1. A α1Bα2; 2. B βi (i=1…r). tắc dạng : 1. A α1Bα2; 2. B βi (i=1…r).

Khi đó có thể xây dựng văn phạm G’ thoả các điều kiện sau: - L(G)=L(G’)

- P’=P\{ A α1Bα2} ∪{A α1 βi α2 (i=1…r)}.

Bổ đề 3.3 cho phép ta thay quy tắc 1 bởi quy tắc dạng A α1βi α2 mà không thay đổi L(G).

Chứng minh. Lấy w ∈ L(G’) khi đó tồn tại s * w trong G’.

- Nếu các dẫn xuất thành phàn của dẫn xuất này không sử dụng A-quy tắc thì đương nhiên nó vẫn là dẫn xuất trong G nên w ∈ L(G).

- Nếu dẫn xuất s * w trong G’ có dẫn xuất thành phần dạng A α1 βi α2 với i nào đó thì ta thay dẫn xuất trên bởi A α1 Biα2 α1 βi α2

và khi đó s * w là dẫn xuất trong G nên w ∈ L(G).

Ngược lại, nếu w ∈ L(G) khi đó tồn tại s * w, sẽ xẩy ra các trường hợp sau: - Nếu dẫn xuất trên không sử dụng A- quy tắc thì dẫn xuất trong G cũng là trong G’ - Nếu dẫn xuất trong G có dùng A-quy tắc dạng A α1 Bi α2 thì để có s * w thì ta phải sử dụng quy tắc dạng B βi khi dã chỉ cần thay 2 bước này bằng một quy tắc của G’ nên w ∈ L(G’).

d. Bổ đề 3.4. Cho văn phạm phi ngữ cảnh G=(N, T, s, P), giả sử trong P có các quy tắc dạng sau:

1. A A αi (i=1…r); (1) 2. A βj (j=1..s ) (2).

Khi đó tồn tại văn phạm phi ngữ cảnh G’ thoả mãn điều kiện sau: 1. L(G)=L(G’)

P’:=P\{ A A αi } ∪{A βj Z} ∪{Z αi, Z αiZ} với i=1…r, j=1…s và Z∉N .

Chứng minh. Thực chất của bổ đề là thay các A- quy tắc bởi các quy tắc dạng: {A βj Z} ∪{Z αi, Z αiZ} với i=1…r, j=1…s và Z∉N . Xây dựng G’ nh sau:

- N’:=N ∪{Z}

- P’:= P\{A A αi } ∪{A βj Z} ∪{Z αi, Z αiZ} với i=1…r, j=1…s và Z∉N .

Lấy w ∈ L(G) khi đó tồn tại dẫn xuất s * w và:

- Nếu dẫn xuất này không sử dụng A- quy tắc (1),(2) ở bước nào đó thì dẫn xuất này cũng là của G’

-Nếu dẫn xuất này sử dụng quy tắc (1),(2) ở bước nào đó chẳng hạn:

γ1Aγ2 γ1Aαi1γ2 γ1Aαi2αi1γ2 γ1Aαik…αi2αi1γ2 γ1βjαik…αi2αi1γ2

Khi đó ta thay dãy trên bằng các quy tắc của P’ nh sau: -γ1Aγ2 γ1βj Z γ2 γ1βj Zαikγ2 γ1βjαikαik-1 Z γ2…

γ1αik …αi2αi2Zγ2 γ1βjαik…αi2αi1γ2 , nên suy ra w ∈ L(G’). Ngược lại, w ∈ L(G’) thì:

- Nếu trong dẫn xuất s * w trong G’ không sử dụng quy tắc nào liên quan đến Z thì w ∈ L(G)

- Nếu trong có bước nào liên quan đến Z chẳng hạn có đoạn dẫn xuất sau:

tAγ tβj Z γ tβj αikZ γ tβjαikαik-1…αi2Z γ tβj αik…αi2αi1γ

ta có thể thay như sau:

tAγ tAαi1γ tAαi2αi1Z γ tAαikαik-1…αi2αi1γ tβj αik…αi2αi1γ

do đó w ∈ L(G).

e. Định lý 3.5. Cho văn phạm phi ngữ cảnh G=(N, T, s, P), khi đó tồn tai văn phạm phi ngữ cảnh G’=(N’, T’, s, P’) là văn phạm chuẩn dạng Greibach.

Chứng minh. Không giảm tổng quát ta coi G là văn phạm chuẩn Chomsky. Giả sử N={s,A1, A2,…,An} ta tiến hành các bước sau: (adsbygoogle = window.adsbygoogle || []).push({});

B1:Tiến hành thay thế các quy tắc dẫn xuất để sao cho các quy tắc dẫn xuất của văn phạm có dạng: Ai Ajγ với γ ∈ N*, i>j. Việc này được thực hiện quy nạp. Giả sử các quy tắc đã sửa về dạng Ai Ajγ với γ ∈ N*, i>j, i=1,…,k. Ta sửa đổi cho quy tắc Ak+1 ở vỊ trái.

- NÕu Ak+1 Ajγ với γ∈ N* là quy tắc và j<k+1, khi đó ta tạo ra tập các quy tắc mới bằng cách thay Aj ở vỊ phải của mỗi Aj– quy tắc theo bổ đề 1.

B2. Lặp lại quy trình này không quá k-1 lần ta nhận được A k+1 Alγ với γ ∈ N*, l>= k+1.

B3. - Trường hợp l=k+1 thì áp dụng bổ đề 2 bằng cách đưa vào biến mới Zk+1.

- Lặp lại quy trình trên cho mỗi biến của tập N ta sẽ nhận được các quy tắc dạng sau:

1. A k Alγ với γ∈ N*, l>k. 2. Ak aγ với γ∈ N*, a ∈ T

Chú ý rằng các ký hiệu trái nhất của các vỊ phải trong các An- quy tắc phải thuộc T vì An là chỉ số cao nhất, còn ký hiệu trái nhất của An-1 quy tắc phải thuộc T* hoặc là An. Do đó ta được dạng chuẩn Greibach.

Một phần của tài liệu Võ Minh Phổ – Các bài giảng ngôn ngữ hình thức và OTOMAT (Trang 54)