Wenn ein Problem NP-schwer ist, bedeutet dies, dass es eine Klasse von Instanzen dieses Problems gibt, die NP-schwer sind. Es ist durchaus möglich, dass andere spezifische Klassen von Instanzen in Polynomzeit lösbar sind.
Betrachten Sie zum Beispiel das Problem, eine 3-Färbung eines Graphen zu finden . Es ist ein bekanntes NP-Hard-Problem. Stellen Sie sich nun vor, dass seine Instanzen auf Diagramme beschränkt sind, bei denen es sich beispielsweise um Bäume handelt. Es ist klar, dass Sie in Polynomzeit leicht eine 3-Färbung eines Baumes finden können (tatsächlich können Sie auch eine 2-Färbung finden).
Betrachten Sie Entscheidungsprobleme für eine Sekunde. Ein Verfahren zum Nachweis der Härte eines Entscheidungsproblems besteht darin, eine Polynomreduktion (Karp) aus einem anderen Problem , von dem bekannt ist, dass es NP-hart ist. In dieser Reduktion zeigen Sie, dass es eine Funktion , die jede Instanz des Problems einer Instanz des Problems so zuordnet, dass:
eine Ja-Instanz für eine Ja-Instanz für . Dies impliziert, dass das Lösen von "mindestens so schwierig" sein muss wie das Lösen von selbst.Q f q Q P q Q.PQfqQPqP f ( q ) qQ⟺f(q)Pf(q)q
Beachten Sie, dass es nicht erforderlich ist, dass das Bild von gleich der Menge der Instanzen von . Daher ist es durchaus möglich, dass Problem das auf eine Teilmenge von Instanzen beschränkt ist, nicht schwer ist.P P.fPP
Um zu Ihrer ursprünglichen Frage zurückzukehren:
- Das Zuweisungsproblem kann in Polynomzeit gelöst werden, dh eine Lösung für jede Instanz des Zuweisungsproblems kann in Polynomzeit berechnet werden.
- ILP ist NP-schwer: Im Allgemeinen kann es schwierig sein, eine Lösung für ein ILP-Problem zu berechnen, dh es gibt Fälle von ILP, die schwierig sind.
- Einige spezifische Fälle von ILP können in Polynomzeit gelöst werden.