Là một cách tiếp cận trực quan, hãy xem xét rằng việc xử lý các vấn đề hoàn thành NP không phải lúc nào cũng khó như trường hợp chung. Độ bão hòa nhị phân (SAT) là NP-đầy đủ, nhưng việc tìm giải pháp cho A v B v C v D v ... Các thuật toán phức tạp chỉ ràng buộc trường hợp xấu nhất, không phải là trường hợp trung bình, hoặc thậm chí là 90% .
Cách dễ nhất để giảm một vấn đề hoàn thành NP thành một cái gì đó đơn giản hơn là chỉ cần loại trừ các phần cứng. Đó là gian lận, vâng. Nhưng thường thì các phần còn lại vẫn hữu ích để giải quyết các vấn đề trong thế giới thực. Trong một số trường hợp, ranh giới giữa "dễ" và "khó là dễ vẽ. Như bạn đã chỉ ra cho TSP, có một sự giảm bớt khó khăn khi bạn hạn chế vấn đề xung quanh các hướng" bình thường "mà người ta có thể nghĩ đến. , khó hơn để tìm ra những cách hữu ích trong cuộc sống thực để phân tách các phần dễ và khó.
Để hoàn toàn rời khỏi vương quốc của CS và toán học, hãy xem xét một chiếc xe cũ. Bạn của bạn muốn lái nó. Nếu bạn phải nói với anh ta, "này, chiếc xe hoạt động hoàn hảo. Chỉ cần không mang nó trên 95mph. Có một sự chao đảo khó chịu sẽ khiến bạn ngã ra đường", có lẽ đó không phải là vấn đề lớn. Bạn của bạn có lẽ chỉ muốn mang nó đi khắp thị trấn. Tuy nhiên, nếu bạn phải nói với anh ta, "bạn phải điều khiển bộ ly hợp vừa phải để đi từ thứ 1 đến thứ 2, hoặc động cơ sẽ bị đình trệ", bạn của bạn có thể sử dụng xe quanh thị trấn mà không cần đào tạo nhỏ.
Tương tự như vậy, nếu một vấn đề hoàn thành NP xảy ra chỉ gặp khó khăn trong các trường hợp kỳ lạ, nó sẽ giảm độ phức tạp khá nhanh khi bạn nhìn vào tên miền phụ. Tuy nhiên, nếu gặp khó khăn trong các trường hợp thường xảy ra, sẽ không có nhiều tên miền phụ hữu ích tránh được phần cứng.