Thuật toán có thời gian chạy phụ thuộc vào P so với NP


18

Có một ví dụ rõ ràng về thuật toán có thuộc tính sao cho nếu PNP thì thuật toán này không chạy trong thời gian đa thức và nếu P=NP thì nó chạy trong thời gian đa thức?


9
Sắp xếp Nếu P = NP, thuật toán tìm kiếm phổ quát của Levin chạy trong thời gian đa thức khi chấp nhận các trường hợp en.wikipedia.org/wiki/ Kẻ
Emil Jeřábek hỗ trợ Monica

@Emil: nếu P = NP thì P = coNP, vậy bạn có thể đồng thời thực hiện tìm kiếm Levin trên phần bổ sung của ngôn ngữ của mình không, do đó đưa ra thuật toán đa thời gian thực sự trong mọi trường hợp?
Joshua Grochow

3
@JoshuaGrochow Để diễn đạt ngôn ngữ dưới dạng coNP, trước tiên tôi cần biết thuật toán polytime cho NP, đánh bại toàn bộ mục đích.
Emil Jeřábek hỗ trợ Monica

Câu trả lời:


17

Nếu bạn cho rằng P=?NP có thể chứng minh được bằng PA (hoặc ZFC), một ví dụ tầm thường là như sau:

Input: N   (integer in binary format)
For I = 1 to N do
begin
  if I is a valid encoding of a proof of P = NP in PA (or ZFC)
    then halt and accept
End
Reject

Một ví dụ khác - ít tầm thường hơn - không dựa vào giả định nào như sau:

Input: x   (boolean formula)
Find the minimum i such that
  1) |M_i| < log(log(|x|))  [ M_1,M_2,... is a standard fixed TM enumeration] 
  2) and  M_i solves SAT correctly 
       on all formulas |y| < log(log(|x|))
          halting in no more than |y|^|M_i| steps
          [ checkable in polynomial time w.r.t. |x| ]
  if such i exists simulate M_i on input x 
      until it stops and accept/reject according to its output
      or until it reaches 2^|x| steps and in this case reject;
  if such i doesn't exist loop for 2^|x| steps and reject.

Nếu P=NP , thuật toán sẽ sớm hay muộn - giả sử trên đầu vào x0 - tìm chỉ số của máy Turing thời gian đa thức (hoặc phiên bản đệm của nó) MSAT giải SAT trong O(|x||MSAT|) và cho tất cả các đầu vào lớn hơn x0 sẽ tiếp tục mô phỏng nó và tạm dừng trong thời gian đa thức (lưu ý rằng bước 2 cũng có thể được kiểm tra trong thời gian đa thức). Nói cách khác, nếu P=NP thuật toán giải SAT trong thời gian đa thức trên một số trường hợp hữu hạn.

PNP


Làm thế nào để tôi quyết định một cách ngớ ngẩn nếu "Tôi là một mã hóa hợp lệ của bằng chứng P = NP trong PA (hoặc ZFC)"?
dùng2925716

I

2
Giả định cao.
Jirka Hanika

1
Nếu P ≠ NP, thời gian chạy của thuật toán vô điều kiện là siêu đa thức (theo yêu cầu), nhưng nếu NP chỉ siêu bội một chút, không theo cấp số nhân. Chúng ta có thể thay đổi thuật toán để biến nó thành số mũ, nhưng có thể làm cho nó theo cấp số nhân (trái ngược với chỉ số mũ) nếu P ≠ NP có khả năng khó như giải P = NP.
Dmytro Taranovsky

1
x|Mi|2x
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.