MathLabs
Định lýĐã chứng minh

Một bài toán NP-đầy đủ dễ giải sẽ sụp đổ P và NP

Phát biểu

Nếu BB là NP-đầy đủ và B∈PB \in P, thì P=NPP = NP.

Vì sao đúng?

Tính NP-đầy đủ của BB nghĩa là mọi bài toán NP đều có thể được viết lại, trong thời gian đa thức, thành một thể hiện của BB. Nếu bản thân BB sau đó có thể giải trong thời gian đa thức, việc nối bước viết lại và bước giải lại với nhau cũng giải được bài toán NP gốc trong thời gian đa thức — nên chỉ một bài toán NP-đầy đủ khả thi sẽ kéo mọi bài toán NP xuống P cùng với nó.

Phác thảo chứng minh

Giả sử BB là NP-đầy đủ và có một thuật toán giải BB trong thời gian O(nk1)O(n^{k_1}). Lấy bất kỳ A∈NPA \in NP; theo tính NP-đầy đủ của BB, A≤pBA \le_p B, nghĩa là tồn tại một hàm quy dẫn ff tính được trong thời gian O(nk2)O(n^{k_2}) biến các thể hiện của AA thành thể hiện của BB trong khi bảo toàn đáp án có/không.

Với một đầu vào xx độ dài nn của AA, trước tiên tính f(x)f(x): việc này mất thời gian O(nk2)O(n^{k_2}), và đặc biệt đầu ra f(x)f(x) có độ dài nhiều nhất O(nk2)O(n^{k_2}) (một thuật toán thời gian đa thức không thể viết ra nhiều đầu ra hơn thời gian nó chạy). Sau đó chạy thuật toán thời gian đa thức cho BB trên f(x)f(x): vì ∣f(x)∣=O(nk2)|f(x)| = O(n^{k_2}), việc này mất thời gian O((nk2)k1)=O(nk1k2)O\big((n^{k_2})^{k_1}\big) = O(n^{k_1 k_2}).

Tổng thời gian chạy là O(nk2)+O(nk1k2)=O(nk1k2)O(n^{k_2}) + O(n^{k_1 k_2}) = O(n^{k_1 k_2}), vẫn là một đa thức theo nn (hợp của hai đa thức là một đa thức). Theo tính đúng đắn của phép quy dẫn, xx là thể hiện có đáp án "có" của AA khi và chỉ khi f(x)f(x) là thể hiện có đáp án "có" của BB, nên thủ tục kết hợp này quyết định đúng AA trong thời gian đa thức.

Vì A∈NPA \in NP là bất kỳ, mọi bài toán NP đều có một thuật toán thời gian đa thức, tức NP⊆PNP \subseteq P. Kết hợp với bao hàm luôn đúng P⊆NPP \subseteq NP, ta có P=NPP = NP.

Chủ đề chứa định lý này

Chứng minh từng bước

Chưa có chứng minh từng bước cho định lý này.

Tài liệu tham khảo

  1. Stephen A. Cook (1971). The Complexity of Theorem-Proving Procedures · DOI:10.1145/800157.805047
  2. Michael Sipser (2012). Introduction to the Theory of Computation
  3. Michael R. Garey, David S. Johnson (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness
  4. Clay Mathematics Institute (2000). P vs NP Problem