Jika masalah adalah NP-Hard itu berarti ada kelas contoh masalah yang NP-Hard. Sangat memungkinkan bagi kelas instance spesifik lainnya untuk dipecahkan dalam waktu polinomial.
Pertimbangkan misalnya masalah menemukan 3-warna grafik . Ini adalah masalah NP-Hard yang terkenal. Sekarang bayangkan contohnya dibatasi untuk grafik yang, misalnya, pohon. Jelas Anda dapat dengan mudah menemukan 3 warna pohon dalam waktu polinomial (memang Anda juga dapat menemukan 2 warna).
Pertimbangkan masalah keputusan sesaat. Metode untuk membuktikan kekerasan dari masalah keputusan adalah merancang pengurangan polinomial (Karp) dari masalah lain yang dikenal sebagai NP-Hard. Dalam pengurangan ini Anda menunjukkan bahwa ada fungsi yang memetakan setiap contoh masalah ke sebuah contoh dari masalah sehingga:
adalah contoh ya untuk adalah contoh ya untuk . Ini menyiratkan bahwa penyelesaian harus "setidaknya sama sulitnya" dengan penyelesaian itu sendiri.Q f q Q P q QPQfqQPqP f ( q ) qQ⟺f(q)Pf(q)q
Perhatikan bagaimana hal itu tidak diperlukan untuk citra untuk menjadi sama dengan himpunan contoh dari . Oleh karena itu sangat mungkin untuk masalah terbatas pada beberapa bagian contoh untuk tidak sulit.P PfPP
Untuk kembali ke pertanyaan awal Anda:
- Masalah penugasan dapat diselesaikan dalam waktu polinomial, yaitu solusi untuk setiap contoh masalah penugasan dapat dihitung dalam waktu polinomial.
- ILP adalah NP-Hard: secara umum mungkin sulit untuk menghitung solusi untuk masalah ILP, yaitu ada beberapa contoh ILP yang sulit.
- Beberapa contoh ILP spesifik dapat diselesaikan dalam waktu polinomial.