Approximationsalgorithmus
Ein Approximationsalgorithmus (oder auch Näherungsalgorithmus) ist in der Informatik ein Algorithmus, der ein Optimierungsproblem näherungsweise löst.
Viele Optimierungsprobleme lassen sich mit exakten Algorithmen vermutlich nicht effizient lösen. Für solche Probleme kann es sinnvoll sein, wenigstens eine Lösung zu finden, die einer optimalen Lösung möglichst nahe kommt. Als Maß für die Bewertung von Approximationsalgorithmen benutzt man die sogenannte Güte des Algorithmus.
Klassen von Approximationsalgorithmen
Optimierungsprobleme werden in der Theoretischen Informatik in verschiedene Approximationsklassen unterschieden, je nachdem welcher Grad an Approximation möglich ist:
APX
Die Abkürzung APX steht für approximable und
deutet an, dass das Optimierungsproblem, zumindest bis zu einem gewissen Grad,
effizient approximierbar ist. Ein Problem liegt in der Klasse APX, wenn
eine Zahl
und ein polynomieller
Algorithmus, der bei jeder zulässigen Eingabe
eine Lösung mit einer Güte
liefert, existieren.
PTAS/PAS
PTAS oder PAS steht für polynomial time
approximation scheme. Anders als bei der Klasse APX
wird hier für jedes
gefordert, dass ein polynomialer Algorithmus existiert, der bei jeder zulässigen
Eingabe eine Lösung mit einer Güte
liefert. Der Algorithmus muss also nicht nur für eine bestimmte Güte, sondern
für jede Approximationsgüte effizient sein.
FPTAS
FPTAS steht für fully polynomial time
approximation scheme. Hier wird gefordert, dass sich der
Algorithmus nicht nur polynomiell zur Eingabe, sondern auch zur Güte der
Approximation verhält; Dass er also zu jeder Eingabe
und jedem
eine Lösung mit der Güte
ausgibt und seine Laufzeit polynomiell in
und
ist.
Es gilt:
Unter der Annahme
sind die obigen Inklusionsabbildungen
echte Inklusionen. Das heißt, es gibt zum Beispiel mindestens ein
Optimierungsproblem, das in der Klasse PTAS liegt, aber nicht in der
Klasse FPTAS. Unter dieser Annahme existiert auch mindestens ein
Optimierungsproblem, das nicht in APX liegt. Dies lässt sich unter der
Annahme
zum Beispiel für das Cliquenproblem
zeigen.
Sei
ein Optimierungsproblem, dessen Zielfunktion
für alle Instanzen
ganzzahlig ist. Falls es ein Polynom
mit
für jede Instanz
gibt, dann folgt aus der Existenz eines FPTAS für
die Existenz eines pseudopolynomiellen
Algorithmus für
.
Hierbei ist
die optimale Lösung für die Instanz
und
der maximale Wert einer Variable von
.
Da stark
NP-vollständige Probleme keinen pseudopolynomiellen Algorithmus haben (falls
),
besitzen diese daher kein FPTAS.
Siehe auch
Literatur
- Rolf Wanka: Approximationsalgorithmen – Eine Einführung, Teubner, Wiesbaden, 2006, ISBN 3-519-00444-5
- Klaus Jansen, Marian Margraf: Approximative Algorithmen und Nichtapproximierbarkeit, de Gruyter, Berlin, New York, 2008, ISBN 978-3-11-020316-5
![Trenner](/button/corpdivider.gif)
![Extern](/button/extern.png)
![Seitenende](/button/stonrul.gif)
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 28.05. 2021