Tại sao bổ đề Pumping-cho các ngôn ngữ không ngữ cảnh sử dụng uvwxy, nhưng một trong những ngôn ngữ thông thường là uvw?


Câu trả lời:


13

Cả hai bổ đề bơm có một lời giải thích trực quan về một máy tự động có thể nhận ra một ngôn ngữ.

Một ngôn ngữ thông thường có thể được nhận ra bởi một máy tự động hữu hạn. Tất cả các từ được công nhận thông qua:

  • hoặc là một con đường hữu hạn thông qua máy tự động: các từ ngắn hơn chiều dài bơm;
  • hoặc một đường dẫn đi qua một nút mà tại đó có một vòng lặp, trong trường hợp đó có thể đi qua vòng lặp bất kỳ số lần nào: đó là phần , trong đó là đường dẫn qua một vòng của vòng lặp và là số lops.ynyn

Một ngôn ngữ không ngữ cảnh có thể được nhận ra bởi một máy tự động đẩy xuống. Tất cả các từ được công nhận thông qua:

  • hoặc là một con đường hữu hạn thông qua máy tự động: các từ ngắn hơn chiều dài bơm;
  • hoặc một đường dẫn bao gồm cả một vòng lặp với các lần đẩy vào ngăn xếp và một vòng lặp khác với các cửa sổ bật lên tương ứng. Đẩy và bật phải cân bằng để có được một ngăn xếp trống ở cuối. Sau đó, từ này chứa một vòng lặp với các lần đẩy , một số đường dẫn tiếp theo và một vòng lặp với pops . Số lần chạy qua hai vòng phải giống nhau, nhưng nó có thể là bất kỳ số nào, do đó bit giữa .vwxvnwxn

Bạn cũng có thể có được một trực giác tương tự từ các cách thông thường và ngôn ngữ không ngữ cảnh có thể được chỉ định bởi một biểu thức chính quy và ngữ pháp không ngữ cảnh tương ứng.

Nếu một từ được nhận dạng bởi một biểu thức chính quy, thì:

  • hoặc là từ không sử dụng một phần của biểu thức dưới điều hành (sao Kleene), và đó là một phần có thể được lặp đi lặp lại bất kỳ số lượng lần;*y
  • hoặc từ không sử dụng bất kỳ phần nào của biểu thức dưới một ngôi sao và nó không thể dài hơn chính biểu thức đó.

Nếu một từ được nhận dạng bởi ngữ pháp không ngữ cảnh, thì:

  • Có thể là từ được nhận dạng bởi một cây phân tích trong đó có một cây con được công nhận bởi nonterminal , và một cây con của cây con đó được nhận ra bởi cùng một chữ . Trong trường hợp đó, hãy để là một phần của từ được nhận ra bởi và là phần được nhận ra bởi . Bạn cũng nhận được một cây phân tích hợp lệ nếu bạn thay thế bằng hoặc ngược lại. Hơn nữa, vì chứa , sau khi thay thếT1AT0AwT0vwxT1T1T0T1T0T0 bởi , bạn có thể thay thế bản sao củaT1T0 phía trong T1 bởi T1, và như thế. Điều này có nghĩa là bạn có thể thay thếvwx bởi w, v2wx2, v3wx3, v.v. và vẫn nhận được một từ với cây phân tích hợp lệ.
  • Mặt khác, không có cây con của cây phân tích sử dụng lại cùng một nonterminal, và trong trường hợp đó, độ dài của từ bị giới hạn bởi vì độ sâu của cây phân tích được giới hạn bởi số lượng nonterminals trong ngữ pháp.

Ngoài ra thực tế thú vị ... có những ngữ pháp phức tạp hơn dần dần (ví dụ ngữ pháp liền kề cây ) nhận ra các ngôn ngữ phức tạp hơn dần dần (trong trường hợp này rõ ràng là{anbncndn|n>0}).
dùng541686

6

Đó là do "cấu trúc" của các ngôn ngữ được quan sát bởi bổ đề bơm tương ứng. Có một cái nhìn vào các bằng chứng về kết quả bơm tương ứng.

Đối với các ngôn ngữ thông thường, cấu trúc là tuyến tính và đối với mỗi từ dài, có một trạng thái được lặp lại hai lần trong tính toán chấp nhận của một máy tự động trạng thái hữu hạn. Chuỗi đọc giữa các trạng thái này có thể được lặp lại.

Cấu trúc của các ngôn ngữ không ngữ cảnh được lồng vào nhau, giống như cây. Một lần nữa, một từ dài sẽ có một cây phái sinh lặp đi lặp lại một nonterminal trên một trong những con đường trong cây. Cấu trúc này cũng có thể được lặp lại, nhưng sẽ tạo ra hai chuỗi, cả bên trái và bên phải.


4

Bổ đề bơm cho các ngôn ngữ không ngữ cảnh là một ứng dụng của nguyên tắc pigeonhole. Nếu chúng ta sử dụng bất kỳ từ nào đủ dài trong ngôn ngữ và xem xét một trong những cây phân tích của nó, sẽ có một con đường trong đó một trong những từ không lặp lại lặp lại. Điều này sẽ cho phép chúng tôi "bơm" một phần của từ, bằng một quá trình cắt và dán.

Ví dụ, xem xét cây phân tích sau:

Cây phân tích

Các nonterminal lặp lại là Một. Chúng ta có thể loại bỏ sự lặp lại để có được cây phân tích cú pháp:

Cây phân tích

Chúng ta cũng có thể "bơm" sự lặp lại để có được cây phân tích cú pháp:

Cây phân tích

Về bản thân các từ, chúng tôi bắt đầu với từ này sabacabasvà nhận được từ đầu tiên sacas và sau đó từ sababacababas.

Bơm tương ứng với việc thay đổi số lượng ứng dụng của phái sinh AabAba. Bạn có thể thấy rằng hai phần khác nhau đang được bơm cùng một lúc. Điều này là cần thiết cho các ngôn ngữ như{anbn:n0}: các ab các bộ phận cần được bơm riêng.

Bây giờ hãy xem xét những gì xảy ra khi chúng ta áp dụng các đối số tương tự cho một ngữ pháp thông thường bên trái :

Cây phân tích

Vì ngữ pháp được để lại thường xuyên, dẫn xuất được bơm AabAchỉ chứa một phần được bơm. Điều này sẽ luôn luôn là trường hợp cho các ngữ pháp thông thường trái, do hình thức của các cây phân tích.

Về mặt phân rã uvwxy, điều này ngụ ý rằng x=ϵ, và vì thế uviwxiy=uviwy, đó chính xác là hình thức của bổ đề bơm cho các ngôn ngữ thông thường (xem xét wynhư một từ duy nhất). Hình dạng đặc biệt của các cây phân tích trong ngữ pháp thông thường bên trái cho phép chúng ta có được một bổ đề bơm mạnh hơn.

Tín dụng: tất cả các cây phân tích được vẽ bằng Syntax Tree Generator .

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.