Giải thích các lớp P và NP thông qua lambda-compus


36

Trong phần giới thiệu và giải thích các lớp phức tạp P và NP thường được đưa ra thông qua máy Turing. Một trong những mô hình tính toán là phép tính lambda. Tôi hiểu rằng tất cả các mô hình tính toán đều tương đương (và nếu chúng tôi có thể giới thiệu bất cứ điều gì về máy Turing, chúng tôi có thể giới thiệu điều này theo bất kỳ mô hình tính toán nào), nhưng tôi chưa bao giờ thấy giải thích về các lớp phức tạp P và NP thông qua lambda-compus . Bất cứ ai cũng có thể giải thích các khái niệm về các lớp phức tạp P và NP mà không cần máy Turing và chỉ với phép tính lambda là mô hình tính toán.


5
Sức mạnh tính toán của chúng chỉ tương đương với các hàm so với số tự nhiên, không phải loại cao hơn hoặc các cài đặt khác.
Kaveh

Tính đầy đủ của Turing đôi khi là một khái niệm lý thuyết hơn để hiển thị một kết nối nhưng "chuyển đổi" được áp dụng nhiều hơn giữa các hệ thống hoàn chỉnh TM không phải lúc nào cũng được thực hiện trong thực tế, tức là đôi khi nhiều hơn về bằng chứng tồn tại ...
vzn

Câu trả lời:


38

Turing-machine và λ -calculus tương đương chỉ ghi các hàm NN mà chúng có thể xác định.

Từ quan điểm của sự phức tạp tính toán, họ dường như hành xử khác nhau. Người dân Lý do chính sử dụng Turing máy và không λ -calculus lý do về độ phức tạp là sử dụng λ -calculus dẫn ngây thơ để các biện pháp phức tạp không thực tế, bởi vì bạn có thể sao chép các điều khoản (kích thước tùy ý) tự do trong đơn β -reduction bước, ví dụ như (λx.xxx)MMMM.Nói cách khác, giảm đơn bước trong λ-calculus là một mô hình chi phí tệ hại. Ngược lại, các bước giảm Turing-machine đơn hoạt động rất tốt (theo nghĩa là dự đoán tốt về thời gian chạy chương trình trong thế giới thực).

Người ta không biết cách đầy đủ để phục hồi truyền thống Turing-máy dựa trên lý thuyết phức tạp trong λ -calculus. Trong một đột phá gần đây (2014), Accattoli và Dal Lago đã cố gắng chỉ ra rằng các lớp lớn về độ phức tạp thời gian như P , NPEXP có thể được sử dụng theo công thức λ -calculus tự nhiên . Nhưng các lớp nhỏ hơn như O(n2) hoặc O(nlogn) không thể được trình bày bằng cách sử dụng các kỹ thuật Accattoli / Dal Lago.

Làm thế nào để phục hồi độ phức tạp không gian thông thường sử dụng λ -calculus là không rõ.


4
Tôi cảm thấy cần phải làm rõ ở đây: không có "kỹ thuật" đặc biệt nào Accattoli và Dal Lago sử dụng để "trình bày" các lớp thời gian. Bài trình bày là "ngây thơ" một: xác định là lớp ngôn ngữ decidable bởi một λ -term trong f ( n ) β -reduction bước, dưới bất kỳ chiến lược giảm tiêu chuẩn ( ví dụ như tận cùng bên trái -Đầu nhất). Accattoli và Dal Lago đã chỉ ra rằng, sử dụng các kỹ thuật đến từ logic tuyến tính, rằng có một đa thức p sao cho λ T I M E ( fλTIME(f(n))λf(n) βp .λTIME(f(n))=TIME(p(f(n))
Damiano Mazza

@DamianoMazza Đúng vậy, ý tôi là tôi không nghĩ các kỹ thuật được sử dụng để hiển thị kết quả này có thể được sử dụng để hiển thị, ví dụ . λTIME(n2)=TIME(n2)
Martin Berger

3
Ok, tôi hiểu rồi. Trên thực tế, tôi đoán là : các lớp phức tạp như T I M E ( n 2 ) hoặc T I M E ( n log n ) không mạnh , người ta không thể mong đợi chúng ổn định dưới những thay đổi trong mô hình tính toán (đây là trường hợp nổi tiếng ngay cả khi chúng ta sử dụng máy Turing, ví dụ như băng đơn so với băng đa).λTIME(n2)TIME(n2)TIME(n2)TIME(nlogn)
Damiano Mazza

3
@DamianoMazza Tôi đồng ý, tương tự như vậy đối với kích thước của bảng chữ cái đã chọn. Nhưng một thuật toán chạy trong trên máy n -tape có thể được mô phỏng trong 5 k f 2 ( n ) trên máy 1 băng, một cú đánh bậc hai khiêm tốn. Sự bùng nổ của bản dịch hiện tại của Accattoli và Dal Lago là gì? Tôi không nhớ nếu họ nói rõ ràng. f(n)n5kf2(n)
Martin Berger

1
@Jake Bài viết được trích dẫn thảo luận về chuẩn hóa beta (xem trang hai). Các kết quả tương tự đã được biết đến với các hình thức giảm khác, như giảm yếu (nghĩa là gọi theo giá trị) .seesee Dal Lago & Martini, 2008 (thảo luận trong bài báo đó và trong cstheory.stackexchange.com/a/394/989 ).
Blaisorblade

12

Tôi dán một phần câu trả lời tôi đã viết cho một câu hỏi khác :

Độ phức tạp tính toán tiềm ẩn nhằm mục đích mô tả các lớp phức tạp bằng các ngôn ngữ chuyên dụng. Kết quả đầu tiên như Định lý Bellantoni-Cook đã được quy định trong các điều khoản của chức năng -recursive, nhưng kết quả gần đây sử dụng từ vựng và các kỹ thuật của λ -calculus. Xem phần giới thiệu ngắn này về Độ phức tạp tính toán tiềm ẩn để biết thêm và các gợi ý, hoặc các thủ tục tố tụng của các hội thảo DICE .μλ

Có tồn tại tả những đặc điểm của (ít nhất) bằng phương pháp λ -calculus.FPλ


5

Tôi không biết câu trả lời này (một phần) câu hỏi của bạn nhưng thực sự có những đặc điểm thay thế của các lớp phức tạp (đặc biệt là PNP ) về mặt logic (logic bậc 1, logic bậc 2, v.v.).

Ví dụ, công việc của R. Fagin (et al.) Trong lĩnh vực này là đáng chú ý (và imo có thể cung cấp cái nhìn sâu sắc liên quan đến vấn đề P vs NP và mối quan hệ với độ phức tạp mô tả và thuật toán )

Một số đặc điểm nữa của các lớp phức tạp tính toán về độ phức tạp thuật toán (Kolmogorov - Solomonov) có thể được tìm thấy (ví dụ) ở đâyđâ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.