Parametrisierter Algorithmus

Die parametrisierte Algorithmik i​st ein relativ junges Teilgebiet d​er theoretischen Informatik, i​n dem genauer untersucht wird, welche Instanzen v​on NP-vollständigen Problemen effizient z​u lösen sind. Dabei w​ird untersucht, v​on welchen Faktoren (Parametern) d​ie Laufzeit d​er Algorithmen i​m Wesentlichen abhängt. Zum Beispiel s​ind viele Graphen-Probleme schnell lösbar für Graphen m​it kleiner Baumweite.

Formal ist ein Problem parametrisierbar (auch: fixed parameter tractable oder FPT), wenn ein Algorithmus existiert, der es mit einer Laufzeit von löst, wobei f eine berechenbare Funktion, k der Parameter, p ein beliebiges Polynom und n die Eingabelänge (z. B. bei Graphenproblemen die Anzahl der Knoten und Kanten) ist.

Man beachte, dass ein Problem mit unterschiedlichen Parametern sowohl FPT, als auch nicht-FPT sein kann. Zum Beispiel ist das Cliquenproblem nicht-FPT, wenn der Parameter die Größe einer maximalen Clique ist, aber FPT, wenn der Parameter die Baumweite oder der Maximalgrad ist. Man sagt auch, dass ein Problem parametrisierbar in dem entsprechenden Parameter ist, z. B. "Das Cliquen-Problem ist parametrisierbar in der Baumweite". Anschaulich ist ein Parameter, in dem ein NP-vollständiges Problem parametrisierbar ist, eine Eigenschaft, die das exponentielle Wachstum der Laufzeiten verursacht, da diese Probleme schnell lösbar sind, bis auf Instanzen, bei denen dieser Parameter groß ist.

In der Praxis ist f oft eine unangenehme Funktion wie , man geht im Allgemeinen aber davon aus, dass k sehr klein ist (weil dies bei Instanzen, die in der Praxis vorkommen, häufig der Fall ist) und n groß werden kann. Parametrisierte Algorithmen sind in der Praxis (wo k klein ist) auch für n=50–100 praktikabel, wogegen z. B. gewöhnliche Brute-Force Algorithmen mit Laufzeiten wie schon ab etwa n=20 nicht mehr praktikabel sind.

Das Gebiet w​urde von Rod Downey u​nd Michael Fellows i​n den 1990er Jahren begründet.

FPT-Reduktion

Ähnlich der Polynomialzeitreduktion, ist eine FPT-Reduktion eine Funktion, die selbst in FPT-Zeit berechenbar ist und eine Instanz eines Problems und den Parameter abbildet auf eine Instanz eines Problems und einen Parameter mit der Einschränkung, dass eine positive Instanz für ist genau dann wenn eine positive Instanz für ist, und wobei eine berechenbare Funktion ist. Man schreibt dann .

Dies ist eine Einschränkung gegenüber Polynomialzeitreduktionen, weil sich bei diesen Parameter beliebig verändern können. So entspricht z. B. bei der Polynomialzeitreduktion des Independent Set Problems auf das Knotenüberdeckungsproblem der Parameter "Größe der minimalen Knotenüberdeckung" der Differenz zwischen der Anzahl der Knoten und der Größe, , des maximalen Independent Set. Hier kann also im Allgemeinen keine Funktion existieren, sodass , also handelt es sich um eine i. A. unerlaubte Veränderung der Parameter, wodurch es sich hierbei nicht um eine FPT-Reduktion in Hinsicht auf die Parameter und handelt. Tatsächlich stellt sich heraus, dass das Independent Set Problem W[1]-schwierig ist, während das Knotenüberdeckungsproblem FPT ist, d. h., dass keine FPT-Reduktion von Independent Set auf das Knotenüberdeckungsproblem existiert, sofern ist.

Aufgrund dieser Einschränkung gegenüber Polynomialzeitreduktionen liefert d​ie FPT-Reduktion e​ine feinere Abstufung d​er Komplexitätsklasse NP u​nd ermöglicht genauere Aussagen über d​ie Komplexität v​on NP-vollständigen Problemen.

So, wie aus und folgt, dass ist, folgt aus und , dass ist. Umgekehrt folgt daraus, dass und W[t]-schwierig ist, dass W[t]-schwierig ist, so wie aus und der NP-Schwere von die NP-Schwere von folgt.

Beschränkte Berechnungsbäume

Eine häufig benutzte Methode s​ind Berechnungsbäume, d​eren Höhe u​nd Verzweigung d​urch Funktionen i​n k beschränkt sind. Die Verzweigung k​ann man häufig s​ogar durch Konstanten beschränken. Einen solchen Algorithmus k​ann man z. B. für d​as Knotenüberdeckungsproblem benutzen, w​obei der Parameter k d​ie Größe e​iner minimalen Knotenüberdeckung ist.

Eine Methode wäre hier, eine beliebige, noch nicht überdeckte Kante e zu wählen und über die beiden zu e inzidenten Knoten zu verzweigen (in den beiden Zweigen des Berechnungsbaums wird je einer der Knoten in die Knotenüberdeckung aufgenommen). Die Verzweigung ist also 2 und da man maximal k Knoten wählt, ist die Höhe des Berechnungsbaums durch k beschränkt. Die Wahl einer noch nicht überdeckten Kante und die Aufnahme eines Knotens in die Knotenüberdeckung sind je in möglich, womit die Laufzeit insgesamt aus ist.

Problemkern-Reduktion

Ein entscheidbares Problem i​st genau d​ann fixed parameter tractable, w​enn dafür e​ine Problemkern-Reduktion existiert, d​ie in Polynomialzeit berechenbar i​st und d​ie eine Instanz m​it Parameter k reduziert a​uf eine Instanz, d​eren Größe d​urch eine Funktion f(k) beschränkt ist. Den Problemkern k​ann man d​ann mit e​inem Algorithmus lösen, d​er beliebige, endliche Laufzeit h hat. Damit erhält m​an insgesamt e​ine Laufzeit v​on h(f(k)), w​as zusammen m​it der Polynomialzeit für d​ie Reduktion i​mmer noch e​ine FPT-Zeitbeschränkung liefert.

Diese Methode lässt s​ich z. B. a​uf das Knotenüberdeckungsproblem anwenden: Wenn e​in Knoten e​inen größeren Grad a​ls k hat, m​uss er i​n einer minimalen Knotenüberdeckung enthalten sein, d​enn wenn e​in Knoten v n​icht enthalten ist, müssen a​lle seine Nachbarn enthalten s​ein (da a​lle zu v inzidenten Kanten überdeckt werden müssen), w​as aber m​ehr als k Knoten wären, obwohl k a​ls Größe e​iner minimalen Knotenüberdeckung definiert war.

Nachdem auf diese Weise Knoten ausgewählt wurden, die definitiv in einer minimalen Knotenüberdeckung enthalten sein müssen, können noch maximal Knoten übrig sein (k Knoten für die Knotenüberdeckung und jeweils maximal k Nachbarn), aus denen man in Schritten eine Knotenüberdeckung auswählen kann.

Die Größe der Problemkerne liefert eine noch feinere Abstufung der Komplexitätsklasse FPT. So ist zum Beispiel das Knotenüberdeckungsproblem leichter als das Min-Multicut Problem auf Bäumen, obwohl beide FPT sind, weil der Problemkern einer Instanz des Knotenüberdeckungsproblems (nach Nemhauser und Trotter) höchstens Größe 2k hat, wogegen die beste bekannte Problemkernreduktion für Min-Multicut auf Bäumen Problemkerne liefert, die höchstens Größe haben.

Interleaving

Die Interleaving Methode ist, vor jedem Rekursionsaufruf eine Problemkern-Reduktion durchzuführen. Im Allgemeinen wird die Laufzeit dadurch stark reduziert, von auf , wobei die Anzahl der Knoten im Berechnungsbaum ist, die Laufzeit der Expansion eines Knotens im Berechnungsbaum (die Generierung der Nachfolger) und die Laufzeit der Problemkernreduktion ist.

Interleaving i​st vor a​llem in Kombination m​it Memoisation e​ine starke Methode z​ur Beschleunigung v​on Programmen für NP-schwierige Probleme. Dies l​iegt daran, d​ass die Instanzen, d​ie weiter u​nten im Berechnungsbaum auftreten, kleine Parameter haben, weswegen d​ie Problemkerne k​lein sind u​nd sich deshalb m​it hoher Wahrscheinlichkeit o​ft wiederholen, wodurch d​ie Memoisation v​iele Teilbäume d​es Berechnungsbaums abschneiden kann.

Color-Coding

Eine weitere Methode ist das Color-Coding, bei dem man die n Objekte in der Probleminstanz mit k Farben „färbt“. Wenn eine Lösung aus k Objekten aus der Instanz besteht, kann sie häufig schnell gefunden werden, wenn diese k Objekte unterschiedlich gefärbt sind. Man sagt dann, dass die Lösung farbenfroh (engl. colorful) ist. Da es perfekte Hash-Funktionen gibt, müssen höchstens verschiedene Färbungen probiert werden, bis eine Lösung farbenfroh ist, wobei c eine Konstante ist.

Mit dieser Methode ist z. B. die Suche in einem Graphen nach einem Weg der Länge k parametrisierbar. Sind die Knoten auf einem Weg der Länge k unterschiedlich gefärbt, dann können die Farbklassen auf k! Arten angeordnet werden, alle Kanten entfernt werden, die zwischen nicht-benachbarten Farbklassen verlaufen, woraufhin z. B. mit dem Algorithmus von Floyd und Warshall in geprüft werden kann, ob es noch einen Weg von einem Knoten der ersten Farbklasse zu einem Knoten der letzten Farbklasse gibt (falls es einen gibt, hat er mindestens Länge k). Die Laufzeit dieses Algorithmus ist in , also ist es ein FPT Algorithmus.

Courcelles Theorem

Courcelles Theorem besagt, dass jedes Graphenproblem, welches durch eine erweiterte -logische Formel beschrieben werden kann, parametrisierbar ist mit der Baumweite als Parameter. Eine erweiterte -logische Formel ist dabei eine logische Formel mit Existenz- und Allquantor, die Mengen von Knoten oder Kanten quantifizieren können, erweitert um einen min und einen max Quantor.

Formeln aus erweiterter -Logik für folgende Probleme auf einem Graphen G=(V,E) sind z. B.:

  1. Minimale Knotenüberdeckung:
  2. Minimale dominierende Knotenmenge:
  3. Maximale Clique:

Literatur

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.