Intuitiv ist ein Kernelisierungsalgorithmus ein Algorithmus, der in Polynomzeit eine bestimmte Instanz vorverarbeitet und eine Instanz ausgibt, deren Größe im Parameter begrenzt ist. Das Ziel der Kernelisierung ist (mindestens) zweifach. Wir erhalten nachweisbare Leistungsgarantien, dh wir können Obergrenzen für die Ausgabeinstanz nachweisen, die sowohl beim Entwurf von Algorithmen als auch als Komplexitätsmaß Anwendung findet.
Formal gesehen ist ein Kernelisierungsalgorithmus (oft als Kernel bezeichnet) ein Algorithmus für ein Problem, das bei einer Eingabe auftritt (G,k)gibt eine äquivalente Instanz aus (G′,k′) mit max{|G′|,k′}≤f(k) für eine Funktion f. Darüber hinaus muss der Algorithmus in Polynomzeit ausgeführt werden.
Das folgende Ergebnis zeigt, dass die Leistung von Kerneln sozusagen der Leistung der Traktierbarkeit fester Parameter ( PDF ) entspricht.
Satz (Folklore). Ein Problem ist ein fester Parameter, der genau dann nachvollziehbar ist, wenn er einen Kernel zulässt und entscheidbar ist.
Obwohl der Begriff des Kernels mit der Traktierbarkeit fester Parameter übereinstimmt, gibt es eine stärkere Version der Kernelisierung, bei der wir die Funktion fordern f oben ein Polynom sein.
Wenn Sie die ursprünglichen Definitionen sehen möchten, empfehle ich Ihnen, das Buch von Downey und Fellows über parametrisierte Komplexität in die Hand zu nehmen oder mit Niedermeiers oben erwähnter Habilitationsarbeit zu beginnen. Es gibt auch einen Wikipedia-Artikel über Kernelisierung .