Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016
Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP Approximationen für TSP Nearest-Neighbor Heuristik MST Heuristik Algorithmus von Christofides Perfektes Matching Algorithmus von Christofides Zusammenfassung
Approximierbarkeit Sehr viele Probleme sind bekanntermaßen NP-Vollständig und damit (wahrscheinlich) nicht effizient lösbar. In vielen Fällen ist eine optimale Lösung oft gar nicht unbedingt notwendig. Oft ist es durch eine einfache Heuristik möglich sehr gute Lösungen zu finden. Beispiel: Das Problem des Handelsreisenden
Das Problem des Handelsreisenden (TSP)
Das Problem des Handelsreisenden... oder Travelling Salesman Problem (TSP) Definition (TSP) Gegeben: eine Zahl (Budget) k N sowie eine (symmetrische) Matrix M N N N von ganzzahligen Abständen zwischen Städten. Gesucht: Eine Rundreise π = {π 1... π N }, die jede Stadt genau einmal besucht und deren Gesamtlänge nicht größer als k ist. TSP = { < k, M > π : M πn,π 1 + N 1 i=1 M πi,π i+1 k }
TSP ist NP-vollständig Es gilt: Satz TSP ist NP-vollständig. Beweis... als Übung.
EUCLIDEAN-TSP Definition (EUCLIDEAN-TSP) Das EUCLIDEAN-TSP ist analog zum allgemeinen TSP definiert. Mit Ausnahme der Abstände zwischen den Städten M ij = d(x i, x j ). wobei: x i N 2 bezeichnet die Koordinaten der i-ten Stadt. d(x i, x j ) N bezeichnet den ganzzahligen Anteil der euklidischen Distanz zwischen Städten i und j. Das Problem lässt sich auf beliebige Metriken d(x i, x j ) verallgemeinern.
EUCLIDEAN-TSP ist NP-vollständig Satz EUCLIDEAN-TSP ist NP-vollständig. Beweis: Das EUCLIDEAN-TSP in NP liegt ist offensichtlich, da ein Spezialfall von TSP. Noch zu zeigen: EUCLIDEAN-TSP ist NP-Schwer. Wurde 1977 bewiesen 1 2 Christos H. Papadimitriou 1 siehe: Papadimitriou 1977, Theoretical Computer Science 2 Aus Wikipedia - die freie Enzyklopädie
Nearest-Neighbor Greedy Heuristik Einfache, sehr naive Heuristik (Greedy Ansatz). Idee: konsequente Wahl von lokal optimalen Teillösungen. Liefert oft sehr gute Ergebnisse. Die Lösung kann aber auch beliebig schlecht werden (Es existieren Beispiele für die die schlechtest mögliche Lösung gefunden wird!).
Nearest-Neighbor Greedy Heuristik 1 G hält die Menge der noch nicht besuchten Städte. Der Algorithmus startet bei Stadt 1. Pseudocode-Algorithmus: G {2... N}, π 1 1 für 2 j N: π j arg min i G G G \ π j M πj 1,i (Beispiel: siehe Tafel) 1 siehe: Johnson und McGeoch, 1997
Minimaler Spannbaum (MST) Heuristik Für das EUCLIDEAN-TSP kann eine Approximation in P angegeben werden, die eine Tour findet, welche max. doppelt so lang ist wie die optimale Tour. Nutze zwei Ergebnisse als Zwischenschritt, die bekanntermaßen in P gefunden werden können. Eulerkreisproblem (EULER-Circle) und Minimaler Spannbaum (MST).
Minimaler Spannbaum Ein Spannbaum ist ein Teilgraph eines Graphen G, der ein Baum ist und alle Knoten des Graphen G verbindet. Ein Spannbaum heißt minimal, wenn es keinen anderen Spannbaum in G gibt, dessen Kantensumme geringer ist. Wichtiges Optimierungsproblem aus der Graphentheorie, mit vielen Anwendungen (z.b. Verbindungsnetzwerke optimieren). Ist bewiesenermaßen in P enthalten (Algorithmus von Kruskal).
Algorithmus von Kruskal Pseudocode: für gegebenen ungerichteten Graphen G = (V, E) T = {} solange möglich: wähle die kürzeste Kante e in G wenn der Graph (V, e T ) keinen Kreis enthält entferne e aus G füge e zu T hinzu Greedy Algorithmus Läuft in polynomieller Zeit Liefert bewiesenermaßen das optimale Ergebnis
Eulerkreis Problem Ein Eulerkreis ist ein zyklischer Pfad in einem Graphen G, der jede Kante genau einmal enthält Wichtiges Problem aus der Graphentheorie Wurde bereits Mitte des 19ten Jahrhunderts gelöst (Carl Hierholzer) Ist bewiesenermaßen in P enthalten (Algorithmus von Hierholzer).
MST Heuristik Algorithmus: 1. Konstruiere den minimalen Spannbaum T aller Städte. 2. Verdopple alle Kanten. 3. Berechne den Eulerkreis für den so entstandenen Graphen. 4. Wandere entlang des Eulerkreises. Überspringe Städte im Kreis, die bereits besucht wurden. (Beispiel: siehe Tafel)
Satz MST Heuristik Die von der MST Heuristik gefundene Tour π ist maximal doppelt so lange wie die optimale Tour π. Beweis Die Länge von π ist niemals kürzer als der Spannbaum, i.e. T π. Der Eulerkreis hat die Länge 2 T (Verdopplung der Kanten). Durch überspringen von Knoten können sich die Kosten nur verringern (da die Dreiecksungleichung gilt). Daher gilt: π 2 T 2 π
Algorithmus von Christofides 1 Der Algorithmus von Christofides verbessert das Ergebnis der MST Heuristik noch weiter. Hier wird das Perfektes Matching als Zwischenschritt berechnet, welches ebenfalls bekanntermaßen in P gefunden werden kann. Der Algorithmus von Christofides findet garantiert Pfade mit maximal 3 2 der Länge des Optimums. 1 Christofides, 1976
Perfektes Matching Gegeben sei ein ungerichteter Graph G = (E, V ) Definition (Perfektes Matching) Als Matching M E bezeichnet man eine Teilmenge an Kanten, sodass keine zwei Kanten aus M einen gemeinsamen Knoten haben. M heißt perfektes Matching, wenn gilt: 2 M = V also jedem Knoten aus E ein Partner zugeordnet wurde. Optimierungsproblem aus der Graphentheorie P (erster Polynomialzeitalgorithmus Edmonds, 1965).
Algorithmus von Christofides Verwendet die selbe Idee wie die MST Heuristik. Durch weiteren zwischenschritt (Perfektes Matching) kann das Ergebnis verbessert werden. Perfektes Matching lässt sich effizient berechnen (Hungarian Algorithm, O(n 3 )). Satz Die vom Algorithmus von Christofides gefundene Tour π ist maximal 3 2 so lange wie die optimale Tour π.
Algorithmus: Algorithmus von Christofides 1. Konstruiere den minimalen Spannbaum T aller Städte. 2. Bestimme die Menge V aller Konten mit ungeradem Grad in T. 3. Berechne ein Perfektes Matching S mit minimalen Kosten auf V. 4. Finde einen Eulerkreis auf der Vereinigung von S und T. 5. Wandere entlang des Eulerkreises. Überspringe Städte im Kreis, die bereits besucht wurden. (Beispiel: siehe Tafel)
Beweis: π 3 2 π Algorithmus von Christofides Der Pfad lässt sich zerlegen in Segmente über den minimalen Spannbaum T und Segmente über das perfekte Matching S. Die Länge von π ist niemals kürzer als der Spannbaum, i.e. T π. Der optimale Pfad kann in zwei perfekten Matchings zerlegt werden, die jeweils aus jeder zweiten Kante aus π gebildet werden. In Schritt 3 des Algorithmus wird mit Sicherheit der Kleinere Teil gewählt, daher: S 1 2 π. Durch überspringen von Knoten können sich die Kosten nur verringern (da die Dreiecksungleichung gilt). Daher gilt: π T + 1 2 π 3 2 π
Zusammenfassung TSP ist NP-vollständig EUCLIDEAN-TSP ist NP-vollständig Approximationen für TSP und EUCLIDEAN-TSP MST Heuristik ist eine 2 Approximation für EUCLIDEAN-TSP. Algorithmus von Christofides ist eine 3 2 EUCLIDEAN-TSP Approximation für