Sehr viele in der Praxis auftretende Probleme sind NP-schwer und damit im Allgemeinen (vermutlich) nicht in polynomieller Zeit lösbar. Dennoch können diese Probleme häufig effizient gelöst werden, da die Eingaben "gutartig" sind. Eine Möglichkeit diese Gutartigkeit der Instanzen formal zu fassen bietet die Betrachtung der parametrisierten Komplexität. Dabei assoziiert man mit jeder Instanz einen Parameter k, der ein Maß für die Komplexität der Eingabe darstellt. Ziel ist es dann, einen Algorithmus zu finden, dessen Laufzeit nur polynomiell von der Eingabegröße n aber ggf. exponentiell von dem Parameter k abhängt. Erhält man beispielsweise einen Algorithmus mit Laufzeit O(2k*n), so widerspricht das nicht der Annahme, dass es keinen Algorithmus mit polynomieller Laufzeit gibt, da theoretisch k=n gelten kann. Betrachtet man allerdings gutartige Instanzen, bei denen k als konstant angenommen werden kann, so hat der oben genannte Algorithmus lineare Laufzeit. Im Vergleich zur groben Klassifizierung eines Problems als polynomiell lösbar bzw. NP-schwer bietet die parametrisierte Betrachtungsweise also eine deutlich differenziertere Sicht auf schwere Probleme.