Từ điển học thuật Kỹ thuật và công nghệ

NP-khó là gì? Độ phức tạp, định lý Cook và giải pháp

Tiếng AnhNP-hard

Tên gọi khácđộ phức tạp NP-khóNP-hardbài toán NP-khólớp NP-khó

NP-khó là lớp các bài toán tính toán mà mọi bài toán trong lớp NP đều có thể quy dẫn thời gian đa thức về chúng, bao gồm cả các bài toán tối ưu hóa.

755 lượt xem Cập nhật 1/9/2026

NP-khó (NP-hard), trong lý thuyết độ phức tạp tính toán và khoa học máy tính lý thuyết, là lớp các bài toán tính toán có độ phức tạp ít nhất khó bằng bài toán khó nhất trong lớp NP. Theo định nghĩa hình thức, một bài toán ngôn ngữ LL được gọi là NP-khó nếu tồn tại một phép quy dẫn thời gian đa thức (polynomial-time reduction) ff từ mọi bài toán LNPL' \in \text{NP} về LL, sao cho với mọi chuỗi đầu vào ta có điều kiện tương đương xLf(x)Lx \in L' \Leftrightarrow f(x) \in L. Điều này đồng nghĩa với việc nếu tồn tại một thuật toán giải quyết được bài toán LL trong thời gian đa thức, thì mọi bài toán LL' thuộc lớp NP đều có thể giải được trong thời gian đa thức thông qua hàm quy dẫn ff.

Cơ sở lý thuyết và Định lý Cook-Levin

Nền tảng của lý thuyết tính toán hiện đại và khái niệm độ khó tính toán được khởi xướng bởi công trình đột phá của Cook (1971) trong kỷ yếu hội nghị ACM STOC:

Cook đã chứng minh định lý nền tảng Cook-Levin, khẳng định rằng bài toán thỏa mãn biểu thức logic Boolean (Boolean Satisfiability Problem - SAT) là bài toán NP-đầy đủ đầu tiên. Bằng cách mô phỏng hoạt động của máy Turing bất định (nondeterministic Turing machine) trong thời gian đa thức dưới dạng một công thức logic mệnh đề, Cook đã chứng minh rằng bất kỳ bài toán nào trong NP đều có thể quy dẫn đa thức về SAT. Do đó, SAT và các biến thể mở rộng của nó tạo thành chuẩn mực nền tảng để xác định tính chất NP-khó cho hàng loạt bài toán tính toán khác.

21 bài toán tổ hợp kinh điển của Karp và mạng lưới quy dẫn đa thức

Tiếp nối phát hiện của Cook, nghiên cứu mang tính bước ngoặt của Karp (1972) đã mở rộng lý thuyết sang lĩnh vực tối ưu hóa tổ hợp:

Karp đã phát triển một phương pháp luận có hệ thống về phép quy dẫn Karp (many-one reduction) và chứng minh rằng nhiều bài toán tối ưu tổ hợp kinh điển (như Clique, Vertex Cover, Set Cover, Hamiltonian Path, Knapsack và bài toán tô màu đồ thị Graph Coloring) đều là NP-đầy đủ. Công trình này chứng minh rằng độ khó tính toán không phải là hiện tượng cá biệt của logic hình thức mà là đặc tính phổ biến của hầu hết các cấu trúc tổ hợp rời rạc trong toán học và công nghệ thông tin.

Mối quan hệ phân cấp giữa P, NP, NP-khó và NP-đầy đủ

Trong cấu trúc hình học của không gian độ phức tạp, mối quan hệ giữa các lớp bài toán quyết định và bài toán tối ưu được biểu diễn qua cấu trúc tập hợp:

Sự phân bố này tạo thành quan hệ giữa các lớp như sau:

PNPNP-hard\text{P} \subseteq \text{NP} \subseteq \text{NP-hard}

Và ta có: NP-complete=NPNP-hard\text{NP-complete} = \text{NP} \cap \text{NP-hard}

Ý nghĩa của việc này là nếu một bài toán ngôn ngữ LL thuộc lớp NP-khó đồng thời nằm trong lớp NP thì LL chính là bài toán NP-đầy đủ. Và nếu một thuật toán thời gian đa thức tồn tại cho bất kỳ bài toán NP-đầy đủ nào, thì P=NP\text{P} = \text{NP}, điều mà hiện nay phần lớn các nhà khoa học máy tính giả định là PNP\text{P} \neq \text{NP}.

Tiêu chí so sánh Lớp P Lớp NP Lớp NP-đầy đủ (NP-Complete) Lớp NP-khó (NP-Hard)
Định nghĩa cốt lõi Giải được trong thời gian đa thức Kiểm tra chứng chỉ lời giải trong thời gian đa thức Thuộc NP và mọi bài toán NP đều quy dẫn về nó Ít nhất khó bằng bài toán khó nhất trong NP
Kiểu bài toán Chỉ bài toán quyết định Chỉ bài toán quyết định Chỉ bài toán quyết định Bao gồm quyết định, tối ưu hóa, đếm và tìm kiếm
Yêu cầu thuộc NP Bắt buộc Không bắt buộc (có thể nằm ngoài NP)
Ví dụ tiêu biểu Tìm đường đi ngắn nhất (Dijkstra) Kiểm tra chu trình Hamilton Dạng quyết định 3-SAT, Vertex Cover Dạng tối ưu hóa Traveling Salesman (TSP), Halting Problem

Quy trình chuẩn mực để chứng minh một bài toán là NP-khó

Để chứng minh một bài toán mới là NP-khó, kỹ sư hoặc nhà nghiên cứu sử dụng phương pháp quy dẫn thời gian đa thức từ một bài toán đã biết trước đó:

  1. Chọn một bài toán nguồn L1L_1 đã được chứng minh là NP-đầy đủ (hoặc NP-khó).
  2. Xây dựng thuật toán biến đổi ff sao cho với mọi trường hợp đầu vào xx, thỏa mãn tính tương đương logic: xL1f(x)L2x \in L_1 \Leftrightarrow f(x) \in L_2.
  3. Chứng minh rằng hàm biến đổi ánh xạ ff hoạt động với độ phức tạp tính toán thời gian đa thức.

Kỹ thuật này đảm bảo rằng nếu bài toán đích L2L_2 có thể giải được trong thời gian đa thức, thì theo chuỗi biến đổi, bài toán nguồn cũng giải được nhanh chóng — một điều bất khả thi khi giả thuyết PNP\text{P} \neq \text{NP} được giữ vững.

Định lý PCP và giới hạn độ khó xấp xỉ

Khi đối mặt với các bài toán tối ưu hóa NP-khó không thể giải chính xác trong thời gian thực tế, câu hỏi đặt ra là liệu ta có thể xấp xỉ lời giải gần tối ưu với sai số tùy ý hay không:

Công trình đột phá về Định lý PCP (Probabilistically Checkable Proofs) của Arora và cộng sự (1998) trên Journal of the ACM đã tạo nên một cuộc cách mạng trong lý thuyết xấp xỉ. Định lý PCP thiết lập mối liên kết giữa việc kiểm chứng ngẫu nhiên các chứng chỉ toán học và độ khó xấp xỉ của các bài toán NP-khó. Kết quả chỉ ra rằng đối với nhiều bài toán tối ưu hóa (như Max-3SAT, Maximum Clique hay Set Cover), việc tìm một lời giải xấp xỉ vượt qua một ngưỡng sai số nhất định cũng là một bài toán NP-khó, đặt ra giới hạn toán học tuyệt đối cho các thuật toán xấp xỉ thời gian đa thức.

Chiến lược và giải pháp kỹ thuật giải quyết bài toán NP-khó trong thực tiễn

Vì không có thuật toán thời gian đa thức chính xác tổng quát cho các bài toán NP-khó khi giả định PNP\text{P} \neq \text{NP}, ngành kỹ thuật công nghệ đã phát triển bốn nhóm giải pháp thực hành chủ đạo:

  • Thuật toán xấp xỉ có đảm bảo lý thuyết (Approximation Algorithms): Cung cấp lời giải trong thời gian đa thức với tỷ lệ sai số được chứng minh toán học nghiêm ngặt không vượt quá một hằng số xác định so với lời giải tối ưu tuyệt đối (ví dụ: thuật toán 2-xấp xỉ cho bài toán Vertex Cover).
  • Thuật toán Heuristic và Metaheuristic: Tận dụng các chiến lược tìm kiếm thông minh mô phỏng tự nhiên như thuật toán Di truyền (Genetic Algorithms), Tôi luyện thép mô phỏng (Simulated Annealing), Tối ưu hóa bầy đàn (Particle Swarm Optimization) để nhanh chóng tìm ra các lời giải khả thi chất lượng cao cho các bài toán công nghiệp quy mô lớn.
  • Thuật toán tham số hóa cố định (Fixed-Parameter Tractable - FPT): Tách biệt độ phức tạp lũy thừa khỏi kích thước dữ liệu đầu vào và giới hạn nó trong một tham số kích thước nhỏ cố định, cho phép giải chính xác bài toán trong thực tế khi tham số bị hạn chế.
  • Kỹ thuật Quy hoạch toán học nguyên (ILP/MIP Solvers): Áp dụng các công cụ giải thương mại và mã nguồn mở tiên tiến sử dụng phương pháp Nhánh và Cắt (Branch and Cut) kết hợp kỹ thuật cắt mặt phẳng để giải quyết các bài toán tối ưu lịch trình vận tải và điều phối logistics.

Tính toán lượng tử và giới hạn đối với lớp NP-khó

Một quan niệm phổ biến là sự ra đời của máy tính lượng tử sẽ tự động giải quyết được mọi bài toán NP-khó trong tích tắc, tuy nhiên các nghiên cứu lý thuyết lượng tử hiện đại đã chứng minh điều ngược lại:

Lớp độ phức tạp của máy tính lượng tử được mô hình hóa bởi lớp BQP (Bounded-error Quantum Polynomial-time). Mặc dù thuật toán Shor cho phép phân tích thừa số nguyên trong thời gian đa thức lượng tử (vốn thuộc lớp NP nhưng chưa từng được chứng minh là NP-đầy đủ hay NP-khó), và thuật toán tìm kiếm Grover chỉ cung cấp tốc độ tăng tốc bậc hai (quadratic speedup), hầu hết các nhà vật lý lượng tử và toán học lý thuyết đều tin rằng BQP không chứa lớp NP-khó. Điều này có nghĩa là ngay cả các siêu máy tính lượng tử tương lai cũng không thể giải quyết triệt để các bài toán NP-khó trong thời gian đa thức, củng cố vị thế của NP-khó như một giới hạn tự nhiên của mọi mô hình vật lý tính toán.

Vấn đề thiên niên kỷ P vs NP và tác động đối với khoa học hiện đại

Bài toán P=NP\text{P} = \text{NP} hay PNP\text{P} \neq \text{NP} là một trong bảy bài toán Thiên niên kỷ với giải thưởng một triệu USD do Viện Toán học Clay bảo trợ. Nếu một ngày nào đó ai đó chứng minh được P=NP\text{P} = \text{NP} thông qua một thuật toán thời gian đa thức giải quyết được một bài toán NP-khó, toàn bộ hệ thống mật mã khóa công khai (như RSA, đường cong Elliptic) bảo vệ mạng Internet toàn cầu sẽ sụp đổ, đồng thời mở ra kỷ nguyên tự động hóa hoàn toàn các chứng minh toán học và tối ưu hóa thiết kế sinh học phân tử.

Câu hỏi thường gặp

Bài toán NP-khó khác bài toán NP-đầy đủ như thế nào?

Bài toán NP-đầy đủ bắt buộc phải là bài toán quyết định và thuộc lớp NP, trong khi bài toán NP-khó có thể không thuộc NP (chẳng hạn như các bài toán tối ưu hóa hoặc bài toán dừng).

Làm thế nào để chứng minh một bài toán mới là NP-khó?

Bằng cách xây dựng một phép quy dẫn thời gian đa thức từ một bài toán đã biết là NP-đầy đủ hoặc NP-khó về bài toán mới cần chứng minh.

Định lý PCP mang lại ý nghĩa gì cho các bài toán tối ưu NP-khó?

Định lý PCP chứng minh rằng việc tìm lời giải xấp xỉ gần tối ưu vượt qua một ngưỡng sai số nhất định đối với nhiều bài toán tối ưu cũng là NP-khó.

Máy tính lượng tử có thể giải quyết được bài toán NP-khó trong thời gian đa thức không?

Không. Hầu hết các nhà khoa học lý thuyết đều tin rằng lớp độ phức tạp lượng tử BQP không chứa lớp NP-khó, và máy tính lượng tử không thể giải triệt để NP-khó trong thời gian đa thức.

Các nghiên cứu khoa học về “np khó”

Công bố nổi bật trên thế giới và tại Việt Nam, kèm tóm tắt theo hướng chủ đề.

Trích dẫn nhiều nhất

  • Độ khó và tính không xấp xỉ của việc tối thiểu hóa các chuỗi phân biệt thích ứng

    Uraz Cengiz Türker và cộng sự2014

    AI tóm tắt

    Nghiên cứu tính toán độ phức tạp thuật toán và làm sáng tỏ tính chất thuộc lớp bài toán np khó đối với bài toán tối thiểu hóa chuỗi phân biệt thích ứng ADS trong kiểm thử máy hữu hạn trạng thái FSM. Kết quả giải tích xác lập các giới hạn chặn dưới về tính không thể xấp xỉ đa thức của bài toán.

Tài liệu tham khảo

  1. Cook, S. A. (1971). The complexity of theorem-proving procedures. In Proceedings of the third annual ACM symposium on Theory of computing (pp. 151–158). DOI: 10.1145/800157.805047
  2. Karp, R. M. (1972). Reducibility among Combinatorial Problems. In Complexity of Computer Computations (pp. 85–103). Springer, Boston, MA. DOI: 10.1007/978-1-4684-2001-2_9
  3. Arora, S., Lund, C., Motwani, R., Sudan, M., & Szegedy, M. (1998). Proof verification and the hardness of approximation problems. Journal of the ACM, 45(3), 501–555. DOI: 10.1145/278298.278306