CFG mạnh đến mức nào cho phép vô số quy tắc?


9

Gần đây tôi đã tự hỏi điều gì sẽ xảy ra nếu chúng ta cho phép các ngữ pháp không ngữ cảnh có vô số quy tắc. Rõ ràng, nếu chúng ta cho phép tùy ý các bộ quy tắc vô hạn như vậy, mọi ngôn ngữ trên một số bảng chữ cái có thể được mô tả bằng CFG với . Nhưng điều gì sẽ xảy ra nếu chúng ta giới hạn trong các bộ quy tắc như vậy có thể được tạo bởi ngữ pháp miễn phí ngữ cảnh?LΣG=({S},Σ,R,S)R={SwwL}R

Với mục đích đó, được cung cấp một tập hợp số và thiết bị đầu cuối , chúng ta hãy xem các quy tắc không phải là các phần tử của , mà là các chuỗi trên bảng chữ cái . Bây giờ câu hỏi của tôi là, nếu chúng ta xác định một quy tắc vô hạn CFG là một tuple trong đóNΣN×(NΣ)G = ( N , Σ , R , S )R(N,Σ)=NΣ{}G=(N,Σ,R,S)

  • N là tập hợp hữu hạn của nonterminals
  • Σ là một bảng chữ cái hữu hạn
  • Một w Một N w ( N Σ ) * G ' R ( N , Σ ) R = L ( G ' )R là một tập hợp các quy tắc có dạng với , sao cho có một số CFG trên vớiAwANw(NΣ)GR(N,Σ)R=L(G)
  • SN là nonterminal ban đầu

và chúng tôi định nghĩa cho các CFG quy tắc vô hạn như vậy giống như được thực hiện cho CFG, mối quan hệ giữa lớp ngôn ngữ được tạo bởi CFG quy tắc vô hạn (hãy gọi đó là lớp ), lớp ngôn ngữ ngữ cảnh và lớp ?L(G)C F R EirCFCFRE

Rõ ràng, chúng ta có , nhưng tương đương với một trong các lớp này (hoặc một số lớp khác) không?i r C FCFirCFREirCF


Câu trả lời:


7

Giả sử chúng ta lấy metagrammar và tính nó bằng tiền tố hai ký hiệu. Nói cách khác, với mỗi xây dựng , đạo hàm trái của trên chuỗi . Điều đó sẽ tạo ra một (hữu hạn) bộ (hữu hạn) metagrammars, mỗi người sản xuất tất cả các sản phẩm (có thể là vô hạn) đối với một số . Một N G ' Một G ' Một Một NGANGAGAAN

Bây giờ, xây dựng ngữ pháp , có quy tắc là sự kết hợp của tất cả các quy tắc trong ngữ pháp (với các đầu cuối không được đổi tên để tránh va chạm), cùng với cho mỗi , trong đó là thiết bị đầu cuối không phải là thiết bị đầu cuối cho . Các thiết bị đầu cuối cho bao gồm và tất cả các thiết bị đầu cuối cho mỗi ; khi bắt đầu phi terminal là sự bắt đầu không cuối của , và các thiết bị đầu cuối cho là chính xác thiết bị đầu cuối cho . Tôi khẳng định (không có bằng chứng) rằngG ' Một Một S G ' Một G ' Một S GGGAASGAGA G'MộtG"NG'MộtGG"GG"SGAGAGNGAGGGGlà một ngữ pháp hữu hạn cho cùng một ngôn ngữ, vì quá trình phái sinh không bị ảnh hưởng bởi nguồn gốc của các quy tắc; nó chỉ là một chuỗi thay thế trên một bảng chữ cái.

Nếu phác thảo bằng chứng ở trên là hợp lệ, và là như nhau.i r C FCFirCF

Như tôi đã đề cập trong một bình luận, có nhiều ví dụ thú vị hơn về ngữ pháp hai cấp độ, bao gồm ngữ pháp Van Wijngaarden và các nỗ lực khác nhau đã được thực hiện để tạo ra các hình thức dễ quản lý hơn mà không mất tất cả sức mạnh bổ sung.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.