tương đương đệ quy chức năng đệ quy


7

Cho hai hàm đệ quy nguyên thủy là có thể quyết định liệu chúng có phải là cùng một hàm không? Ví dụ, hãy lấy các thuật toán sắp xếp A và B là đệ quy nguyên thủy. Trong khi có nhiều thuật toán để sắp xếp, tất cả chúng đều mô tả cùng một mối quan hệ. Cho hai triển khai đệ quy nguyên thủy của A và B, chúng có thể được chứng minh là đại diện cho cùng một chức năng không? Xin lưu ý rằng câu hỏi này không phải là về đệ quy không giới hạn và vì vậy không bị giới hạn bởi các thuộc tính của máy Turing.

Tôi biết rằng nếu bạn có hai chức năng tạm dừng và có một miền hữu hạn thì chúng có thể được chứng minh là cùng một chức năng vì bạn chỉ cần thử mọi đầu vào có thể và so sánh đầu ra của từng chức năng. Sự nhầm lẫn của tôi là khi làm việc với những thứ làm việc nói số tự nhiên vì chúng không hữu hạn.

Nếu điều này không thể quyết định đối với các hàm đệ quy nguyên thủy thì có thể đối với các lớp yếu hơn như nói các hàm đệ quy cơ bản. Tôi cũng biết rằng điều này có thể xảy ra đối với những thứ yếu hơn như máy trạng thái hữu hạn và máy tự động đẩy xuống xác định. Cảm ơn.


1
Lưu ý rằng "có thể quyết định" và "có thể được chứng minh" là hai điều rất khác nhau!
Raphael

Câu trả lời:


6

Người ta biết rằng sự tương đương là không thể giải quyết được ngay cả đối với sự tôn trọng của CFG. PDA (xem ngay cả Wikipedia ). Điều này cung cấp một bằng chứng rằng cùng một thuộc tính là không thể áp dụng cho mọi mô hình của bất kỳ superset CFL nào (bằng cách giảm trường hợp đặc biệt đơn giản ).

Vì việc giải quyết vấn đề từ cho bất kỳ CFL cụ thể nào rõ ràng là đệ quy nguyên thủy (nhờ thuật toán phân tích cú pháp yêu thích của bạn), nên điều này bao gồm tập hợp các hàm / thuật toán đệ quy nguyên thủy.


4

Nó không phải là quyết định, bởi bằng chứng không chính thức tương đối đơn giản:

Cho một máy Turing tùy ý , bạn có thể xác định hàm sau :MfM

fM(n)={0 if M does not halt in n steps on empty input1 otherwise

Đó là một thực tế cơ bản của đệ quy nguyên thủy rằng trên thực tế, là đệ quy nguyên thủy (nó "mô phỏng" trong bước).fMMn

Bây giờ câu lệnh

M does not halt on empty input

tương đương với

n, fM(n)=0(n)
trong đó là hàm luôn trả về . Ngôn ngữ của các hàm không dừng lại là không thể giải quyết được, và do đó, sự tương đương ở trên của các hàm đệ quy nguyên thủy là không thể áp dụng được cho chung .00fM

Thật ra không quá khó để chỉ ra rằng việc quyết định tính tương đương của các hàm đệ quy nguyên thủy thực tế là trong , nghĩa là khó nói chính xác như việc xác định không kết thúc máy Turing hoặc quyết định các câu số học với một bộ định lượng phổ không giới hạn duy nhất (và có thể giới hạn và ).Π10

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.