(Làm thế nào) Chúng ta có thể khám phá / phân tích các vấn đề NP khi không có mô hình tính toán Turing không?


15

Từ quan điểm toán học / lý luận tính toán hoàn toàn trừu tượng, người ta thậm chí có thể khám phá hoặc suy luận về các vấn đề như 3-SAT, Subset Sum, Nhân viên bán hàng du lịch, v.v.? Chúng ta thậm chí có thể suy luận về chúng theo bất kỳ cách có ý nghĩa nào chỉ với quan điểm chức năng không? Nó thậm chí sẽ có thể?

Tôi đã nghiên cứu kỹ câu hỏi này hoàn toàn từ quan điểm tự tìm hiểu như là một phần của việc học mô hình tính toán lambda. Tôi hiểu rằng đó là "không trực quan" và đó là lý do Godel ưa thích mô hình Turing. Tuy nhiên, tôi chỉ muốn biết những hạn chế lý thuyết đã biết của kiểu tính toán chức năng này và mức độ cản trở của việc phân tích lớp NP của các vấn đề là gì?


Đây không phải là một câu hỏi ở cấp độ nghiên cứu cho một người thực hiện lý thuyết ngôn ngữ lập trình một cách chuyên nghiệp, nhưng tôi vẫn không nghĩ rằng chất đốt này xứng đáng với tất cả các nhược điểm. Các downvoters có thể cho chúng ta biết những gì làm phiền họ? Có lẽ câu hỏi có thể được cải thiện.
Andrej Bauer

2
@AndrejBauer: Tôi đã đánh giá thấp bởi vì (1) Tôi nghĩ rằng sự tương đương (đa thức) giữa các máy Turing và phép tính lambda khá nổi tiếng và (2) bài đăng có rất nhiều câu trả lời là câu hỏi cốt lõi. Tuy nhiên, câu trả lời của bạn cho thấy có nhiều điều đang diễn ra hơn tôi nghĩ, vì vậy tôi có thể đảo ngược phiếu bầu của mình.
Huck Bennett

Tôi đồng ý rằng lông tơ thuộc về Discovery Channel.
Andrej Bauer

2
@AndrejBauer, HuckBennet: Ban đầu tôi quyết định đăng bài này trên cổng thông tin khoa học máy tính nhưng tôi không thể tìm thấy các thẻ có liên quan và do đó đã đăng nó ở đây. Tôi đã loại bỏ lông tơ để giúp được trực tiếp với những gì tôi muốn biết. Tôi đã để lại "lý do" của mình để đặt câu hỏi và từ đó gắn thẻ nó thành một câu hỏi mềm. Tôi thực sự quan tâm đến việc làm thế nào người ta có thể phân tích các vấn đề NP hoàn toàn từ góc độ chức năng và nếu thực sự có bất kỳ giá trị nào khi làm điều đó - với hy vọng rằng tôi hiểu một cái gì đó sâu sắc hơn về phép tính lambda
Tiến sĩ

Tôi nghĩ cốt lõi của câu hỏi của bạn là nếu sự phức tạp có thể được phát triển bằng phép tính lambda. Câu trả lời là có, và có một câu hỏi cũ hỏi rằng trên trang web iirc.
Kaveh

Câu trả lời:


16

Bạn có thể muốn xem xét ngữ nghĩa chi phí cho các ngôn ngữ chức năng . Đây là các biện pháp phức tạp tính toán khác nhau cho các ngôn ngữ chức năng không đi qua bất kỳ loại máy Turing, máy RAM, v.v. Một nơi tốt để bắt đầu tìm kiếm là bài Lambda the Ultimate này , có một số tài liệu tham khảo tốt hơn.

Phần 7.4 của Cơ sở thực tiễn cho Ngôn ngữ lập trình của Bob Harper giải thích về ngữ nghĩa chi phí.

Các giấy Trên ích tương đối của quả cầu lửa bởi Accattoli và Coen cho thấy -calculus có ít nhất Blowup tuyến tính đối với mô hình máy RAM với.λ

Tóm lại, trên hành tinh khác này, mọi thứ sẽ khá giống với NP, nhưng sẽ có ít tràn bộ đệm hơn và sẽ không có nhiều rác thải nằm xung quanh.


Tôi cho rằng không định kiểu -calculus người vẫn sẽ phát minh ra (tinh khiết) chương trình. Ồ tốt λ
Andrej Bauer

Đó là một liên kết tốt đẹp trên bài viết LtU. Nhưng có liên kết nào đến các ví dụ cụ thể về việc chứng minh lớp "NP" này với các vấn đề như 3Sat không? Curios để xem một "bằng chứng" trong tính toán lambda
Tiến sĩ

Damiano, bạn có thể gửi ý kiến của bạn như là một câu trả lời đúng đắn mà chứng minh rằng một có thể làm lý thuyết NP-có liên quan trực tiếp trong -calculus. λ
Andrej Bauer

@DamianoMazza - Tôi đồng ý với Andrej và tin rằng nhận xét của bạn phải là câu trả lời
Tiến sĩ

@Andrej: Xong rồi! Tôi đã xóa những bình luận trước đây của tôi.
Damiano Mazza

14

Theo yêu cầu của Andrej và Tiến sĩ, tôi đang biến nhận xét của mình thành câu trả lời, với lời xin lỗi vì tự quảng cáo.

Gần đây tôi đã viết một bài báo trong đó tôi xem cách chứng minh định lý Cook-Levin ( -completility of SAT) bằng ngôn ngữ chức năng (một biến thể của-tính toán) thay vì máy Turing. Tóm tắt:NP

  • khái niệm chính là các xấp xỉ affine, nghĩa là xấp xỉ các chương trình tùy ý bằng các chương trình affine (có thể sử dụng đầu vào của chúng nhiều nhất một lần); trực giác là nên affineλ-terms tính độc đoán gần đúng tùy ý cũng giống như mạch Boolean;
    Mạch BooleanMáy Turing= =affine λ-điều kiệnλ-điều kiện
    λ
  • Kết quả cuối cùng là, trong thế giới -calculus, bằng chứng là nhiều "cấp cao", nó sử dụng lý thuyết trật tự, Scott-liên tục vv thay vì hack mạch Boolean; đặc biệt, khẩu hiệu "tính toán là cục bộ" (được nhiều người đưa ra khi thông điệp nằm dưới định lý Cook-Levin) trở thành "tính toán là liên tục", như mong đợi;λ
  • tuy nhiên, vấn đề -complete "tự nhiên" không phải là CIRCUIT SAT mà là HO CIRCUIT SAT, một loại "khả năng giải quyết" của các thuật ngữ tuyến tính hay chính xác hơn là các lưới chứng minh logic tuyến tính cao hơn (giống như các mạch Boolean bậc cao) ;NP
  • tất nhiên, sau đó người ta có thể giảm HO CIRCUIT SAT xuống CIRCUIT SAT, do đó chứng minh định lý Cook-Levin thông thường, và các chi tiết cấp thấp, đẫm máu đều được chuyển sang xây dựng mức giảm như vậy.

NP

λλ


NP

λ

λ

NPNPcoNPλ

λλ

NPλ, nó không thực sự quan trọng nếu bạn biết rằng trực giác của bạn là âm thanh. Máy Turing đã đưa ra một câu trả lời ngay lập tức, khả thi và mọi người không (và vẫn không) cảm thấy cần phải đi xa hơn.


2
Chỉ cần làm rõ nhiều sai sót: Steve đã chứng minh tính đầy đủ NP cho TAUT, bằng chứng cho SAT được ẩn giấu trong đó. Khái niệm giảm Karp không tồn tại vào thời điểm đó. Cũng cần lưu ý rằng TAUT là lý do tại sao Steve quan tâm đến chủ đề này và là trung tâm của định lý tự động chứng minh, liệu mọi người có quan tâm đến khả năng giải quyết các thuật ngữ lambda tuyến tính không? Sự phát triển thay thế là có thể, nhưng nó sẽ xảy ra mà không có sự biết trước về tính đầy đủ của NP? Tôi thấy rằng không có khả năng xem xét rằng sự phát triển thay thế là khá gần đây. :)
Kaveh

1
Tôi nhớ đã đọc ở đâu đó rằng một phần động lực của Levin để phát triển tính hoàn thiện NP là không có khả năng giải quyết vấn đề đẳng cấu đồ thị và kích thước mạch tối thiểu (MCSP) và hy vọng cho thấy rằng chúng là (cái mà bây giờ chúng ta sẽ gọi là NP-hard. Ít nhất GI vẫn còn tồn tại trong một thế giới của lambdas ...
Joshua Grochow 6/12/2016

1
@Kaveh, cảm ơn bình luận của bạn, tôi đã thêm một số đoạn để hoàn thành câu trả lời.
Damiano Mazza

1
@Josh, vậy TAUT và SAT cũng vậy.
Kaveh
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.