
Der Ausdruck NP-vollständig wird häufig benutzt aber nicht immer richtig verstanden. Wenn man es praktisch betrachtet, handelt es sich bei einem NP-vollständigen Problem um eine Aufgabe, die man auf dem Computer nur dann lösen kann, wenn man bereit ist, außergewöhnlich lange Zeit auf ihre Lösung zu warten. Theoretisch kann man ein NP-vollständiges Problem am besten als eine Anwendung des Satzes von Cook verstehen. Das erste NP-vollständige Problem, die Erfüllbarkeit (vgl. Kapitel 34), wurde 1970 von Stephen Cook während der Fertigstellung seiner Dissertation in Informatik an der Universität von Kalifornien in Berkeley gefunden. Cook entdeckte eine allgemeine Transformation, die jedes Problem einer bestimmten großen, NP genannten Klasse auf ein einziges Problem der Logik abbildet, das Erfüllbarkeitsproblem (SAT)1 genannt wird (Abbildung 41.1).