Dạng chuẩn của Chomsky

Một phần của tài liệu bài giảng automat (Trang 57)

5. Bài tập chương 2

1.4. Dạng chuẩn của Chomsky

Định nghĩa:

Văn phạm phi ngữ cảnh G=<, , I, R> gọi là văn phạm chuẩn của Chomsky nếu trong G không có ký hiệu thừa và mọi quy tắc trong R đều có dạng A  BC hoặc có dạng A  a, với A, B, C  và a .

Dạng chuẩn Chomsky của văn phạm phi ngữ cảnh là dạng rất đơn giản cho phép thực hiện các xử lý, phân tích trên văn phạm dạng này đơn giản hơn so với các dạng khác. Vấn đề đặt ra là một văn phạm phi ngữ cảnh bất kỳ có thể đưa về dạng chuẩn Chomsky này hay không? Câu trả lời là khẳng định và phát biểu trong định lý sau đây:

Định lý:

Với mọi văn phạm phi ngữ cảnh G=<, , I, R> luôn tồn tại văn phạm phi ngữ cảnh ở dạng chuẩn Chomsky tương đương sai khác 1 từ rỗng.

Chứng minh:

Theo định lý mục 1.3 ở trên ta tìm được văn phạm phi ngữ cảnh G’ tương đương với G sai khác 1 từ rỗng mà G’ không chứa quy tắc rỗng, không chứa quy tắc đơn và không có ký hiệu thừa. Giả sử G’=<’, ’, I, R’>. Như vậy mọi quy tắc trong R’ chỉ có một trong 2 dạng sau:

Dạng 1: A  a với A ’ và a ’

Dạng 2: A  X1X2…Xk với k  2 và Xi ’ ’ Ta xây dựng G’’=<’, ’’, I, R’’> như sau:

- 58 -

 Cho R’’ ban đầu chứa tất cả các quy tắc có dạng 1 của R’

 Xét mỗi quy tắc có dạng 2 của R’: A  X1X2…Xk , có 2 khả năng:

 Nếu tất cả ký hiệu ở vế phải đều thuộc ’ thì bổ sung quy tắc này vào R’’

 Nếu vế phải có chứa ký hiệu a thuộc ’ thì ứng với mỗi ký hiệu a này sẽ bổ sung thêm 1 ký hiệu không kết thúc tương ứng a vào ’’, bổ sung thêm vào R’’ quy tắc aa và cuối cùng bổ sung thêm và R’’ quy tắc ứng với A  X1X2…Xk có vế trái là A còn ở vế phải giữ nguyên các ký hiệu không kết thúc và thay mỗi ký hiệu kết thúc a bởi ký hiệu không kết thúc tương ứng a .

Kết quả ta có L(G’’)=L(G’) và mọi quy tắc trong G’’ đều có dạng 1 hoặc dạng 2 với các ký hiệu vế phải của dạng 2 đều là các ký hiệu không kết thúc.

Tiếp theo ta xây dựng G’’’=<’, ’’’, I, R’’’> như sau

 Cho ’’’ ban đầu bằng ’’

 Cho R’’’ ban đầu chứa tất cả các quy tắc có dạng 1 của R’’ và tất cả các quy tắc dạng 2 của R’’ với vế phải có đúng 2 ký hiệu (với k=2).

 Xét mỗi quy tắc có dạng 2 của R’’: A  X1X2…Xk với k>2 và thực hiện:

- Bổ sung vào R’’’ các quy tắc:

A  X1P1, P1  X2P2, … , Pk-3  Xk-2Pk-2, Pk-2  Xk-1Xk - Bổ sung vào ’’’ các ký hiệu mới P1, P2, … , Pk-2

Kết quả được G’’’ tương đương G’’ và G’’’ đã ở dạng chuẩn Chomsky. Ví dụ: Tìm dạng chuẩn Chomsky của văn phạm phi ngữ cảnh G=<, , I, R>

={a, b}; ={I, A, B}

R={I  AIB, A  aAI, B  IbI, B  A, B  bb, A  a, I } Giải:

Bước 1: Loại quy tắc rỗng G chỉ có 1 ký hiệu triệt tiêu là I

- 59 - Kết quả được G1=<, , I, R1>, với R1

R1={I  AIB, A  aAI, B  IbI, B  A, B  bb, A  a, I  AB, A  aA, BIb, B  bI, B  b}

Bước 2: Loại quy tắc đơn từ G1 G1 chỉ có 1 cặp đơn vị (B, A)

Các quy tắc bổ sung: B  aAI, B  a, B  aA Kết quả được G2=<, , I, R2>, với R2

R2={I  AIB, A  aAI, B  IbI, B  bb, A  a, I  AB, A  aA, B  Ib, BbI, B  b, B  aAI, B  a, B  aA}

Bước 3: Loại ký hiệu thừa từ G2

Trong G2 không có ký hiệu thừa

Kết quả được G2 không có quy tắc rỗng, không có quy tắc đơn và không có ký hiệu thừa.

Bướ 4: Đưa G2 về dạng chuẩn Chomsky

Bổ sung thêm 2 ký hiệu không kết thúc X ứng với a, Y ứng với b Thay thế các quy tắc:

Quy tắc của R2 Thay thế bởi I  AIB I  AK, K  IB A  aAI A  XP, P  AI, X  a B  IbI B  XQ, Q  YI, Y  b B  bb B  YY, Y  b A  aA A  XA, X  a B  Ib B  IY, Y  b B  bI B  YI, Y  b B  aAI B  XP, P  AI, X  a B  aA B  XA, X  a

Kết quả được văn phạm phi ngữ cảnh dạng chuẩn Chomsky G3=<, 3, I, R3>, với

- 60 -

R3={IAK, KIB, AXP, PAI, Xa, BXQ, Q  YI, B  YY, Y  b, A

 XA, B  IY, B  YI, B  XP, B  XA, A  a, B  a, B  b} G3 chính là văn phạm cần tìm.

Một phần của tài liệu bài giảng automat (Trang 57)