Có những ngôn ngữ không có ngữ cảnh mơ hồ và xác định?


36

Chúng ta hãy gọi một ngôn ngữ xác định ngôn ngữ không ngữ cảnh nếu và chỉ khi nó có thể được chấp nhận bởi một máy tự động đẩy xuống xác định, và không khác biệt.

Chúng ta hãy gọi một ngôn ngữ không có ngữ cảnh vốn đã mơ hồ nếu và chỉ khi tất cả các ngữ pháp không ngữ cảnh tạo ra ngôn ngữ này là mơ hồ và không rõ ràng.

Một ví dụ về ngôn ngữ xác định, không rõ ràng là ngôn ngữ: Một ví dụ về ngôn ngữ không rõ ràng, không rõ ràng là ngôn ngữ:

{anbn{a,b}|n0}
{w{a,b}|w=wR}

Từ Wikipedia , một ví dụ về ngôn ngữ không có ngữ cảnh mơ hồ vốn có là sự kết hợp giữa các ngôn ngữ không ngữ cảnh, cũng phải không có ngữ cảnh:

L={anbmcmdn{a,b,c,d}|n,m0}{anbncmdm{a,b,c,d}|n,m0}

Bây giờ cho các câu hỏi:

  1. Được biết liệu có tồn tại một ngôn ngữ không có ngữ cảnh xác định, mơ hồ không? Nếu vậy, có một ví dụ (dễ dàng)?
  2. Được biết liệu có tồn tại một ngôn ngữ không ngữ cảnh, không mơ hồ vốn có? Nếu vậy, có một ví dụ (dễ dàng)?

Rõ ràng, vì tồn tại một ngôn ngữ không có ngữ cảnh mơ hồ ( là một ví dụ), câu trả lời cho một trong những câu hỏi này là dễ dàng, nếu biết liệu là xác định hay không xác định. Tôi cũng cho rằng đúng là nếu có một yếu tố quyết định, thì chắc chắn cũng sẽ là một người không xác định ... nhưng tôi đã rất ngạc nhiên trước đây. Tài liệu tham khảo được đánh giá cao và xin lỗi trước nếu đây là một kết quả nổi tiếng, nổi tiếng (trong trường hợp đó, tôi hoàn toàn không biết về nó).LL

Câu trả lời:


30

Nếu một ngôn ngữ có tính xác định, nó được chấp nhận bởi một số máy tự động đẩy xuống xác định, điều đó có nghĩa là có một số ngữ pháp LR (1) mô tả ngôn ngữ và vì mọi ngữ pháp của LR (1) đều không rõ ràng, điều này có nghĩa là không thể vốn dĩ mơ hồ. Knuth đã chứng minh điều này trong bài báo của mình, trong đó ông đã giới thiệu LR (1) ( Về việc dịch ngôn ngữ từ trái sang phải ).LL

Một ngôn ngữ có thể được mô tả bằng một số ngữ pháp không ngữ cảnh nếu và chỉ khi nó có thể được nhận ra bởi một số máy tự động không điều kiện. Như một trường hợp đặc biệt của điều này, các ngữ pháp không ngữ cảnh mơ hồ vốn có thể được phân tích cú pháp bởi một số máy tự động không điều kiện.

Trên một lưu ý cuối cùng, bất kỳ máy tự động đẩy xuống xác định nào cũng không phải là không xác định (đây là trường hợp đối với bất cứ điều gì có thể là không xác định, đối với một định nghĩa hợp lý của thuyết không điều trị).


+1 cho tham chiếu cho thực tế là tất cả các CFL xác định không phải là mơ hồ. Trên thực tế, điều đó cũng trả lời cho câu hỏi khác: vì có một ngôn ngữ mơ hồ vốn có, và nó không mang tính quyết định, nên nó không có tính xác định (lưu ý rằng định nghĩa của tôi về CFL không xác định là không chuẩn, vì nó loại trừ CFL xác định; đó là lỗi của tôi cho việc sử dụng thuật ngữ sai). Trong mọi trường hợp, bạn đã đưa ra một ví dụ cho câu hỏi (2) và cho thấy câu hỏi đó (1) là một điều không thể. Tôi sẽ chờ xem ai đó giải thích thêm, nhưng nếu không thì sẽ chấp nhận điều này là chính xác. Cảm ơn!
Patrick87

0

đọc wikipedia & câu trả lời & nhận xét của bạn về nó, tái (Q2) để nói rõ, tất cả các CFL mơ hồ vốn phải không đặc biệt theo std defn (bao gồm ví dụ của riêng bạn!). chạy qua ref này

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.