Tìm kiếm nguồn văn học cho ý tưởng sau


12

Tôi khá chắc chắn rằng tôi không phải là người đầu tiên giải trí ý tưởng mà tôi sẽ trình bày. Tuy nhiên, sẽ rất hữu ích nếu tôi có thể tìm thấy bất kỳ tài liệu nào liên quan đến ý tưởng.

Ý tưởng là xây dựng một Turing Machine M với đặc tính là nếu P = NP thì M sẽ giải được 3-SAT trong thời gian đa thức. (Việc lựa chọn 3-SAT là tùy ý. Nó thực sự có thể là bất kỳ vấn đề nào trong NP).

Nói rõ hơn, đây không phải là một tuyên bố rằng P = NP. Trong thực tế, tôi tin điều ngược lại. Tôi chỉ nói rằng nếu P = NP, thì M sẽ cung cấp giải pháp thời gian đa thức. Nếu bạn đang tìm kiếm một giải pháp hiệu quả, tôi nên cảnh báo rằng điều này không hiệu quả.

M được xây dựng như sau: đầu tiên, giả sử mã hóa chính tắc cho tất cả các máy Turing và áp dụng đánh số cho các máy này. Vì vậy, có Máy Turing số 1, số 2, v.v ... Ý tưởng về Máy Turing phổ dụng có thể đọc định dạng cho máy được cung cấp và sau đó mô phỏng máy đó đang chạy trên đầu vào riêng biệt khá nổi tiếng. M sẽ sử dụng Máy Turing phổ dụng để lần lượt xây dựng và mô phỏng từng Máy Turing.

Đầu tiên, nó mô phỏng hoạt động của Turing Machine 1 cho một bước duy nhất.
Sau đó, nó nhìn vào đầu ra của Turing Machine 1.
Nó mô phỏng hoạt động của Turing Machine 1 trong hai bước và xem đầu ra, sau đó tiến hành mô phỏng Turing Machine 2 trong 2 bước. Nó tiếp tục và lặp theo kiểu này, lần lượt chạy Turing Machine 1 cho k bước rồi 2 cho k bước ... rồi cuối cùng là máy k cho k bước.

Sau mỗi lần chạy mô phỏng, nó kiểm tra đầu ra của lần chạy. Nếu đầu ra là một phép gán các biến thỏa mãn thể hiện vấn đề 3-SAT, M dừng lại ở trạng thái chấp nhận. Mặt khác, đầu ra là một chuỗi bằng chứng trong một số ngôn ngữ chứng minh có thể kiểm chứng được với kết quả đã được chứng minh rằng trường hợp vấn đề không thỏa đáng, M dừng lại ở trạng thái từ chối. (Đối với ngôn ngữ chứng minh, ví dụ, chúng ta có thể sử dụng Tiên đề Peano với logic thứ hai và các tiên đề logic kiểu Hilbert cơ bản. Tôi để nó như một bài tập để người đọc nhận ra rằng nếu P = NP, hợp lệ bằng chứng ngôn ngữ tồn tại và có thể kiểm chứng thời gian đa thức).

Tôi sẽ tuyên bố ở đây rằng M sẽ giải 3-SAT trong thời gian đa thức khi và chỉ khi P = NP. Cuối cùng, thuật toán sẽ tìm thấy một số Máy Turing ma thuật có số K, thứ thực sự là một người giải quyết hiệu quả cho bài toán 3-SAT và có thể đưa ra bằng chứng về kết quả của nó cho thành công hay thất bại. K cuối cùng sẽ được mô phỏng các bước chạy poly (strlen (đầu vào)) cho một số đa thức. Đa thức cho M gần như là bình phương của đa thức cho k trong thừa số lớn nhất, nhưng với một số hằng số khủng trong đa thức.

Để nhắc lại câu hỏi của tôi ở đây: Tôi muốn biết liệu có nguồn tài liệu nào sử dụng ý tưởng này không. Tôi có phần ít quan tâm đến việc thảo luận về ý tưởng.

Câu trả lời:


16

Có vẻ như ý tưởng này được quy cho Levin (Nó được gọi là tìm kiếm tối ưu). Tôi tin rằng thực tế này là nổi tiếng. Một thuật toán tương tự được mô tả trong wikipedia chẳng hạn, mặc dù sử dụng bài toán tổng con. Trong bài viết này từ scholarpedia, bạn có thể tìm thấy một số tài liệu tham khảo về chủ đề này, bao gồm một con trỏ đến thuật toán gốc và một số thuật toán tìm kiếm tối ưu khác.

φP= =NPφ

Nhận xét 2: Như Jaroslaw Blasiok đã chỉ ra trong một câu trả lời khác, thuật toán này không quyết định Sat chỉ giả sử P = NP.


Tôi chỉ tìm thấy tài liệu tham khảo Wikipedia, và thực sự, nó đề cập đến Levin, nhưng không có trích dẫn. Nó có thể đơn giản đã trở thành văn hóa dân gian nhưng không bao giờ được sử dụng trong văn học xuất bản. Bất kể, điều này là hữu ích. Cảm ơn.
Tỉnh Bill

Chào mừng bạn Tôi tìm thấy một trang chủ với một số tài liệu tham khảo về chủ đề này. Tôi chỉnh sửa câu trả lời để bao gồm nó.
Mateus de Oliveira Oliveira

6

Ý tưởng chạy chéo tất cả các máy Turing có thể đã được Leonid Levin sử dụng trước đây trong cái mà ngày nay nổi tiếng là Levins Universal Search. Thật không may, và trái với quan niệm sai lầm cực kỳ phổ biến, vì những gì tôi biết về các biến thể của tìm kiếm phổ biến Levins KHÔNG thể cung cấp thuật toán rõ ràng giải SAT (vấn đề quyết định) trong thời gian đa thức, chỉ đưa ra giả định rằng P = NP - và thuật toán của bạn không .

Lời cảnh báo về những lời nói dối lý luận được đề xuất (như rất thường xuyên) trong "bài tập dễ dàng để lại cho người đọc" - Tôi không thể tự mình chứng minh bài tập và tôi không tin rằng tuyên bố của mình là đúng, cụ thể là:

Giả sử P = NP, có ZFC kích thước đa thức chứng minh sự không thỏa mãn của công thức Boolean đã cho.

Hơn nữa: Tôi không thể thấy cách chứng minh sự tồn tại của ZFC ngắn đa thức chứng tỏ sự không thỏa mãn theo giả định (mạnh hơn) rằng "P = NP có thể chứng minh được trong ZFC". Tuy nhiên, nó trở nên dễ dàng với giả định mạnh mẽ hơn, cụ thể là:

(*) Tồn tại máy M chạy trong thời gian đa thức có thể giải quyết SAT.

Và đây là, tôi tin rằng, giả định chính xác theo đó thuật toán của bạn giải SAT trong thời gian đa thức. Ở trên bằng "có thể giải quyết SAT" Ý tôi là: tồn tại một máy M và bằng chứng ZFC rằng M giải quyết SAT.

Lưu ý rằng giả định này vẫn yếu hơn một chút so với giả định sau: (**) Có tồn tại máy M, có thể chạy trong thời gian đa thức và có thể giải được SAT.

Trong (**) người ta có thể xây dựng rõ ràng đạt được cùng một mục tiêu thậm chí còn đơn giản hơn: liệt kê tất cả các ZFC chứng minh cho đến khi bạn tìm đúng máy M (dành thời gian không đổi), rồi chạy M theo trường hợp cụ thể.

Tuy nhiên, sự thật là theo giả định P = NP tồn tại một số hệ thống chứng minh có thể kiểm chứng đa thức với các bằng chứng ngắn cho sự không thỏa mãn của công thức đã cho. Thật không may, chúng tôi không biết cả hệ thống bằng chứng cũng như trình xác minh, và nó không hữu ích trong cài đặt này.

f-1(x)

Lưu ý rằng sơ đồ này được áp dụng, ví dụ, cho vấn đề YẾU TỐ; ở đây f chỉ là phép nhân (chỉ được xác định cho các yếu tố khác ngoài \ pm 1) và B là kiểm tra tính nguyên thủy. Do đó, tìm kiếm phổ quát của Levins sẽ là thuật toán tối ưu (tối đa là một yếu tố không đổi) cho FACTORING. Cho rằng thuật toán tối ưu chậm hơn thuật toán đã biết để kiểm tra tính nguyên thủy - trong trường hợp khác, việc kiểm tra tính nguyên thủy trở nên chiếm ưu thế.

NPco-NP


1
Nếu P = NP thì co-NP = co-P = P = NP. Vì vậy, UNSATISFIABILITY nằm trong NP, các nhân chứng có kích thước đa thức cũng vậy - bạn không cần phải gọi máy Turing. Bạn không thể chuyển đổi nhân chứng đó thành bằng chứng ZFC rằng công thức không thỏa mãn? Tôi không tin vào cơ chế chứng minh ZFC nhưng trực giác mà tôi đã nhận được từ nhiều nơi khác nhau là, trừ khi bạn đang xử lý "những thứ kỳ lạ", ZFC tương ứng với tất cả những điều bạn nghĩ bạn có thể chứng minh bằng mọi cách, trước đây bạn đã nghe về lý thuyết tập hợp. Các đối tượng hữu hạn như công thức Boolean và nhân chứng đa thức về tính không thỏa mãn của nó không có khả năng là lạ.
David Richerby

Có, nếu P = NP, thì UNSAT nằm trong NP và nó có chứng kiến ​​kích thước đa thức. Cụ thể: nhân chứng không có kích thước, tất cả các công việc được thực hiện bởi người xác minh, phải không? Tôi chỉ có một ý tưởng làm thế nào để chuyển đổi nhân chứng kích thước không này thành ZFC chứng minh sự không thỏa mãn: đưa ra bằng chứng ZFC rằng máy của tôi thực sự giải quyết UNSAT, và sau đó hiển thị một hoạt động của máy này trên công thức - đó sẽ là một bằng chứng hợp lệ, và điều này tương ứng với thực tế là thuật toán do OP đề xuất hoạt động theo (*). Nhưng chuyện gì sẽ xảy ra nếu có một cỗ máy phức tạp nào đó xảy ra để giải SAT, nhưng thực tế này không thể chứng minh được? Không phải tôi tin đó là trường hợp
Jarosław Błasiok

1
Quan niệm sai lầm mà tôi đề cập đến là: "nếu P = NP, thì Levins Universal Search đưa ra thuật toán đa thức thời gian giải quyết vấn đề NP-đầy đủ" hoặc như đôi khi được nêu: "Không thể chỉ có bằng chứng phi cấu trúc của P = NP, bởi vì của thuật toán Levins ". Cả hai đều sai - công thức Wikipedia trình bày phương pháp dừng trong đa thời gian trên các trường hợp CÓ của SUBSET SUM, nhưng không dừng lại ở tất cả các trường hợp NO - đó không phải là thuật toán quyết định tổng số tập hợp con trong polytime. Công thức OP tốt hơn cho mục đích, nhưng cần giả định mạnh hơn P = NP để quyết định SAT trong polytime.
Jarosław Błasiok

1
NPco-NP

1
Bây giờ cách để giải quyết vấn đề này, vì bạn không biết xác minh rõ ràng cho vấn đề unSAT, sẽ là cố gắng tìm một bằng chứng ngắn trong một số logic chính thức mà chúng ta đã biết và có thể xác minh (hãy để nó là tiên đề ZFC, hoặc Peano - chúng tôi là nhiều khả năng tìm thấy một bằng chứng ngắn trước đây), rằng trường hợp này là không thỏa đáng. Nhưng nếu người ta muốn chứng minh rằng có một bằng chứng ngắn như vậy trong logic chính thức này, thì người ta cần giả định mạnh hơn P = NP.
Jarosław Błasiok
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.