Nếu một vấn đề là NP-Hard, điều đó có nghĩa là tồn tại một lớp các trường hợp của vấn đề đó là NP-Hard. Hoàn toàn có thể cho các lớp cá thể cụ thể khác có thể giải được trong thời gian đa thức.
Ví dụ, xem xét vấn đề tìm 3 màu của đồ thị . Đây là một vấn đề NP-Hard nổi tiếng. Bây giờ hãy tưởng tượng rằng các thể hiện của nó bị giới hạn trong các biểu đồ, ví dụ như cây. Rõ ràng bạn có thể dễ dàng tìm thấy 3 màu của cây trong thời gian đa thức (thực sự bạn cũng có thể tìm thấy 2 màu).
Xem xét các vấn đề quyết định trong một giây. Một phương pháp chứng minh độ cứng của bài toán quyết định đang nghĩ ra cách giảm đa thức (Karp) từ một bài toán khác được gọi là NP-Hard. Trong giảm này, bạn thấy rằng có tồn tại một hàm mà các bản đồ mỗi trường hợp của vấn đề để một thể hiện của vấn đề sao cho:
là một ví dụ có cho là một ví dụ có cho . Điều này ngụ ý rằng việc giải phải "ít nhất là khó" như tự giải .Q f q Q P q QPQfqQPqP f ( q ) qQ⟺f(q)Pf(q)q
Thông báo như thế nào nó không cần thiết cho việc hình ảnh của là tương đương với các thiết lập của các trường hợp của . Do đó, nó hoàn toàn có khả năng cho vấn đề bị giới hạn trong một số tập hợp con của trường hợp không khó.P PfPP
Để trở về câu hỏi ban đầu của bạn:
- Bài toán gán có thể được giải trong thời gian đa thức, nghĩa là, một giải pháp cho từng trường hợp của bài toán gán có thể được tính trong thời gian đa thức.
- ILP là NP-Hard: nói chung có thể khó tính toán một giải pháp cho vấn đề ILP, tức là có những trường hợp ILP khó.
- Một số trường hợp cụ thể của ILP có thể được giải quyết trong thời gian đa thức.