1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyên đề: Nghiên cứu Ngôn ngữ hình thức, Văn phạm phi ngữ cảnh và Automata đẩy xuống

84 373 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 0,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chuyên đề Nghiên cứu Ngôn ngữ hình thức, Văn phạm phi ngữ cảnh và Automata đẩy xuống được nghiên cứu với mục tiêu: Nghiên cứu tổng quan về văn phạm hình thức và các Automata, là những công cụ sinh ngôn ngữ, đồng thời đề cập đến các tính chất của ngôn ngữ chính quy, ngôn ngữ phi ngữ cảnh. Ngoài ra, cũng giới thiệu sơ lược về Trình biên dịch, một phần quan trọng của học phần Chương trình dịch gắn bó chặt chẽ với Lý thuyết ngôn ngữ hình thức và Automata, trong đó Văn phạm phi ngữ cảnh là cơ sở lý thuyết để xây dựng Bộ phân tích cú pháp, là thành phần quan trọng nhất trong một Trình biên dịch.

Trang 1

L I C M  NỜ Ả Ơ

Trước h t, em xin chân thành c m  n các th y cô giáo trong khoa Côngế ả ơ ầ  ngh  thông tin Trệ ường ĐH K  thu t – H u c n CAND đã trang b  nh ng ki nỹ ậ ậ ầ ị ữ ế  

th c c  b n, c n thi t và quý báu đ  em th c hi n chuyên đ  c a mình.ứ ơ ả ầ ế ể ự ệ ề ủ

Đ c bi t, em xin bày t  lòng kính tr ng và bi t  n sâu s c t i th yặ ệ ỏ ọ ế ơ ắ ớ ầ  Nghiêm Văn H ng, giáo viên gi ng d y, và th y Cao Xuân Trư ả ạ ầ ường, người đã 

t n tình hậ ướng d n, ch  b o và t o m i đi u ki n thu n l i giúp em trong quáẫ ỉ ả ạ ọ ề ệ ậ ợ  trình th c hi n chuyên đ ự ệ ề

M c dù đã r t c  g ng cùng nh n đặ ấ ố ắ ậ ượ ực s  giúp đ  t n tâm c a th y giáoỡ ậ ủ ầ  

hướng d n, xong do trình đ  còn h n ch , tài li u ch a đẫ ộ ạ ế ệ ư ược phong phú, và 

n i dung này khá khó đ i v i em nên không tránh kh i nh ng thi u sót trongộ ố ớ ỏ ữ ế  quá trình ti p nh n ki n th c. Em r t mong nh n đế ậ ế ứ ấ ậ ượ ực s  quan tâm giúp đ ,ỡ  

ch  d n c a th y cô và s  góp ý t  b n bè đ  trong th i gian t i em có th  ti pỉ ẫ ủ ầ ự ừ ạ ể ờ ớ ể ế  

t c tìm hi u và xây d ng chuyên đ  m t cách hoàn thi n nh t.ụ ể ự ề ộ ệ ấ

Em xin chân thành c m  n!ả ơ

Trang 2

GI I THI U T NG QUAN V  CHUYÊN ĐỚ Ệ Ổ Ề Ề Tên chuyên đề: Nghiên c u Ngôn ng  hình th c, Văn ph m phi ngứ ữ ứ ạ ữ 

Lý thuy t ngôn ng  hình th c và Automata đóng m t vai trò r t quanế ữ ứ ộ ấ  

tr ng trong các c  s  toán h c c a tin h c. Ngôn ng  hình th c đọ ơ ở ọ ủ ọ ữ ứ ượ ử ụ  c s  d ngtrong vi c xây d ng các ngôn ng  l p trình, lý thuy t v  các chệ ự ữ ậ ế ề ương trình 

d ch. Các ngôn ng  hình th c t o thành m t công c  mô t  đ i v i các môị ữ ứ ạ ộ ụ ả ố ớ  hình tính toán c  cho d ng thông tin vào ­ ra l n ki u thao tác. Lý thuy t ngônả ạ ẫ ể ế  

ng  hình th c, chính vì th c ch t c a nó là m t lĩnh v c khoa h c liên ngành;ữ ứ ự ấ ủ ộ ự ọ  nhu c u mô t  hình th c văn ph m đầ ả ứ ạ ược phát sinh trong nhi u ngành khoaề  

h c khác nhau t  ngôn ng  h c đ n sinh v t h c. Do đó nh ng khía c nhọ ừ ữ ọ ế ậ ọ ữ ạ  thích h p c a lý thuy t ngôn ng  hình th c s  có t m quan tr ng quy t đ nhợ ủ ế ữ ứ ẽ ầ ọ ế ị  trong các giáo trình v  Lý thuy t ngôn ng  hình th c và Automata. ề ế ữ ứ

Lĩnh v c mà lý thuy t ngôn ng  hình th c nghiên c u là nh ng m uự ế ữ ứ ứ ữ ẫ  hình (pattern) có c u trúc bên trong ngôn ng  hình th c, và đó là nh ng khíaấ ữ ứ ữ  

c nh hoàn toàn mang tính ch t có cú pháp. Ngôn ng  hình th c không cònạ ấ ữ ứ  

đ n gi n ch  là đ  đ nh nghĩa ngôn ng  t  nhiên, mà nó vơ ả ỉ ể ị ữ ự ượt ra ngoài kh iỏ  

ph m vi đó và nó cũng là m t cách đ  th  hi n đạ ộ ể ể ệ ược nh ng quy t c có cúữ ắ  pháp c a ngôn ng  t  nhiên.ủ ữ ự

M c tiêu  c a chuyên đủ ề: Nghiên c u t ng quan v  văn ph m hình th cứ ổ ề ạ ứ  

và các Automata, là nh ng công c  sinh ngôn ng , đ ng th i đ  c p đ n cácữ ụ ữ ồ ờ ề ậ ế  tính ch t c a ngôn ng  chính quy, ngôn ng  phi ng  c nh. Ngoài ra, cũng gi iấ ủ ữ ữ ữ ả ớ  thi u s  lệ ơ ược v  Trình biên d ch, m t ph n quan tr ng c a h c ph n Chề ị ộ ầ ọ ủ ọ ầ ươ  ngtrình d ch g n bó ch t ch  v i Lý thuy t ngôn ng  hình th c và Automata,ị ắ ặ ẽ ớ ế ữ ứ  trong đó Văn ph m phi ng  c nh là c  s  lý thuy t đ  xây d ng B  phân tíchạ ữ ả ơ ở ế ể ự ộ  

cú pháp, là thành ph n quan tr ng nh t trong m t Trình biên d ch.ầ ọ ấ ộ ị

Đ i tố ượng nghiên c uứ : Ngôn ng  hình th cữ ứ  và lý thuy t Automataế

Ph m vi nghiên c uạ ứ :

 Ngôn ng  phi ng  c nhữ ữ ả  cùng hai phương ti n đ  xác đ nh chúng là ệ ể ị Văn 

ph m phi ng  c nhạ ữ ả ;

 Automata đ y xu ng.ẩ ố

Trang 3

2.2 Bi n đ i các Văn ph m phi ng  c nhế ổ ạ ữ ả

Chương III: Automata đ y xu ngẩ ố

3.1 Automata đ y xu ng không ti n đ nhẩ ố ề ị

3.2 Automata đ y xu ng và Văn ph m phi ng  c nhẩ ố ạ ữ ả

Chương IV: T ng quan v  trình biên d chổ ề ị

Trang 4

 Chương trình demo c  bơ ản.

Trang 5

M C L CỤ Ụ

Trang 6

M C L C HÌNHỤ Ụ

M C L C B NGỤ Ụ Ả

Trang 7

Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp  giữa  con  người với nhau, giao tiếp giữa người với máy, hay giao tiếp giữa máy với máy. Ngôn ngữ để  con người có thể giao tiếp với nhau được gọi là ngôn ngữ tự nhiên, chẳng hạn như tiếng Anh,  tiếng Nga, tiếng Việt… 

là  các  ngôn  ngữ  tự  nhiên.  Các  quy  tắc  cú  pháp  của  ngôn  ngữ  tự  nhiên  nói chung  rất  phức  tạp  nhưng  các  yêu  cầu  nghiêm  ngặt  về  ngữ  nghĩa  thì  lại thiếu  chặt  chẽ,  chẳng  hạn  cùng  một  từ  hay  cùng  một  câu  ta  có  thể  hiểu chúng  theo  những  nghĩa  khác  nhau  tùy  theo  từng  ngữ  cảnh  cụ  thể.  Con người  muốn  giao  tiếp  với  máy  tính  tất  nhiên  cũng  thông  qua ngôn ngữ. Để 

có sự giao tiếp giữa người với máy hay giữa máy với nhau, cần phải có một ngôn  ngữ  với  các  quy  tắc  cú  pháp  chặt  chẽ  hơn  so  với  các  ngôn  ngữ  tự nhiên, nói cách khác,  với  một  từ  hay  một  câu  thì  ngữ  nghĩa  của  chúng  phải 

là  duy  nhất  mà  không  phụ  thuộc  vào  ngữ  cảnh.  Những  ngôn  ngữ  như  thế được gọi là ngôn ngữ hình thức.  Con người muốn máy  tính thực hiện công việc,  phải  viết  các  yêu  cầu  đưa  cho  máy  bằng  ngôn  ngữ  máy  hiểu  được. Việc viết các yêu cầu như thế gọi là lập trình.  Ngôn ngữ dùng để lập trình được gọi là ngôn  ngữ lập trình.  Các ngôn ngữ lập trình đều là các ngôn ngữ hình thức

Cả  ngôn  ngữ  hình  thức  lẫn  ngôn  ngữ  tự  nhiên  đều  có  thể  xem  như những tập các từ, tức là các xâu hữu hạn các phần tử của một bộ chữ cái cơ 

sở nào đó. Về mặt truyền thống, lý  thuyết ngôn ngữ hình thức liên quan đến các  đặc  tả  cú  pháp  của  ngôn  ngữ  nhiều  hơn  là  đến  những  vấn  đề  ngữ nghĩa. Một đặc tả về cú pháp của một ngôn ngữ có hữu hạn từ, ít nhất về nguyên tắc, có thể được cho bằng cách liệt kê các từ. Điều đó không thể áp dụng  đối  với  các  ngôn  ngữ  có  vô  hạn  từ.  Nhiệm  vụ  chính  của  lý  thuyết ngôn ngữ hình thức là nghiên cứu các  cách đặc tả hữu hạn của các ngôn ngữ 

vô hạn

Lý  thuy tế   ngôn  ngữ  hình  th cứ   và  ôtômat  đóng  m tộ   vai  trò  r tấ   quan 

tr ngọ  trong các cơ sở toán h cọ  c aủ  tin h c.ọ  Ngôn ngữ hình th cứ  đượ  sử d ngc ụ  trong vi cệ   xây  d ngự   các  ngôn  ngữ  l pậ   trình,  lý  thuy tế   về  các  chươ   trình ng

d ch.ị   Các  ngôn  ngữ hình th cứ  t oạ  thành m tộ  công cụ mô tả đ iố  v iớ  các mô hình  tính  toán  cả  cho  d ngạ   thông  tin  vào­ra  l nẫ   ki uể   thao  tác.  Lý  thuy tế  ngôn  ngữ  hình  th c,ứ   chính  vì  th cự   ch tấ   c aủ   nó  là  m tộ   lĩnh  v cự   khoa  h cọ  liên  ngành;  nhu  c uầ   mô  tả  hình  th cứ   văn ph mạ  đượ  phát sinh trong nhi uc ề  ngành khoa h cọ  khác nhau t  ngônừ  ng  h cữ ọ  đ nế  sinh v tậ  h c.ọ

Báo cáo  này  nh mằ   trình  bày  về  văn  ph mạ   hình  th cứ   và  ôtômat  đ yẩ  

xu ngố , là nh ngữ  công cụ sinh ngôn ng ,ữ  đ ngồ  th iờ  đề c pậ  đ nế  các tính  ch tấ  

c aủ  ngôn ngữ chính quy, ngôn ngữ phi ngữ c nh,ả  ngôn ngữ đệ quy và ngôn 

Trang 8

Chuyên đ  g m 8 ph n chính:ề ồ ầ

L i m  đ u: ờ ở ầ Gi i thi u v  chuyên đớ ệ ề ề

Chương I: Nh p môn v  văn ph m và ngôn ng  hình th cậ ề ạ ữ ứ

Chương II: Văn ph m phi ng  c nhạ ữ ả

Chương III: Automata đ y xu ngẩ ố

Chương IV: T ng quan v  trình biên d chổ ề ị

Chương V: Gi i thi u v  chớ ệ ề ương trình Demo

K t lu n: ế ậ Đ a ra m t s  đánh giá t ng quan v  k t qu  nghiên c u, nêuư ộ ố ổ ề ế ả ứ  

ra hướng phát tri n trong th i gian t i.ể ờ ớ

Tài li u tham kh o: ệ ả Đ a ra các tài li u đã đư ệ ược trích d n, tham kh oẫ ả  khi th c hi n chuyên đ ự ệ ề

Trang 9

CHƯƠNG 1 NH P MÔN V  VĂN PH M VÀ NGÔN NG  HÌNHẬ Ề Ạ Ữ  

TH C

1.1 Khái ni mệ  ngôn ngữ

Các khái ni m c  b nệ ơ ả

B ng  ch   cái

Theo tài li u [3], tác gi : Phan Đình Di u, có vi t “ệ ả ệ ế M t dãy ộ  h u ữ  h n ạ  hay 

vô h n ạ  các ph n t , ầ ử  kí hi u ệ    đ ượ  g i c ọ  là m t ộ  b ng ả  chữ  cái trong đó m i ỗ  

ph n t  a  ầ ử đ ượ c g i là m t kí hi u (m t ch  cái) ọ ộ ệ ộ ữ

T  đó ta có Đ nh nghĩa I.1.ừ ị

Đ nh nghĩa  I.1

T pậ   khác  r ngỗ   g mồ   h uữ   h nạ   hay  vô  h nạ   các  ký  hi uệ   đượ   g ic ọ   là 

b ngả  chữ cái.  M i ỗ ph n ầ tử a được g iọ  là m t chộ ữ cái hay m tộ  ký hi u.ệ

Xâu  không  có  chữ  cái  nào  được  gọi  là  từ  r ngỗ   và  được  ký  hiệu  là   

Rõ  ràng  từ  rỗng  là  từ  thuộc mọi bảng chữ cái. Hai từ  = a1a2…an

 và  = b1b2…bm được gọi là bằng nhau, và được ký hiệu là  =  , nếu n =  m và a = 

Trang 10

Nếu α là một từ trên bảng chữ cái  , và  Δ thì α cũng là từ trên bảng 

ch  ữ cái Δ. Tập mọi từ trên bảng chữ cái  được ký hiệu là  *, còn tập mọi 

từ  khác  rỗng  trên  bảng  chữ  cái  được ký hiệu là  +.  Như vậy  + =  * \ { } và  * =  +  { }.  D  ễ thấy rằng các tập  * và  + là vô hạn

Về cấu trúc đại số thì  * là một vị nhóm tự do sinh bởi  với đơn vị là 

từ rỗng  , còn  + là một nửa nhóm tự do sinh bởi   Có th  ể chứng minh được rằng các tập  * và  + là vô hạn đ m đế ược

Thí dụ 1.2:

Ta có  , 0, 01, 101, 1010, 110011 là các t  trên ừ b ng ả chữ cái Г = {0,1}. Các xâu  , beautiful, happy, holiday là các từ trên b ngả  chữ cái  = {a, b, c, …, z}

1 là ngôn ngữ hữu hạn trong khi L2 là ngôn ngữ  vô  hạn.  Mỗi  từ  thuộc  ngôn  ngữ L

2 có số chữ cái a bằng số chữ cái b với a và b không xen kẽ, a nằm ở phía trái và b ở phía phải của từ

Trang 11

Phép nhân ghép

Theo tài li u [5], tác gi : Nguy n Văn Đ nh, có vi t “ệ ả ễ ị ế Tích  ghép  (hay 

nhân  ghép)  c a ủ   hai  từ  α  =  a 1 a 2 …a

m  và  từ  =  b 1 b 2 …b n   trên  b ng ả  chữ  cái  , là từ  = a 1 a 2 …a m b 1 b 2 …b

 trên b ng chả ữ cái 

Kí hiệu phép nhân ghép là  = α (hay  = α )

Thí dụ 1.4:

Trên bảng chữ cái W = {if, then, else, a, b, c,  d, e, f, +,  ,  , /, =,  }, ta 

có các từ  = if  a+b=c then c d=e và  = else c/d=f, còn α là từ:  if a+b=c then c d=e else c/d=f

Cho  =  {a,  b,  c},  khi  đó:  Từ  =  abcbcb  chứa  2  vị  trí  của  bcb,  đó 

là  a*bcb*cb  và abc*bcb*,  φ  =  bcb  là  một  từ  con  của  Từ  chứa một  vị  trí  của  ký  hiệu  a,  đó  là *a*bcbcb

Từ  = 010111001 trên bảng chữ cái {0, 1} có độ dài 9, trong đó 0101 là tiền tố và 11001 là hậu tố của 

Phép lấy t   ừ ngược

Theo tài li u [5], tác gi : Nguy n Văn Đ nh, có vi t “ệ ả ễ ị ế Giả sử có từ khác 

r ng ỗ   = a 1 a 2

  …a m   trên b ng ả  chữ cái  , khi đó từ a m   a m­1 … a 2 a 1   đ ượ  g i c ọ  là 

từ ng ượ (hay từ soi g c  ươ ng)  c a ủ  từ  , và đ ượ ký hi u  c  ệ là  R , hay  ^

Khi  =  ta quy  ướ   c R  

=  ”

T  đó ta có ừ Đ nh nghĩa I.ị 5

Đ nh nghĩa I. 5

Trang 12

= yppah và (oto)R 

= oto. Ngoài ra ta có: | (happy)R 

| = | yppah| = | happy | = 3

 Phép chia phải của từ α cho từ  (hay thương bên phải của α và  ) cho  kết quả là phần còn lại của từ α sau khi ngắt b  ỏ phần cuối  trong 

từ α, và được ký hiệu là α/

Các phép toán trên ngôn ng

Các họ ngôn ngữ cụ thể thường được đặc trưng một cách tiện lợi qua các phép toán  xác định  trên ngôn ngữ, họ đó gồm các ngôn ngữ nhận được bằng việc tổ hợp từ một số ngôn ngữ cho  trước bởi  một số  phép toán nào 

đó. Vì mỗi ngôn ngữ là một tập hợp nên ta có các phép toán đại số tập hợp như là phép giao, phép hợp, phép hiệu, phép lấy bù trên các ngôn ngữ. Chẳng hạn, với L

1 và L2 là hai ngôn ng  ữ trên bảng ch  ữ cái  thì ta cũng có các ngôn 

Trang 13

Theo tài li u [9], tác gi : ệ ả Nguy n Qu c Th ng – Nguy n Lâm Tùng,ễ ố ắ ễ  

1, L2, …, Ln trên bảng ch  ữ cái  , là tập từ:

 và 

Trang 14

Đ nh nghĩa I.7

Giao của hai ngôn ngữ L

1 và L2 trên bảng chữ cái  , ký hiệu L1∩ L2, là một  ngôn ngữ trên bảng ch  ữ cái  , đó là tập từ:

1 và  L2 }Định  nghĩa  phép  giao  có  thể  mở  rộng  cho  một  số  hữu  hạn  các  ngôn ngữ, tức là giao của các  ngôn ngữ L

1, L2, …, Ln trên bảng ch  ữ cái  , là tập từ:

Thí dụ 1.6:

Cho ngôn ngữ L

1 = { , 0, 01}, L2 = { , 01, 10} trên bảng ch  ữ cái  = {0, 1}, khi đó ta có: L

Trang 15

phép nhân ghép. Xét các ngôn ng  ữ L

1 = {0, 01}, L2 = {01, 10}, L3 = {0} trên bảng chữ cái  = {0, 1}

Có thể kiểm tra được rằng phép nhân ghép không có tính phân phối đối với phép giao: Ta có: L

2  L3 =  , do đó: L1(L2  L3) =  ,Mặt khác, ta có L

1L2 = {001, 010, 0101, 0110} và L1L3 = {00, 010}, do đó: (L

1L2)  (L1L3) = {010}. Vậy L1(L2  L3)  (L1L2)  (L1L3), tức là phép nhân ghép không có tính phân phối đối với phép giao

1  L2)(L1  L3)  = {00,  001, 010, 0101, 100,  1001}  Vậy  L1  (L2L3) (L

1  L2)(L1  L3),  tức  là  phép  hợp  không  có  tính  phân  phối  đối  với phép nhân ghép. Tương tự, đối với phép giao, ta có: L

2L3 = {010, 100}, do đó: L

Phép lặp

Đ nh nghĩa  I.10

Cho ngôn ngữ L trên b ngả  chữ cái  , khi đó:

 T p t  đậ ừ ược g i là ngôn ng  l p c t c a ngôn ng  L, ký hi u là Lọ ữ ặ ắ ủ ữ ệ *. 

V y ngôn ng  l p c a L là t p h p lũy th a c a L: ậ ữ ặ ủ ậ ợ ừ ủ

L*=

 T p t   đậ ừ ược g i là ngôn ng  l p c t c a ngôn ng  L, ký hi u là Lọ ữ ặ ắ ủ ữ ệ +

Trang 16

+ Xét ngôn ng  ữ L = {0, 1} trên b ngả  ch  ữ = {0, 1}. Ta có:

L2 = {00, 01, 10, 11}, t p h pậ ợ  các xâu nhị phân đ  dài 2;ộ

L3 = {000, 001, 010, 011, 100, 101, 110, 111}, tập hợp các xâu nh  ịphân độ dài 3.  Tương tự, Ln là tập hợp các xâu nhị phân độ dài n. Vì vậy, L* là tập hợp tất c  ả các xâu nh  ịphân

2 = {a

5}*{a3}

Phép lấy ngôn ngữ ngược

Đ nh nghĩa I.11

Cho ngôn ngữ L trên bảng chữ cái  , khi đó ngôn ngữ ngược của L là một ngôn ngữ trên bảng chữ cái  , được ký hiệu là LR hay L^, là tập từ:

Trang 17

ngữ X cho ngôn ngữ Y là một ngôn ngữ trên  , được ký hiệu là X /

Y, là tập từ:

X / 

Y = {z  * / x  X, y  Y mà x = zy}

1.2 Văn ph m và ngôn ng  sinh b i văn ph mạ ữ ở ạ

Ta có thể hình dung một văn phạm như một “thiết bị tự động” mà nó có khả năng sinh  ra một tập hợp các từ trên một bảng chữ cái cho trước. Mỗi 

từ  được  sinh  ra  sau  một  số  hữu  hạn  bước thực hiện  các  quy  tắc  của  văn phạm

Việc  xác  định  một  ngôn  ngữ  trên  bảng  chữ  cái  cho  trước  có  thể  được thực hiện bằng  một trong các cách thức sau:

 Cách  1.  Đối  với  mỗi  từ  thuộc  ngôn  ngữ  đã  cho,  ta  có  thể  chọn  một 

quy cách hoạt động của  “thiết bị tự động” để sau một số hữu hạn bước làm việc nó dừng và sinh ra chính từ đó

là ta xét văn phạm như là một “thiết bị tự động” sinh ra các  từ. Vì l  đẽ ó mà người ta còn gọi các “thiết b  ịtự động” đó là văn phạm sinh

 là m tộ  b ngả  chữ cái, g iọ  là b ngả  chữ cái cơ b nả  (hay b ngả  chữ cái 

k tế  thúc), m iỗ  ph nầ  tử  c aủ  nó được g i ọ là m t ộ ký hi u ệ k t thúcế  hay ký hi uệ  

cơ b nả ;

 là m tộ  b ngả  chữ cái,  =  , g iọ  là b ngả  ký hi uệ  phụ (hay 

Trang 18

 S  đượ  g ic ọ  là ký hi uệ  xu tấ  phát hay tiên đ ;ề

 P là t pậ  h pợ  các quy t cắ  sinh có d ngạ   ,  đượ  g ic ọ  là vế trái và 

đượ   g ic ọ   là  vế  ph i  ả c aủ   quy  t cắ   này,  v iớ   ,  ( )* và  trong 

1 ở thí dụ 1.10, ta có thể viết hai  quy tắc của nó dưới dạng S 0S1 | 

Ngôn ng  ữ sinh bởi văn phạm

Đ nh nghĩa  I.14

Cho văn phạm G = <  , , S, P > và  ,  ( )*. Ta nói    được suy 

d nẫ  tr cự  ti p ế từ  trong G, ký hiệu  ├G  hay ngắn gọn là  ├  (nếu không  sợ  nhầm lẫn),  nếu  tồn  tại quy tắc  P và  ,  ( )* sao cho  =  ,  = 

Điều này có nghĩa là nếu  nhận vế trái  của quy tắc  như là từ con thì ta thay  bằng  để được từ mới 

Cho văn phạm G = <  , , S, P > và  ,  ( )*. Ta nói    được suy d nẫ  từ  trong G, ký hiệu  ╞G  hay ngắn gọn là  ╞  (nếu không 

Trang 19

sợ  nhầm  lẫn),  nếu  =  hoặc  tồn  tại  một  dãy  D  = 

0,  1,…, 

* sao cho 

1n. Do đó L(G

1) = {0

n

1n | n  0}.Xét văn phạm G

2 trong thí dụ 1.10 Sử dụng quy tắc 1, rồi n lần (n  0) quy tắc 2, sau đó quy tắc 3 để kết thúc, ta có: S  ├ Ab  ╞ anAbnb  ├ anbn+1

Ta  có  thể  biểu  diễn  việc  dẫn  xuất  từ  <câu>  đến  một  từ  trong  L(G

4), 

Trang 20

tế, việc xem xét các quy tắc theo hướng ngược lại là t  ừ phải  qua  trái.  Điều 

ti n l i cho vi c nghiên c u và kh o sát các ngôn ng  đ ệ ợ ệ ứ ả ữ ượ c sinh ra b i văn ở  

ph m, chúng ta tìm cách phân lo i chúng. Mu n phân lo i đ ạ ạ ố ạ ượ c các ngôn  

ng , chúng ta ph i d a vào các d ng khác nhau c a các qui t c d n xu t ữ ả ự ạ ủ ắ ẫ ấ   Chomsky đã chia các qui t c d n xu t c a văn ph m G thành b n lo i ắ ẫ ấ ủ ạ ố ạ  …”

D aự  vào đ cặ  đi mể  c aủ  t pậ  quy t cắ  mà ngườ  ta chia các văn ph mi ạ  thành các  nhóm  khác  nhau.  Noam  Chomsky  (Institute          Professor   ,  Massachusetts        Institute

          of          Technology   .  Born December          7  , 1928  Philadelphia, Pennsylvania, USA) đã phân lo iạ  văn ph m thành ạ b nố  nhóm:

 Nhóm 0:  Văn phạm không hạn chế (hay văn phạm ngữ cấu, văn phạm tổng quát),

Trang 21

α’Aα’’, A  Δ, α’, α’’,  ( )*.Các quy tắc của văn phạm nhóm 0 được gọi là quy tắc không hạn chế.  Ngôn ngữ do văn phạm nhóm 0 sinh ra được gọi là ngôn ng  ữ tổng quát.

Văn  phạm  G  =  <  ,  ,  S,  P  >  mà  các  quy  tắc  của  nó  đều  có  dạng: ,  với  = α’Aα’’, A  Δ, α’, α’’,  ( )*, và |  | ≤ |  |, đượ  c

g iọ  là văn ph mạ  nhóm 1hay  văn ph mạ  c mả  ng  c nh.ữ ả

Các  quy  tắc  trong  văn  phạm  nhóm  1  được  gọi  là  quy  tắc  c mả   ngữ 

c nhả  Ngôn  ngữ  do  văn  phạm cảm ngữ cảnh sinh ra được gọi là ngôn ngữ cảm ngữ cảnh

Các văn phạm mà các quy tắc của chúng có dạng trên, đồng thời chứa thêm quy tắc rỗng  S , cũng được xếp vào lớp văn phạm nhóm 1

S  ├ 1A   ├ 11B   ├ 111A   ├ … ╞ 1(12n­2)A ├ 1(12n­2)1 = 12n

Trang 22

P’  =  P

1  P2,  v iớ   P1  =  {    a  |  a  },  P2  =  { | P},  và  là  các  xâu  và  đã  đượ   thay  các  ký  hi uc ệ   thu cộ  

i+1, ( 0 ≤ i ≤ k­1), ta thay mọi kí hiệu  a 

Г  bởi  các  ký  hiệu  tương  ứng  a 

1,  khi  đó  mọi  quy  tắc  đều thuộc P, 

Trang 23

=  , ta có  S╞G , tức là  L(G). Vậy L(G’)  L(G).

Đ n h lý I.2 (H p thành các suy d n)ợ ẫ

Cho h  vi t lai ệ ế W=(V, P) và cho u 1 ,…, u n , v 1 ,…, v n là các xâu trong V*. 

Bây gi  n u ờ ế u1 * v 1 ,…, u n * v n, thì ta có u1 …u n * v 1 …v n.

Ta th a nh n đ nh lý trên (không c n ch ng minh).ừ ậ ị ầ ứ

Giả sử L

1, L2 là các ngôn ngữ được sinh bởi văn phạm G1= < 1, 1, S

1, P1>, G2 = < 2, 2, S2, P2>, tức là L1 = L(G1), L2 = L(G2). Ta chứng minh tồn tại văn phạm G sao cho  L(G) = L

1 L2.Xây dựng văn phạm G sinh ra ngôn ngữ L

a./  Ch ng ứ   minh  L(G)  L

1 L2:  Giả  sử  L(G),  khi  đó  tồn  tại một suy dẫn trong văn phạm G: S ╞G  , trong đó  * = (

1 2)*. Do cách xây dựng tập quy tắc P, nên trong suy dẫn S╞  , có hai kh  ả năng:

Trang 24

1╞

G1 , vậy  là kết quả của suy dẫn S

1╞  trong G1, 

do đó  L(G

1).  (a) hoặc S├G S

2╞

G2 , vậy  là kết quả của suy dẫn S

1 cũng đều thuộc G), như vậy L(G)

2 cũng đều thuộc G), như vậy L(G)

Vậy  ta  luôn  luôn  có   L(G),  do  đó:  L

1 L2  L(G).  Tức  là  ta  đã chứng minh được rằng L(G) = L

1 L2.Tương tự, để chứng minh tính đóng của lớp ngôn ngữ sinh bởi văn phạm đối với phép nhân  ghép ngôn ngữ, ta xây dựng văn phạm G = < , , 

Trang 25

Để chứng minh tính đóng của lớp ngôn ngữ sinh bởi văn phạm đối với  phép  giao,  ta  xây  dựng  văn  phạm  G  =  < ,  ,  S,  P>  sao  cho  L(G)  = L(G

được thay đ i b i ký hi u đ i ng u tổ ở ệ ố ẫ ương  ng c a nó ứ ủ

Trang 26

CHƯƠNG 2 VĂN PH M PHI NG  C NHẠ Ữ Ả

2.1 Suy d n phi ng  c nhẫ ữ ả

Các thí d  v  văn ph m phi ng  c nhụ ề ạ ữ ả

Theo tài li u [4], tác gi : Nguy n Th  Trúc Viên, có vi t:ệ ả ễ ị ế

“M t văn ph m  ộ ạ G = (V, T, S, P) đ ượ c g i là phi ng  c nh (context free) ọ ữ ả   nếu m i lu t sinh trong  ọ ậ P có d ng ạ

A   x, trong đó A ∈ V còn x ∈ (V ∪T)*.”

T  đó ta có Đ nh nghĩa II.1.ừ ị

Đ nh nghĩa  II.1

Văn ph m phi ng  c nh là m t văn ph m ạ ữ ả ộ ạ G = (∑, ∆, P, S) mà m i s nọ ả  

xu t (hay quy t c) c a nó đ u có d ng:ấ ắ ủ ề ạ

Trang 27

Bò u ngố

Mèo n mằ

Trong các quy lu t trên thì các t  g ch dậ ừ ạ ướ ơi đ n nh  ư ch  ngủ ữ, đ ng tộ ừ  

là các ph m trù cú pháp bi u di n cho m t c u trúc con c a m t câu. Còn cácạ ể ễ ộ ấ ủ ộ  

t  g ch dừ ạ ưới kép nh  ư tôi, mèo  là các từ Vi t ệ  (hay ký hi u ệ ) tr c ti p có m tự ế ặ  trong các câu. N u ta bi u di n m t cách ng n g n các ph m trù cú pháp ế ể ễ ộ ắ ọ ạ câu, 

ch  ngủ ữ, v  ngị ữ, danh từ, đ i tạ ừ, đ ng tộ ừ l n lầ ượt là U, C, V, D, Đ, G thì ta có 

th  trình bày l i các quy t c trên m t cách súc tích h n nh  sau:ể ạ ắ ộ ơ ư

Và đó chính là các s n xu t trong văn ph m phi ng  c nh, trong đó U, C,ả ấ ạ ữ ả  

V, D, Đ, G là các ký hi u không k t thúc, còn “mèo”, “bò”, “tôi”, “nó”, “ăn”,ệ ế  

“n m”, “u ng” là các ký hi u k t thúc.ằ ố ệ ế

Trang 28

Đ nh lý I.ị 2   chở ương I nói r ng ta có th  ằ ể h p thành ợ  các suy d n c a m tẫ ủ ộ  

h  vi t l i thành m t suy d n. Ph d n phát bi u ngệ ế ạ ộ ẫ ẫ ể ượ ạc l i là không đúng v iớ  

m i h  vi t l i nói chung, song l i đúng v i các văn ph m phi ng  c nh: ta cóọ ệ ế ạ ạ ớ ạ ữ ả  

th  ể phân rã  m t suy d n phi ng  c nh thành các suy d n con đ c l p v iộ ẫ ữ ả ẫ ộ ậ ớ  nhau. Tính ch t c  b n này c a các suy d n phi ng  c nh là r t hay đấ ơ ả ủ ẫ ữ ả ấ ược v nẫ  

d ng trong các ch ng minh sau này.ụ ứ

Theo tài li u [1], tác gi : nguy n Văn Ba, có vi t:ệ ả ễ ế

“Cho G=(∑,∆,P,S) là m t văn ph m phi ng  c nh và đ c V= ∑ ộ ạ ữ ả ặ∆. Cho 

m t suy d n trong G u ộ ẫ 1 u n k  v, trong đó u 1  V* v i m i i=1, ,n và v ớ ọV*. thế  thì v i m i i=1, , ớ ọ n t n t i v ồ ạ i ∈ V* và k i∈ N sao cho:

V i m i i=1, ,n: u ớ ọ i   k

i  v i ,  i =k, và v 1 …v n =v.”

T  đó ta có Đ nh lý II.1.ừ ị

Đ nh lý II.1

Cho G=(∑,∆,P,S) là m t văn ph m phi ng  c nh và đ c ộ ạ ữ ả ặ V= ∑∪∆. Cho 

m t suy d n trongộ ẫ  G u 1 u n  k  v, trong đó u 1  V* v i m iọ  i=1, ,n và v∈V*. thế 

thì v i m i ớ ọ i=1, ,n t n t i  ồ ạ vi V* và k iN sao cho:

V i m iớ ọ  i=1, ,n: ui  k

vi, i=k, và v1…v n =v.

 Trường h p ợ n=2. Ta ch ng minh đ nh lý b ng quy n p trên k.ứ ị ằ ạ

N u ế k=0: hi n nhiên.

N u ế k=1: u1 u 2  1 v. B i đ nh nghĩa c a suy d n tr c ti p ta cóở ị ủ ẫ ự ế

u 1 u 2=u’Au”, v=u’ u’’ và β A→β∈P.

Hai trường h p có th  là:ợ ể

+ Trường h p │ợ u’   u│ │ 1│ta có u’=u 1 t và u 2 =tAu’’

Đ t ặ v1 =u 1 và v2  = t u’’β

Trang 29

Theo tài li u [4], tác gi  Nguy n Th  Trúc Viên, có vi t “ệ ả ễ ị ế Cho G = (V, 

T, S, P) là m t VPPNC. M t cây có th  t  là m t cây d n xu t cho  ộ ộ ứ ự ộ ẫ ấ G nếu 

Nhãn c a g c là ký ki u đ u ủ ố ệ ầ S.

Nhãn c a m i đ nh trong là m t ký hi u không k t thúc (m t ph n tủ ỗ ỉ ộ ệ ế ộ ầ ử 

Trang 30

V i m i đ nh trong, n u nó có nhãn là ớ ỗ ỉ ế A và các con c a nó là các đ nhủ ỉ  

n 1 ,n 2 ,n k l n lầ ượt có nhãn là X 1 ,X 2 , ,X k , thì A X1 X 2 X k ph i làm t s n xu tả ộ ả ấ  

c a ủ G.

N u m t lá có nhãn là  , thì lá đó ph i là con duy nh t c a cha nó (đi uế ộ ε ả ấ ủ ề  này ch  nh m đ  h n ch  ci c tùy ti n đ a thêm nhi u   vô ích vào cây suyỉ ằ ể ạ ế ệ ệ ư ề ε  

d n).ẫ

 Cho m t suy d n, ta g i cây con là m t cây t o thành b i m t đ nh vàộ ẫ ọ ộ ạ ở ộ ỉ  

m i h u du  c a nó, cùng v i các nhãn và các cung liên k t chúng. N u g cọ ậ ệ ủ ớ ế ế ố  

c a cây con có nhãn là ủ A, thì cây con đó được g i là m t ọ ộ A­cây.

 Ta g i bi n (hay k t qu ) c a m t cây các suy d n hay c a m tọ ế ế ả ủ ộ ẫ ủ ộ  A­cây 

là xâu t o thành b ng cách ghép ti p các lạ ằ ế á c a cây theo tr t t  t  trái quaủ ậ ự ừ  

M t cây suy d n có biên là xâu ộ ẫ aabbaa được cho trong Hình 2.1, trong đó 

ta ch  ra cách đi (men theo các cành) t  trái qua ph i, cho phép nh t l n lỉ ừ ả ặ ầ ượ  tcác lá đ  thành l p ra xâu đó.ể ậ

Hình 2. M t cây suy d n ộ ẫ

Hình 2.2 cho m t cây con c a cây suy d n trênộ ủ ẫ

Trang 31

Hình 2. M t A­cây

Trang 32

V i m i ký hi u không k t thúc ớ ọ ệ ế A, A *

G  u khi và ch  khi t n t i m t ỉ ồ ạ ộ A­cây 

có biên u

Phép ch ng minh đứ ược th c hi n theo hai chi u (khi,ch  khi).ự ệ ề ỉ

Trước h t ta gi  thi t u là biên c a m t ế ả ế ủ ộ A­cây và ta ch ng minhứ  

r ng ằ A *

G u, b ng quy n p trên s  m các đ nh trong c a cây.ằ ạ ố ỉ ủ

+ m=1: Cây có d ng nh  trong Hình ạ ư 2.3

Hình 2. M t A­cây có m t đ nh trong ộ ộ ỉ

Nh  th  thì ư ế u=X 1 X 2 X k và A u→ ∈P. V y  ậ A * u.

+ m>1: Gi  thi t r ng k t lu n là đúng v i m i cây có không quá ả ế ằ ế ậ ớ ọ m­1 

đ nh trong và xét m t ỉ ộ A­cây có m đ nh trong. Gi  s  ả ử X1 ,X 2 , ,X k là các h u duậ ệ 

tr c ti p (con) c a g c ự ế ủ ố A. Chúng đ u là g c c a các ề ố ủ X i­cây,1≤i≤k, mà s  cácố  

đ nh trong là ít h n ỉ ơ m. B i gi  thi t quy n p, ta có ở ả ế ạ X i * u i, trong đó ui là biên c aủ  

X i­cây (ui =X i  n u   ế Xi∈∑). T  Đ nh lý I.ừ ị 2  (h p thành các suy d n ) ta có:ợ ẫ  

A= G X 1 X 2 X k G *  u 1 u 2 u k (Hình 2.4). M t khác, n u ế i<j thì Xi và m i h u duọ ậ ệ 

c a nó luôn luôn   bên trái ủ ở X j cùng v i các h u du  c a nó. V y ớ ậ ệ ủ ậ u=u1 u 2 u k là 

biên c a ủ A­cây, cho nên ta có A *

G u.

Trang 33

Hình 2. M t A­cây và các cây con c a nó ộ ủ

Bây gi  ta gi  thi t ờ ả ế A *

G u và ta s  ch ng minh, b ng quy n p trên đ  dàiẽ ứ ằ ạ ộ  

n c a dây d n, r ng t n t i m t ủ ẫ ằ ồ ạ ộ A­cây có biên là u.

n=1: B y gi  ấ ờ A→u∈P và ta có m t  ộ A­cây nh  trên Hình ư 2.3 v i biên làớ  

đ  dài c a m i suy d n ộ ủ ỗ ẫ Xi G*u i, 1≤i≤k là nh  thua n, cho nên t n t i m t ỏ ồ ạ ộ Xi­ cây, 1≤i≤k có biên là ui. T  đó ta có th  thành l p m t ừ ể ậ ộ A­cây nh  trong Hìnhư  2.4 b ng cách n i g c ằ ố ố A v i g c c a m i m t ớ ố ủ ỗ ộ Xi ­cây, 1≤i≤k. A­cây đó có biên 

là xâu u= u1 u 2 u k

Suy d n trái, suy d n ph i và tính nh p nh ngẫ ẫ ả ậ ằ

Nh  đã th y   trên, m t cây suy d n mà k t q a là u tư ấ ở ộ ẫ ế ủ ương  ng v iứ ớ  nhi u suy d n ề ẫ S * u. Trong s  các suy d n này, ta chú ý đ c bi t t i hai suy d nố ẫ ặ ệ ớ ẫ  sau:

 Suy d n trái, đó là suy d n mà trong đó,   m i bẫ ẫ ở ỗ ước, ký hi u đệ ược thay 

th  luôn luôn là ký hi u không k t thúc n m bên tráế ệ ế ằ i nh t trong d ng câu.ấ ạ

 Suy d n ph i, đó là suy d n mà trong đó,   m i bẫ ả ẫ ở ỗ ước, ký hi u đệ ượ  cthay th  luôn luôn là ký hi u không k t thúc n m bên ph i nh t trong d ngế ệ ế ằ ả ấ ạ  câu

D  dàng ch ng t  r ng có m t song ánh gi a các cây suy d n c a m tễ ứ ỏ ằ ộ ữ ẫ ủ ộ  

Trang 34

M t văn ph m phi ng  c nh ộ ạ ữ ả G = (∑, ∆, P, S) là nh p nh ng n u t n t iậ ằ ế ồ ạ  

m t xâu ộ w∈(∑∪∆)* cùng là k t qu  c a hai cây suy d n khác nhau.ế ả ủ ẫ

Cùng m t ngôn ng  có th  độ ữ ế ược sinh ra t  vô h n các văn ph m khácừ ạ ạ  nhau, trong đó có văn ph m là nh p nh ng, có văn ph m là không nh pạ ậ ằ ạ ậ  

nh ng. M t ngôn ng  phi ng  c nh đằ ộ ữ ữ ả ược nói là nh p nh ng c  h u, hay nóiậ ằ ố ữ  

g n là nh p nh ng, n u t t c  các văn ph m sinh ra nó đ u nh p nh ng.ọ ậ ằ ế ấ ả ạ ề ậ ằ  

Người ta ch ng minh r ng t n t i nh ng ngôn ng  nh  v y.ứ ằ ồ ạ ữ ữ ư ậ

Thí dụ 2.8:

Cho G0 là văn ph m phi ng  c nh g m các quy t c sau:ạ ữ ả ồ ắ

E E+E E*E (E) a→ │ │ │Văn ph m này s n sinh các bi u th c s  h c trong đó các toán t  là + vàạ ả ể ứ ố ọ ử  

* và các h ng toán đ u là ạ ề a.

Hình 2. M t cây suy d n trong G ộ ẫ 0

Các câu suy d n cho trên Hình ẫ 2.5 có k t qu  là ế ả a+a*a.

Suy trái tương  ng v i cây đó là:ứ ớ

Trang 35

Hình 2. M t cây suy d n khác c a G ộ ẫ ủ 0

Nh  v y văn ph m  ư ậ ạ G 0   là nh p nh ng. Đi u đó có nghĩa là trong vănậ ằ ề  

ph m  ạ G 0  bi u thức  a+a*a  được hi u theo hai cách: c ng trể ộ ước hay nhân 

trước

Đ  lo i tr  nh p nh ng ta đ a thêm m t quy ể ạ ừ ậ ằ ư ộ ước phù tr :ợ

Ho c là ta luôn luôn th c hi n các phép toán (c ng và nhân) theo th  tặ ự ệ ộ ứ ự 

t  trái qua ph i khi các phép toán đó không b  ngăn cách b i vòng đ n. Yêuừ ả ị ở ơ  

c u này d n t i m t văn ph m  ầ ẫ ớ ộ ạ G 1, tương đương v i văn ph m  ớ ạ G 0, nh ngư  không nh p nh ng, và có các quy t c sau:ậ ằ ắ

Trong G2 các phép toán cùng m c  u tiên mà đ ng c nh nhau thì đứ ư ứ ạ ượ  c

th c hi n theo th  t  t  trái qua ph i.ự ệ ứ ự ừ ả

Các cây suy d n cho xâu ẫ a+a*a trong các văn ph m  ạ G1 +G 2 được cho l nầ  

lượt trên các Hình 2.7 và 2.8

Trang 36

Hình 2. M t cây suy d n c a G ộ ẫ ủ 1

Hình 2. M t cây suy d n c a G ộ ẫ ủ 1

2.2 Bi n đ i các văn ph m phi ng  c nhế ổ ạ ữ ả

Thông thường thì m t văn ph m còn ch a đ ng nhi u y u t  vô ích,ộ ạ ứ ự ề ế ố  

ch ng h n các ký hi u không tham gia vào suy d n ra các xâu c a ngôn ng ,ẳ ạ ệ ẫ ủ ữ  hay là các s n xu t có d ng ả ấ ạ A B(A,B∈∆) làm kéo dài cac suy d n m t cáchẫ ộ  không th c s  là c n thi t. B i v y nhi u khi ta c n bi n đ i các văn ph mự ự ầ ế ở ậ ề ầ ế ổ ạ  thành các văn ph m tạ ương đương mà không còn các y u t  vô ích n a.ế ố ữ

Lo i b  các ký hi u vô íchạ ỏ ệ

Trang 37

Cho m t văn ph m phi ng  c nh ộ ạ ữ ả G = (∑, ∆, P, S) và đ t  ặ V=∑∪∆. M t kýộ  

hi u  ệ X∈V  là có ích n u t n t i m t suy d n  ế ồ ạ ộ ẫ S*w, trong đó  ,α β∈V*  và 

w∈∑*, n u không nó là vô ích.ế

Nh  v y m t ký hi u có ích ư ậ ộ ệ X ph i là:

1) m t ký hi u h u sinh, nghĩa là t n xâu ộ ệ ữ ồ x∈∑* mà X * x.

2) m t ký hi u đ n độ ệ ế ược, nghĩa là t n t i hai xâu  ,ồ ạ α β∈V* đ  cho ể SX β

B  đ  II.1 ổ ề (Lo i b  các ký hi u vô sinh)ạ ỏ ệ

T n t i m t thu t toán cho phép, v i m i văn ph m phi ng  c nh ồ ạ ọ ậ ớ ọ ạ ữ ả G mà  L(G)≠, thành l p m t văn ph m phi ng  c nh tậ ộ ạ ữ ả ương đương G’ ch  có các kýỉ  

Các t p ậ Wi  l n d n (ầ Wi Wi+1) nh ng l i luôn ph i n m trong t p h u h nư ạ ả ằ ậ ữ ạ  

V. V y dãy các W i  s  ph i d ng. Vì th  ta ch  c n tính các ẽ ả ừ ế ỉ ầ W i liên ti p khiế  chúng còn th c s  tăng trự ự ưởng, và ng ng l i khi chúng ng ng tăng, nghĩa làừ ạ ừ  

khi có Wk=Wk+1. B y gi  ta cũng s  có ấ ờ ẽ W k+1 =W k+2,v.v  và nh  th  thì ư ế W=W k. 

Ta s  ch ng minh r ng ẽ ứ ằ W ∆ chính là t p h p các ký hi u không k t thúc h u∩ ậ ợ ệ ế ữ  sinh

a) Cho A∈∆ là m t ký hi u không k t thúc h u sinh, nghĩa là t n t i m tộ ệ ế ữ ồ ạ ộ  suy d n:ẫ

A=α0α1 αk=u trong đó u∈∑ *, k≥1

Ta có u ∈ ∑= W0 * , và bước ti p bế ước, căn c  vào đ nh nghĩa c a các ứ ị ủ W i 

ta ch ng t  đứ ỏ ượ ằc r ng v i m i ớ ọ i, αk­iW t * , và cu i cùng thì A ∈ W t *. V y thìậ  

b) Cho A ∈ W ∩ ∆. Th  thì t n t i m t s  nguyênế ồ ạ ộ ố  i đ  cho A ∈ W i ∩ ∆.Ta 

s  ch ng minh b ng quy n p trên i r ngẽ ứ ằ ạ ằ  A là h u sinh.

+ N u ế i = 1, b i đ nh nghĩa c aở ị ủ  W1, ∃u∈W0 * đ  choể  A→u∈P, v y ta cóậ  

A * u và A là h u sinh.

+ Gi  s  v i m i s  nguyên ả ử ớ ọ ố k<i, n u  ế A∈Wk∩∆ thì A là h u sinh.ữ

Ta có A∈Wi ∩ ∆ = (Wi­1∩∆) ∪ {A∈∆│∃α∈Wi­1*:A→α∈P}.

N u ế A∈Wi­1 thì nó là h u sinh b i gi  thi t quy n p. N u không ta cóữ ở ả ế ạ ế  

Trang 38

trong  , đ u suy d n đα ề ẫ ược m t xâu trên ∑. Cho nên suy ra ộ A cũng v y, nóiậ  

Ngượ ạc l i, gi  s  r ng ả ử ằ x∈L(G) và x L(G’). Nh  m i suy d n c aư ọ ẫ ủ  x trong 

G có s  d ng ít nh t m t ký hi u không k t thúc trong ∆­∆’ ho c m t s nử ụ ấ ộ ệ ế ặ ộ ả  

xu t trong ấ P­P’ (và nh  v y v n ph i s  d ng m t ký hi u không k t thúcư ậ ẫ ả ử ụ ộ ệ ế  trong ∆­∆’). Nh  th  thì đã có m t ký hi u không k t thúc trong ∆­∆’ là h uư ế ộ ệ ế ữ  sinh. Mâu thu n này cho phép ta k t lu n r ng ẫ ế ậ ằ L(G) L(G’). T  đó L(G)=L(G’).

v iớ   P’={S aA abAS, A bA a, C aA bS a}.→ │ → │ → │ │

H  qu  Iệ ả I.2

Cho m t văn ph m phi ng  c nh ộ ạ ữ ả G. Bài toán L(G)=  là gi i đả ược

Qu  v y, ả ậ L(G)=  khi và ch  khi S W, và ta đã có cách đ  tính t p ậ W.

B  đ  II.2 ổ ề (Lo i b  các ký hi u không đ n đạ ỏ ệ ế ược)

Trang 39

T n t i m t thu t toán cho phép v i m i văn ph m phi ng  c nh  ồ ạ ộ ậ ớ ọ ạ ữ ả

thành l p m t văn ph m phi ng  c nh tậ ộ ạ ữ ả ương đương G’  ch  có các ký hi uỉ ệ  

đ n đế ược

Thành l p t p h p các ký hi u đ n đ ậ ậ ợ ệ ế ượ c

Ta đ t:ặ  W0 ={S}, U 0 = 

V i ớ i>0:  W i =W i­1{A∈∆│∃B∈Wi­1 , ∃u 1 u 2(∑∪∆)*: B  u1 Au 2P}

U i =U i­1∪{a∈∑│∃BWi­1,∃u 1 ,u 2∈(∑∪∆)*: B u→ 1 au 2P}

Và cu i cùng đ t: ố ặ W= i , U= i

Ti p theo ta ch ng minh r ng:ế ứ ằ

+ Có th  tính các t p W và U m t cách h u hi u ; đi u này để ậ ộ ữ ệ ề ược suy ra 

t  s  ki n n u ừ ự ệ ế Wi+1 =W i thì  k>1 : Wi+k =W i+1 =W và U i+k =U i+1 =U.

+ W là t p các ký hi u không k t thúc đ n đậ ệ ế ế ược, và U là t p các ký hi uậ ệ  

k t thúc đ n đế ế ược. Đi u này đề ược ch ng minh tứ ương t  nh    B  đ  II.1,ự ư ở ổ ề  xin chuy n đ n đ c gi  nh  là m t bài t p.ể ế ộ ả ư ộ ậ

Trang 40

Đ nh lý II.3

M i ngôn ng  phi ng  c nh đ u có th  đỗ ữ ữ ả ề ể ượ ảc s n sinh t  m t văn ph mừ ộ ạ  phi ng  c nh ch  có các ký hi u có ích.ữ ả ỉ ệ

Cho m t ngô ng  phi ng  ộ ữ ữ c nh L ả =L(G) và L≠. Áp d ng lên G cách thành 

l p   B  đ  II.1 ta thu đậ ở ổ ề ược m t văn ph m ộ ạ G’ ch  có các ký hi u h u sinh.ỉ ệ ữ  

Ti p t c áp d ng lên  ế ụ ụ G’  cách thành l p   B  đ  II.2 ta thu đậ ở ổ ề ược m t vănộ  

ph m ạ G” ch  có các ký hi u đ n đỉ ệ ế ược

Rõ ràng r ngằ  L(G’’)=L(G’)=L(G)=L

Ta hãy ch ng minh r ng ứ ằ G” ch  có các ký hi u có ích.ỉ ệ

Gi  s  trong ả ử G” có m t ký hi u vô ích ộ ệ X. T  b  đ  II.2, ừ ổ ề X là đ n đế ượ  c,nghĩa là:

∃α β,  : S  G” * Xα β

Vì G’ bao g m t t c  các ký hi u và t t c  các s n xu t ồ ấ ả ệ ấ ả ả ấ G”, và G’ ch  cóỉ  các ký hi u h u sinh, v y ta có:ệ ữ ậ

S  G” * Xα βG’ *u, u∈∑*

Suy d n trong ẫ G’ này cho ta th y r ng m i ký hi u dùng trong ph n suyấ ằ ọ ệ ầ  

d n ẫ α βX G’ * u đ u là đ n đề ế ược (t  S). V y các ký hi u đó không b  lo i b  b iừ ậ ệ ị ạ ỏ ở  

B  đ  II.2 và chúng còn l u l i trong văn ph m ổ ề ư ạ ạ G”. T  đó ta có:

Ngày đăng: 15/01/2020, 04:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w