Khả năng quyết định của ngôn ngữ tiền tố


9

Ở giữa kỳ có một biến thể của câu hỏi sau:

Đối với thể quyết định xác định Hiển thị rằng không nhất thiết phải có thể quyết định.pref ( L ) = { x | y  st  x y L } pref ( L )L

Pref(L)={xy s.t. xyL}
Pref(L)

Nhưng nếu tôi chọn thì tôi nghĩ cũng là , do đó có thể quyết định được. Ngoài ra cho kết quả tương tự. Và vì phải có khả năng quyết định nên tôi không thể chọn vấn đề tạm dừng hoặc đại loại như vậy .. pref ( L ) Σ * L = LL=ΣPref(L)ΣL=L

  1. Làm cách nào tôi có thể tìm thấy như vậy không thể quyết định được?Pref ( L )LPref(L)
  2. Những điều kiện nào trên sẽ làm cho thể quyết định được và điều này sẽ làm cho nó không thể giải quyết được?Pref ( L )LPref(L)

Câu trả lời:


9

Lưu ý rằng sử dụng bộ định lượng tồn tại trước một ngôn ngữ có thể quyết định, chúng ta có thể có được bất kỳ ngôn ngữ re nào, tức là mọi ngôn ngữ re đều có thể biểu thị như

{xΣyΣ x,yV}

Trong đó là ngôn ngữ có thể quyết định. Chúng bao gồm các ngôn ngữ re không thể giải quyết được như .V

ATM={e,x e encodes a Turing machine which accepts x}

Sự khác biệt duy nhất ở đây là ở đây chúng ta phải tách riêng và . Thủ thuật tiêu chuẩn là sử dụng một biểu tượng mới để tách hai phần (giả sử rằng dấu phân cách thuộc về ). Do đó, bất kỳ ngôn ngữ re bao gồm cả những ngôn ngữ không thể giải quyết được có thể được thể hiện trong định dạng này.xyy

Đối với câu hỏi thứ hai, không có cách thuật toán chung nào để kiểm tra xem các tiền tố của một ngôn ngữ có thể xác định được là không thể xác định được. Điều này tuân theo định lý của Rice.


bạn rõ ràng có thể cung cấp cho tạo không? VATM
Ran G.

2
Đặt là một chuỗi dự định đại diện cho tính toán chấp nhận tạm dừng của trên , sẽ kiểm tra xem có phải là tính toán chấp nhận của trên . yMexVyMex
Kaveh

Đó là một giải pháp tốt đẹp!
Ran G.

3

Kiến thức tổng hợp: bạn muốn tìm một ngôn ngữ không thể quyết định mà dù sao cũng có một số thuộc tính tính toán. Một ngôn ngữ không thể quyết định có thể sẽ không dẫn bạn đi rất xa. Nhưng một nửa quyết định


Gợi ý mạnh mẽ hơn: ngôn ngữ bán quyết định là gì? Điều đó có nghĩa là chúng ta có thể liệt kê các từ: đó là một số từ sao cho tồn tại một số nguyên sao choun

u=f(n)

Nhìn chằm chằm vào phương trình này một chút, với tính quyết định và tiền tố trong tâm trí.


Nói một cách trực quan, giả sử bạn có một số và bạn muốn kiểm tra xem nó có trong . Nói chung, bạn sẽ không làm tốt hơn kiểm tra , , , v.v. trong đó là các chữ cái của bảng chữ cái. Đây là một hàm đệ quy một phần kiểm tra tư cách thành viên trong . Tất nhiên, chúng tôi biết rằng đã được đăng lại; những gì chúng ta cần chỉ ra là đôi khi không có phương pháp thay thế. Chúng ta hãy lấy một số tập hợp , đó là đệ quy và không đệ quy và để là một phép liệt kê của (xPref(L)xaxbxaaa,b,Pref(L)Pref(L)SNfSS=f(x)xN ).

Giả sử bảng chữ cái chứa ba ký hiệu , và (nếu bạn chỉ có hai ký hiệu , mã hóa là , là và as ). Nếu , chúng ta hãy được bằng văn bản tại cơ sở 2 sử dụng những biểu tượng và không có hàng đầu .1 : { , } 0 1 : n N ˉ n n 0 1 001:{,}01:nNn¯n010

Đặt . Nói một cách dễ hiểu, chúng tôi lấy các yếu tố của và xử lý chỉ số liệt kê của chúng. rõ ràng là có thể quyết định (kiểm tra xem có một đơn không , rằng hai chuỗi chữ số không chứa số đứng đầu và chuỗi số thứ nhất đánh vần hình ảnh bằng của số mà phép thứ hai đánh vần). Tuy nhiên, việc quyết định xem một số có phải là tiền tố của để quyết định xem có ở mà bạn không thể biết vì không được đệ quy theo giả định. Chính thứcS L : 0L={y¯:x¯y=f(x)}SL:0ˉ y L y S x S P r e f ( L ) P r e f ( L ) { 0 , 1 } * : = S :fy¯LySxSPref(L) không thể quyết định được, vì không thể quyết định.Pref(L){0,1}:=S:

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.