Nếu P = NP, chúng ta có thể có được bằng chứng về phỏng đoán của Goldbach không?


35

Đây là một câu hỏi ngây thơ, ngoài chuyên môn của tôi; xin lỗi trước.

Phỏng đoán của Goldbach và nhiều câu hỏi chưa được giải trong toán học có thể được viết dưới dạng các công thức ngắn trong phép tính vị ngữ. Ví dụ, bài viết của Cook "Máy tính có thể thường xuyên khám phá bằng chứng toán học không?" xây dựng phỏng đoán như

n[(n>22|n)rs(P(r)P(s)n=r+s)]

Nếu chúng ta hạn chế sự chú ý đến các bằng chứng dài đa thức, thì các định lý với các bằng chứng đó nằm trong NP. Vì vậy, nếu P = NP, chúng ta có thể xác định liệu Ví dụ của Goldbach có đúng trong thời gian đa thức hay không.

Câu hỏi của tôi là: chúng ta cũng có thể đưa ra một bằng chứng trong thời gian đa thức không?

Chỉnh sửa . Theo nhận xét của Peter Shor và Kaveh, tôi đáng lẽ phải đủ điều kiện tuyên bố rằng chúng tôi có thể xác định xem phỏng đoán của Goldbach có đúng không nếu đó thực sự là một trong những định lý với một bằng chứng ngắn. Điều mà tất nhiên chúng ta không biết!


8
Đầu tiên, để đưa ra một bằng chứng ngắn (<1000 trang?) Về phỏng đoán của Goldbach, cần phải có một bằng chứng ngắn. P = NP không có liên quan đến điều đó.
Peter Shor

4
@Suresh, @Kaveh: Bạn dường như đang hiểu sai điều này. Ở đây chúng tôi có một ví dụ cụ thể của một vấn đề tìm kiếm NP. Bộ định lượng có liên quan ở đây là sự tồn tại của một bằng chứng (trong một hệ thống chính thức phù hợp) của định lý.
Kristoffer Arnsfelt Hansen

2
Một lưu ý khác là chúng ta thực sự có thể viết ra một thuật toán, rằng nếu P = NP sẽ tìm thấy một bằng chứng cho một câu lệnh đã cho nếu nó tồn tại trong đa thức thời gian theo độ dài của câu lệnh và độ dài của chứng minh ngắn nhất. (đa thức này là một ràng buộc giữ cho tất cả các định lý), tuy nhiên, đây sẽ là một thuật toán "thiên văn học".
Kristoffer Arnsfelt Hansen

4
@Joe: Không, tôi thực sự có thể viết thuật toán xuống ngay bây giờ! (Thậm chí không biết nếu P = NP). Ý tưởng là những gì được gọi là tìm kiếm phổ quát của Levin.
Kristoffer Arnsfelt Hansen

4
@Kristoffer: Tuyệt! Không biết về LS. Tôi thấy rằng Marcus Hutter có một cách ứng biến trên LS: "Thuật toán nhanh nhất và ngắn nhất cho tất cả các vấn đề được xác định rõ". Tạp chí quốc tế về nền tảng của khoa học máy tính, 13 (3): 431-443, 2002.
Joseph O'Rourke

Câu trả lời:


27

Thật!

Nếu P = NP, không chỉ chúng ta có thể quyết định liệu có tồn tại một bằng chứng về độ dài n cho Giả thuyết của Goldbach (hoặc bất kỳ tuyên bố toán học nào khác) hay không, mà chúng ta cũng có thể tìm thấy nó một cách hiệu quả!

Tại sao? Bởi vì chúng ta có thể hỏi: có bằng chứng nào được quy định trên bit đầu tiên không ..., sau đó, có bằng chứng nào được quy định trên hai bit đầu tiên là .... và cứ thế ...

Và làm thế nào bạn biết n? Bạn sẽ chỉ cần thử tất cả các khả năng, theo thứ tự tăng dần. Khi chúng tôi thực hiện một bước trong khả năng thứ i, chúng tôi cũng thử một bước trong mỗi khả năng 1 .. (i-1).


3
Đây không phải là thuật toán tìm kiếm phổ quát của Levin sao?
Mohammad Al-Turkistany

2
@turkistany: đúng vậy!
Dana Moshkovitz

25

Dana đã trả lời câu hỏi. Nhưng đây là một số ý kiến ​​về mặt thực tế.

P=NPP=NPP=coNP

NPlP=NPl

P=NPllP=NPPDTime(n2)), sau đó người ta có thể lấy thuật toán này và chạy nó để kiểm tra bằng chứng về tính khả thi nhưng độ dài rất lớn sẽ lớn hơn bất kỳ bằng chứng nào mà con người có thể đưa ra, và nếu thuật toán không tìm thấy câu trả lời, thì câu thực tế là không thể chứng minh. Thủ thuật mà Dana đã đề cập cũng sẽ làm việc ở đây để tìm bằng chứng.

Đối với phương tiện thực tế:

  1. P=NPDTime(10000n10000)

  2. nó sẽ tìm thấy một bằng chứng chỉ khi có một (tức là câu không phải là câu không thể giải quyết được trong ZFC), hơn nữa bằng chứng phải ngắn gọn một cách khả thi.

  3. PNPNP=DTime(nlogn)

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.