Bộ giải NP tối ưu


12

Khắc phục một vấn đề tìm kiếm hoàn chỉnh NP, ví dụ như dạng tìm kiếm SAT. Tìm kiếm Levin cung cấp một thuật toán để giải là tối ưu theo một nghĩa nào đó. Cụ thể, thuật toán là "Thực thi tất cả các chương trình có thể phù hợp với đầu vào , một khi một số trả về câu trả lời kiểm tra xem nó có đúng không". Đó là tối ưu theo nghĩa đã đưa ra một chương trình giải quyết với độ phức tạp thời gian , độ phức tạp thời gian của thỏa mãn L X P x P y P X t P ( n ) t L ( n ) LX{0,1}×{0,1}LXPxPyPXtP(n)tL(n)L

tL(n)<2|P|p(tP(n))

Trong đó là một đa thức cố định phụ thuộc vào mô hình tính toán chính xácp

L có thể được hình thành theo cách mạnh mẽ hơn. Cụ thể, với mọi và một chương trình giải với lời hứa trong thời gian , độ phức tạp thời gian của bị giới hạn ở đầu vào trong thỏa mãn Q X M t M Q ( n ) t M L ( n ) L MM{0,1}QXMtQM(n)tLM(n)LM

tLM(n)<2|Q|q(n,tQM(n))

Trong đó là một đa thức cố định. Sự khác biệt quan trọng là có thể là đa thức ngay cả khit M Q ( n ) P N PqtQM(n)PNP

"Điểm yếu" rõ ràng của là yếu tố lớn trong ràng buộc này. Dễ dàng thấy rằng nếu có một thuật toán thỏa mãn một ràng buộc có cùng dạng với thay thế bằng một đa thức trongthì . Điều này là do chúng ta có thể coi là một chương trình giải một số thể hiện của bằng cách mã hóa câu trả lời. Tương tự, nếu có thể được thay thế bằng hàm số mũ củasau đó giả thuyết thời gian theo cấp số nhân bị vi phạm. Tuy nhiên, câu trả lời cho câu hỏi sau ít rõ ràng hơn (với tôi):2 | Q | 2 | Q | | Q | P = N P Q X 2 | Q | | Q |L2|Q|2|Q||Q|P=NPQX2|Q||Q|

Giả sử giả thuyết thời gian theo cấp số nhân và các phỏng đoán nổi tiếng khác (ví dụ: không suy biến của hệ thống phân cấp đa thức, sự tồn tại của các hàm một chiều) nếu cần, có một thuật toán giải cho mọi và một chương trình giải với lời hứa trong thời gian , độ phức tạp thời gian của bị giới hạn ở đầu vào trong thỏa mãnX M { 0 , 1 } Q X M t M Q ( n ) t M A ( n ) A MAXM{0,1}QXMtQM(n)tAM(n)AM

tAM(n)<f(|Q|)q(n,tQM(n))+g(|Q|)

Trong đó là đa thức, là cấp số nhân và là tùy ýqfg

Nếu câu trả lời là tích cực, có thể là đa thức không? Tốc độ tăng trưởng của (rõ ràng ít nhất là theo cấp số nhân theo ETH) là gì? Nếu câu trả lời là âm, đa thức có thể tồn tại nếu ETH sai nhưng P N P không?fgfPNP

Câu trả lời:


12

Hãy xem xét thuật toán sau (một biến thể của thuật toán Levin):

Chạy thuật toán đầu tiên song song. Ngoài ra, chạy song song một thuật toán brute-force thử tất cả các giải pháp có thể từng cái một. (Chạy tất cả các thuật toán với cùng tốc độ.)n

Dừng lại khi một trong các thuật toán tìm thấy một giải pháp.

Xem xét hai trường hợp (đưa ra một đầu vào có độ dài n ):xn

  • là một trong nhữngthuật toán n đầu tiên. Rồi thời gian chạy là O ( n t M Q ( n ) ) p o l y ( n ) .QnO(ntQM(n))poly(n)

  • không phải là một trong nhữngthuật toán n đầu tiên(do đó n < 2 | Q | ). Sau đó, thời gian chạy được giới hạn bởi thời gian chạy của thuật toán brute-force. Chúng ta có thời gian chạy là 2 n O ( 1 ) = 2 2 O ( | Q | ) .Qnn<2|Q|2nO(1)=22O(|Q|)

Chúng tôi có

tAM(n)poly(n)tQM(n)+22O(|Q|).

(Ở đây, là đa thức và g ( n ) là hàm mũ đôi trong n ; chúng ta có thể cải thiện sự phụ thuộc của g ( n ) vào n bằng cách làm xấu đi sự phụ thuộc của f ( n ) vào n .)f(n)g(n)ng(n)nf(n)n


Có một biến thể của điều này thỏa mãn một ràng buộc tốt hơn trong một số ý nghĩa, mặc dù nó không phải là hình thức tôi yêu cầu. Cụ thể, thay vì sử dụng thuật toán brute-force, hãy chạy tìm kiếm Levin thông thường . Điều này mang lại cùng một ràng buộc với thuật ngữ thứ hai được thay thế bằng ~ 2|Q|tQM(2|Q|)
Vanessa
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.