Định nghĩa 3.4. Ta nóiLlà một bài toán NP-hard nếu nó thỏa mãn điều kiện thứ hai trong định nghĩa NP-C, tức là
∀L0 ∈NP ∃ phép thu đa thứcL0 vềL Như vậy mọi bài toán NP-C đều là NP-khó.
Các bài toán sau đây là NP-hard, nhưng không biết có thuộc NP- không: bài toán cái túi, bài toán đóng thùng.
Lớp các bài toán NP-hard rộng hơn lớp NP-C vì nó bao gồm cả các bài toán thuộc NP, cũng như các bài toán không thuộc NP.
Giả thiết về quan hệ giữa các lớp NP, NP-C và NP-hard Hướng giải quyết các bài toán NP-C hoặc NP-hard
Tìm lời giải gần đúng (gần tối ưu) chấp nhận được (bằng các thuật giải heuristic - thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người).
Chương 4
Các thuật toán xấp xỉ giải các bài toán NP-C
4.1. Một số khái niệm
Như đã nói ở chương trước, việc tìm nghiệm của các bài toán NP-C với kích cỡ đầu vào n tương đối lớn là rất khó khăn, thường là không khả thi vì độ phức tạp có thể nói là hàm mũ. Đây là những bài toán nan giải hay còn gọi là bất trị. Vì thế thay cho việc tìm lời giải đúng (lời giải tối ưu) người ta phải tìm nghiệm gần đúng (lời giải gần tối ưu) mà có thể chấp nhận được.
• Giải thuật xấp xỉ: Xét trường hợp dữ kiệnIcủa bài toán tối ưuP. GọiF∗(I)
là giá trị của lời giải tối ưu đối với I. Giải thuậtGđược gọi là giải thuật xấp xỉ cho bài toán P nếu nó luôn tạo ra một lời giải khả thi (feasible solution) mà giá trị Fˆ(I)của lời giải này gần vớiF∗(I)đối với mọi dữ liệuI của bài toánP.
• Giải thuật xấp xỉ tuyệt đối: Giải thuật G được gọi là giải thuật xấp xỉ tuyệt đối cho bài toán P ⇔với mọi trường hợpI củaP tồn tại hằng sốK
|F∗(I)−Fˆ(I)| ≤K
ở đây Fˆ(I)là giá trị của lời giải do Gtạo ra đối với dữ kiệnI.
• Giải thuật f(n)-xấp xỉ: Giải thuật Gđược gọi là giải thuật f(n)-xấp xỉ cho bài toán P ⇔với mọi dữ kiệnI của bài toánP thì
|F∗(I)−Fˆ(I)|
ˆ
F(I) ≤f(n), với n là kích thước củaI.
44 Các thuật toán xấp xỉ giải các bài toán NP-C