Approximationsalgorithmen am Beispiel des Traveling Salesman Problem Seminararbeit im Rahmen des Seminars „Algorithmentechnik“ vorgelegt von Leonie Sautter Leiter des Seminars: Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik Karlsruher Institut für Technologie (KIT) Karlsruhe, den 19. Juli 2012 Inhaltsverzeichnis 1 Einleitung 1 2 Grundlagen 2 2.1 Optimierungsprobleme . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Approximationsalgorithmen . . . . . . . . . . . . . . . . . . . 2 2.3 Gütegarantien . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Das Traveling Salesman Problem 5 4 Das metrische Traveling Salesman Problem 6 4.1 Einfüge-Heuristiken . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 Der Algorithmus von Christofides . . . . . . . . . . . . . . . . 8 5 Das geometrische Traveling Salesman Problem 11 5.1 Idee des Algorithmus . . . . . . . . . . . . . . . . . . . . . . . 12 5.2 Rundung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.3 Partitionierung . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.4 Portale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.5 Der Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.6 Analyse der Gütegarantie . . . . . . . . . . . . . . . . . . . . 16 1 Einleitung Das Problem des Handlungsreisenden (auf englisch das Traveling Salesman Problem, kurz TSP) ist eines der bekanntesten kombinatorischen Optimierungsprobleme. Die Ausgangssituation ist dabei, dass ein Händler eine Rundreise durch eine bestimmte Anzahl an Städten machen möchte, um dort seine Waren anzupreisen. Dabei möchte er am Ende wieder in seiner Heimatstadt ankommen und insgesamt nur eine möglichst kurze Strecke zurücklegen. Formalisieren kann man das Problem, indem man die Städte als Knoten eines vollständigen, gewichteten Graphen versteht, wobei die Kantengewichte die Entfernungen zwischen je zwei Städten widerspiegeln. Dann ist das Problem, eine kürzeste Rundtour zu finden, gleich dem Problem, in diesem Graphen einen Hamiltonkreis minimalen Gewichts zu finden. Ein Hamiltonkreis ist dabei ein geschlossener Pfad, der alle Knoten des Graphen genau einmal enthält. Wie bereits 1972 gezeigt wurde, ist TSP NP-schwer1 . Damit gibt es, falls P 6= NP gilt, keinen Algorithmus, der das Problem in polynomieller Laufzeit löst. Dadurch sind sehr große Instanzen des TSP mit Computern in der Praxis nicht mehr lösbar. In der Konsequenz sucht man daher nach Algorithmen, die in einer möglichst geringen polynomiellen Laufzeit gute Approximationen für eine kürzeste Rundtour liefern. Im nächsten Kapitel werden die Anforderungen an solche Algorithmen formalisiert und es werden Möglichkeiten gezeigt, wie man die Qualität der Algorithmen in Verhältnis setzen und vergleichen kann. Dabei wird sich vor allem an den Kapiteln 1 bis 3 des Buches „Approximationsalgorithmen: Eine Einführung“ von Rolf Wanka [12] orientiert. Im dritten Kapitel wird dann genauer auf das allgemeine TSP eingegangen und gezeigt, dass es weder mit absoluter noch mit relativer Gütegarantie in polynomieller Zeit approximiert werden kann. Daher wird sich in Kapitel 4 auf einen Spezialfall beschränkt. Für das metrische TSP wird zuerst eine Familie von sehr intuitiven Approximationsalgorithmen vorgestellt und ein erster Beweis für eine relative Gütegarantie angegeben. Danach wird mit dem Algorithmus von Christofides der beste bisher bekannte Approximationsalgorithmus für metrisches TSP beschrieben und die relative Gütegarantie von 3/2 gezeigt. In Kapitel 5 wird auf ein weiteres Unterproblem des TSP, das geometrische TSP, eingegangen. Für dieses Problem ist es gelungen einen Approximati1 Dies ergibt sich direkt aus dem Resultat, dass das Hamiltonkreis-Problem NPvollständig ist [9] 1 onsalgorithmus zu finden, der es mit einem beliebig kleinen relativen Fehler approximiert. Die Laufzeit hängt dabei von der oberen Schranke, die man für den relativen Fehler wählt ab. Geht diese Schranke gegen 0 so wird die Laufzeit exponentiell. Beschrieben wird die Variante, die der Erfinder des Algorithmus Sanjeev Arora in Kapitel 5 des Buches „The Traveling Salesman Problem and Its Variations“ [2] selbst vorstellt. 2 Grundlagen 2.1 Optimierungsprobleme Das Traveling Salesman Problem in seiner allgemeinen Formulierung, einen Hamiltonkreis minimalen Gewichts in einem vollständigen Graphen zu finden, ist ein Optimierungsproblem. Es wird die Bewertungsfunktion, die einem Pfad sein Gewicht zuordnet, für alle zulässigen Pfade minimiert. Zulässig sind Pfade dabei dann, wenn sie geschlossen sind und jeden Knoten des Graphen genau einmal durchlaufen. Verallgemeinert man dies kommt man zu der folgenden Definition: Definition 2.1 Ein kombinatorisches Optimierungsproblem Π besteht aus vier Teilen: • D die Menge der Probleminstanzen • S(I) für I ∈ D die Menge der zulässigen Lösungen zu I • f : S(I) → N+ die Bewertungsfunktion • ziel ∈ {min, max} Ein Entscheidungsproblem hingegen ist das Problem, für eine Instanz zu entscheiden, ob sie zu einer bestimmten Sprache gehört. Im Fall des TSP hat das zugehörige Entscheidungsproblem einen Parameter K an Stelle von ziel. Das Problem ist dann zu entscheiden, ob es zu einer bestimmten Instanz einen Hamiltonkreis mit einem Gewicht von höchstens K gibt. 2.2 Approximationsalgorithmen Da das TSP NP-schwer ist, lässt sich kein polynomieller Algorithmus für das Problem angeben, falls P 6= NP gilt. Da man in der Praxis aber trotzdem möglichst schnell Lösungen finden möchte, muss man sich mit Näherungen zufrieden geben. 2 Definition 2.2 Sei Π ein kombinatorisches Optimierungsproblem. Ein t(n)Zeit-Approximationsalgorithmus A berechnet zur Eingabe I ∈ D in Zeit t(|I|) eine Ausgabe σIA ∈ S(I). Im Normalfall sind wir nur an Approximationsalgorithmen interessiert, die eine polynomielle Laufzeit haben. 2.3 Gütegarantien Nach obiger Definition kann ein Approximationsalgorithmus nun irgendeine zulässige Lösung zurückgeben, unabhängig von dem Wert ihrer Zielfunktion. Natürlich möchte man aber Ausgaben zurück erhalten, die bezüglich der Bewertungsfunktion möglichst nah an das Optimum heran kommen. Dazu betrachtet man die Qualität der Lösung des Algorithmus relativ zu der Optimallösung und versucht eine obere Schranke für die Abweichung von derselben zu finden. Definition 2.3 Sei Π ein Optimierungsproblem und A ein Approximationsalgorithmus für Π. • Bei einer Eingabe I hat A eine absolute Güte von κA (I) = |A(I) − OPT(I)|. • Die absolute worst-case Güte von A ist κwc A (n) = max{κA (I) | I ∈ D, |I| ≤ n} • A garantiert eine absolute Güte von κA : N → N, falls ∀n ∈ N gilt: κwc A (n) ≤ κA (n) Definition 2.4 Sei Π ein Optimierungsproblem und A ein Approximationsalgorithmus für Π. • Bei einer Eingabe I hat A eine relative Güte von A(I) OPT(I) , . ρA (I) = max OPT(I) A(I) • Die relative worst-case Güte von A ist ρwc A (n) = max{ρA (I) | I ∈ D, |I| ≤ n} 3 • A garantiert eine relative Güte von ρA : N → N, falls ∀n ∈ N gilt: ρwc A (n) ≤ ρA (n) • A macht bei Eingabe I einen relativen Fehler von |A(I) − OPT(I)| A(I) A (I) = = − 1 OPT(I) OPT(I) Für viele Probleme ist bis heute kein Approximationsalgorithmus gefunden worden, für den man eine Gütegarantie angeben konnte. Trotzdem gibt es häufig Algorithmen, die für einen großen Teil der Instanzen gute Näherungslösungen liefern und nur für wenige Instanzen beliebig schlecht werden. Solche Approximationsalgorithmen, für die man keine Gütegarantien angeben kann, nennt man Heuristiken. Kann man eine relative Güte für einen Algorithmus garantieren, möchte man meistens auch wissen, ob die Gütegarantie eine scharfe Schranke für die worst-case Güte eines Algorithmus ist. Man sucht also abhängig von der Eingabelänge n Instanzen, für die der Algorithmus sehr schlechte Ergebnisse liefert. Definition 2.5 Sei Π ein Optimierungsproblem und A ein Approximationsalgorithmus für Π. • A hat eine absolute Abweichung von κ0A : N → N, falls für unendlich viele n ∈ N gilt κ0A (n) ≤ κwc A (n). Eine unendlich große Menge D0 ⊆ D heißt κ0A (n)-Zeugenmenge gegen A, wenn ∀I ∈ D0 gilt: κA (I) ≥ κ0A (|I|). • A hat eine relative Abweichung von ρ0A : N → N, falls für unendlich viele n ∈ N gilt ρ0A (n) ≤ ρwc A (n). Eine unendlich große Menge D0 ⊆ D heißt ρ0A (n)-Zeugenmenge gegen A, wenn ∀I ∈ D0 gilt: ρA (I) ≥ ρ0A (|I|). 4 3 Das Traveling Salesman Problem Das allgemeine Traveling Salesman Problem ist wie folgt definiert: • D = {hKn , ci | c : E → R} • S(hKn , ci) = {C | C = (vi1 , vi2 , . . . , vin , vi1 ) ist ein Hamiltonkreis } P • f (C) = c(vin , vi1 ) + n−1 j=1 c(vij , vij +1 ) • ziel = min Dabei ist Kn ein vollständiger Graph mit n Knoten V und den Kanten E. Wie bereits eingangs erwähnt ist dieses Problem NP-schwer und es ist bis heute nicht bekannt, ob es überhaupt in NP liegt [12, S. 9]. Aber auch der Ansatz, als Nächstes nach Approximationsalgorithmen mit guten absoluten oder relativen Gütegarantien zu suchen, ist bei diesem Problem leider nicht von Erfolg gekrönt, wie die folgenden beiden Sätze zeigen. So ist man bei großen Instanzen von TSP immer noch auf Heuristiken angewiesen, die für manche Eingaben nur sehr schlechte Lösungen liefern. Satz 3.1. Falls P 6= NP gilt, gibt es keinen polynomiellen Approximationsalgorithmus mit absoluter Gütegarantie für das allgemeine TSP. Beweis mit Gap Amplification. Annahme: Es existiert ein polynomieller Approximationsalgorithmus A, der für das TSP eine absolute Güte von k garantiert. Wir wollen zeigen, dass unter dieser Annahme bereits ein exakter Polynomialzeitalgorithmus für TSP existiert. Dies wäre ein Widerspruch zu der Annahme, dass P 6= NP. Sei I = hKn , ci eine beliebige Instanz des Problems und l die kleinste Differenz zwischen dem Wert der optimalen Lösung und dem Wert einer anderen nicht optimalen Lösung. Nun bilden wir aus I eine neue Instanz I 0 = hKn , c0 i, mit der Gewichtsfunktion c0 = (k + 1)c. Jede zulässige Lösung zu I entspricht nun einer zulässigen Lösung zu I 0 und umgekehrt. Nur die Werte der Lösungen sind in I 0 (k + 1) mal größer. Damit ist auch der Abstand zwischen der Optimallösung und einer anderen Lösung in I 0 (k+1)l, also insbesondere echt größer als k. Damit muss der Algorithmus A auf I 0 angewendet eine optimale Lösung OPT liefern, da sonst die absolute 5 Gütegarantie verletzt würde. Nun kann man aber auch eine optimale Lösung für I angeben, nämlich die, die OPT entspricht. Damit kann man aber nun mit Hilfe von A in Polynomialzeit eine optimale Lösung für jede Instanz des TSP angeben. Dies ist ein Widerspruch zu der Voraussetzung, dass P 6= NP. Satz 3.2. Falls P 6= NP, gibt es keinen polynomiellen Approximationsalgorithmus mit konstanter relativer Güte r für das allgemeine TSP. Für den Beweis siehe [12, S.53 f.]. 4 Das metrische Traveling Salesman Problem Da wir nun gesehen haben, dass man für das allgemeine TSP, falls P 6= NP, keine Approximationsalgorithmen mit konstanten Gütegarantien finden kann, liegt es nah, ein vermutlich leichter zu lösendes Teilproblem zu betrachten. Bis jetzt wurden an die Gewichtsfunktion keinerlei Bedingungen gestellt. Wenn man an die Anschauung des Problems denkt, bietet es sich an, die Gewichte als Entfernungen zwischen den Knoten zu sehen. Dann müsste die Gewichtsfunktion eine Metrik sein, das heißt insbesondere die Dreiecksungleichung erfüllen: c(u, v) ≤ c(u, w) + c(w, v) ∀u, v, w ∈ V Wegen dieser Einschränkung durch die Dreiecksungleichung wird dieses Teilproblem mit ∆TSP abgekürzt. Des Weiteren wird in diesem Kapitel die Gewichtsfunktion auf positive, ganzzahlige Werte beschränkt (c : E → N), da es sonst zu Rundungsproblemen kommt, wenn die Gewichtsfunktion Wurzeln enthält. Dies wäre beispielsweise der Fall, wenn man als Gewicht den euklidischen Abstand zweier Knoten betrachtet. Bis heute ist kein Polynomialzeit-Algorithmus bekannt, der für P √ natürliche Zahlen a1 , ..., an , m entscheiden kann, ob i ai ≤ m [2, S. 207]. Wenn man dagegen eine ganzzahlige Gewichtsfunktion verwendet, kann man zeigen, dass das allgemeine TSP in NP liegt und damit NP-vollständig ist. 4.1 Einfüge-Heuristiken Mit den Einfüge-Heuristiken wird eine Klasse von sehr intuitiven Algorithmen für ∆TSP vorgestellt. Die Grundidee basiert darauf, eine Anfangstour 6 Stück für Stück zu einem Hamiltonkreis zu erweitern und dabei die neuen Knoten immer so einzufügen, dass die Tour nur minimal länger wird. Die einzige Variable in diesem Algorithmus ist dann die Reihenfolge in der die Knoten hinzugefügt werden. Diese Reihenfolge hat durchaus einen beträchtlichen Einfluss auf die Gütegarantien, die man geben kann. So existieren Einfügereihenfolgen und zugehörige Zeugenmengen, die zeigen, dass die Einfüge-Heuristik eine relative Abweichung von Ω(log n/ log log n) hat [8]. Es gibt jedoch auch deutlich bessere Einfügereihenfolgen. So wird in dieser Seminararbeit die Variante betrachtet, bei der jeweils der Knoten hinzugefügt wird, der den geringsten Abstand zu einem Knoten des Kreises hat. Der Algorithmus heißt NearestInsertion und garantiert eine relative Güte von 2. Algorithmus NearestInsertion 1. Beginne mit dem Kreis C1 , der nur aus einem beliebigen Knoten besteht. 2. Füge den nächstliegenden Knoten zu C1 hinzu. Dies ergibt C2 . 3. for j := 3 to n do (a) Wähle einen Knoten vj ∈ / Cj−1 , der den geringsten Abstand zu einem Knoten aus Cj−1 hat. (b) Wähle eine Kante (u, w) aus Cj−1 , so dass c(u, vj ) + c(vj , w) − c(u, w) minimal ist. (c) Füge den Knoten vj zwischen u und w in Cj−1 ein. Dies ergibt Cj . 4. done Satz 4.1. Der Algorithmus NearestInsertion garantiert eine relative Güte von 2 bei einer Laufzeit von O(n2 ) Beweis. Für den Beweis wird der Algorithmus von Prim, der einen minimalen Spannbaum in einem Graphen berechnet, benutzt. Der Spannbaum wird hierbei inkrementell erstellt, indem zu einem Teilbaum immer die leichteste Kante hinzufügt wird, die den Teilbaum mit einem neuen Knoten verbindet. Auch dieser Algorithmus startet mit einem beliebigen Knoten.2 Auffällig ist, dass die Reihenfolge, in der die Knoten hinzugefügt werden, bei gleichem Startknoten in beiden Algorithmen genau gleich ist. Sei nun vj der Knoten, 2 Für den genauen Algorithmus siehe auch [11] 7 der in Schritt j von beiden Algorithmen hinzugefügt wird. Mit cost(vj ) bezeichnet man die Strecke, um die sich der Kreis durch das Hinzufügen von vj verlängert. Sei weiterhin (k, vj ) die Kante, die in diesem Schritt zum Baum hinzugefügt wird (siehe Abbildung 1). Es soll nun gezeigt werden, dass gilt: cost(vj ) ≤ 2c(k, vj ). Seien u und w die beiden Knoten, zwischen denen vj in den Kreis Cj−1 eingefügt wird und sei weiterhin l ein Nachbar von k in Cj−1 . Dann gilt: cost(vj ) = c(u, vj ) + c(vj , w) − c(u, w). Weiter gilt cost(vj ) ≤ c(k, vj ) + c(vj , l) − c(k, l), da sonst vj zwischen k und l hätte eingefügt werden müssen. Mit der Dreiecksungleichung gilt auch c(vj , l) − c(k, l) ≤ c(k, vj ) und damit c(k, vj ) + c(vj , l) − c(k, l) ≤ 2c(k, vj ). Insgesamt haben wir damit gezeigt, dass cost(vj ) ≤ 2c(k, vj ). Da dies nun für jeden der n Schritte gilt, folgt weiter mit T dem minimalen Spannbaum: c(Cn ) ≤ 2c(T ). Außerdem gilt für einen Hamiltonkreis Copt minimalen Gewichts c(T ) < c(Copt ), da man durch Weglassen einer Kante aus Copt einen Spannbaum erhält. Damit gilt insgesamt c(Cn ) < 2c(Copt ). Abbildung 1: Skizze zum Beweis von Satz 4.1 4.2 Der Algorithmus von Christofides Bereits 1976 stellte Nicos Christofides einen weiteren Approximationsalgorithmus für ∆TSP vor, der eine Güte von 1,5 besitzt [4]. Bis heute ist es nicht gelungen, einen polynomiellen Approximationsalgorithmus zu finden, der eine bessere Güte garantiert. Die Idee des Algorithmus basiert darauf, zuerst einen minimalen Spannbaum zu berechnen. Dies geht mit Prim’s Algorithmus [11] und Fibonacci-Heaps 8 in O(|E| + |V | · log |V |) [6, S. 505ff]. Aus diesem minimalen Spannbaum wird dann mit Hilfe von leichtesten Matchings zuerst ein Eulerkreis und daraus dann ein Hamiltonkreis konstruiert. Ein Matching M zu einem Graph G ist ein Teilgraph in dem jeder Knotengrad höchstens 1 ist. Hat jeder Knoten genau Grad 1 so nennt man das Matching perfekt. Ein Kreis, der jede Kante des zugehörigen Graphen genau einmal passiert, nennt sich Eulerkreis. Ein solcher Eulerkreis existiert genau dann, wenn G zusammenhängend ist und jeder Knoten in G geraden Grad hat3 . Nun können wir den Algorithmus von Christofides wie in [12] definieren: Algorithmus CH 1. Berechne einen minimalen Spannbaum TCH von I = hKn , ci. 2. Bilde die Menge S der Knoten, die in TCH einen ungeraden Grad haben. 3. Finde auf dem durch S induzierten Teilgraphen ein perfektes Matching minimalen Gewichts MCH . 4. Berechne einen Eulerkreis ECH auf TCH ∪· MCH . 5. Entferne in ECH Wiederholungen von Knoten, so dass man einen Hamiltonkreis C erhält und gib C aus. Abbildung 2: Der Algoritmus von Christofides an einem Beispiel: (1) Der minimale Spannbaum TCH , (2) das Matching MCH , (3) der Eulerkreis ECH , (4) der Hamiltonkreis C Bezeichne G den gewichteten Graphen hKn , ci. Ein perfektes Matching kann auf dem durch S induzierten Teilgraphen G0 von G nur deshalb gefunden 3 Dies zeigte Euler bereits 1736 am Beispiel des Königsberger Brückenproblems 9 werden, da |S| gerade und G0 ein vollständiger Graph ist. |S| ist immer gerade, da die Summe aller Knotengrade eines Graphen 2|E| ist und damit auch gerade sein muss. Dann kann die Anzahl der Knoten mit ungeradem Grad nur gerade sein, da sonst auch die Summe aller Knotengrade ungerade würde. Auf dem Graphen TCH ∪· MCH lässt sich immer ein Eulerkreis berechnen, da alle Knoten geraden Grad haben, was durch die disjunkte Vereinigung sicher gestellt wird. Nun soll noch die Gütegarantie 3/2 bewiesen werden. Satz 4.2. Der Algorithmus von Christofides garantiert eine relative Güte von 3/2. Beweis. Da wir aus dem Eulerkreis nur noch Kanten löschen, genügt es zu zeigen, dass c(ECH ) = c(TCH ) + c(MCH ) ≤ 32 c(Copt ). Sei Copt ein minimaler Hamiltonkreis in G. Entfernt man eine Kante aus Copt erhält man einen Spannbaum. Daher gilt c(TCH ) ≤ c(Copt ). Jetzt bleibt noch zu zeigen, dass c(MCH ) ≤ 21 c(Copt ). Dafür betrachten wir einen neuen Kreis H, der entsteht, wenn die Knoten aus S in der Reihenfolge, in der sie in Copt vorkommen abgelaufen werden (siehe Abbildung 3). H kann in zwei perfekte Matchings M1 und M2 zerlegt Abbildung 3: Der Kreis H mit dem Matching M1 und gestrichelt die zusätzlichen Kanten aus Copt werden. Ohne Einschränkung der Allgemeinheit sei jetzt c(M1 ) ≤ c(M2 ). Dann gilt: 1 1 c(MCH ) ≤ c(M1 ) ≤ (c(M1 ) + c(M2 )) = c(H) 2 2 10 Mit der Dreiecksungleichung folgt weiterhin: 1 1 c(H) ≤ c(Copt ) 2 2 Damit ist insgesamt die Gütegarantie von 3/2 gezeigt. Die Laufzeit des Algorithmus wird von der Bestimmung eines perfekten Matchings minimalen Gewichts dominiert. Dieses Problem kann mit dem von Edmonds beschriebenen Blossom Algorithm [7] leicht in O(n2 m) gelöst werden. Durch Lawler wurde die Laufzeit weiter auf O(n3 ) gesenkt [10] und mittlerweile noch weiter verbessert [5]. Damit garantiert der Algorithmus von Christofides eine Güte von 3/2 bei einer Laufzeit, die in O(n3 ) liegt. Des Weiteren kann durch die Angabe einer Zeugenmenge gezeigt werden, dass die bewiesene obere Schranke von 3/2 für die Güte des Algorithmus von Christofides scharf ist [12, S. 45]. 5 Das geometrische Traveling Salesman Problem Besonders interessant ist auch das geometrische TSP. Dabei werden die Knoten mit Punkten im d-dimensionalen Raum identifiziert. Die Gewichtsfunktion c wird dann durch den Abstand zweier Punkte bezüglich einer p-Norm ersetzt. Der Abstand muss in diesem Fall natürlich nicht ganzzahlig sein. Die p-Norm ist wie folgt definiert: kx, ykp = n X !1/p p |xi − yi | für x = (x1 , . . . , xn ) und y = (y1 , . . . , yn ) i=1 Für p = 2 entspricht dies genau der euklidischen Norm. Für das geometrische TSP hat Arora 1996 ein so genanntes polynomielles Approximationsschema vorgestellt [1], mit dem man das Problem mit einer beliebigen konstanten relativen Güte größer 1 polynomiell approximieren kann. Natürlich kann eine größere Genauigkeit nur auf Kosten der Laufzeit erreicht werden. Trotzdem war dies ein großer Erfolg, da Arora selbst bereits für ∆TSP gezeigt hatte, dass kein polynomielles Approximationsschema existiert, falls P 6= NP [3]. Definition 5.1 Sei Π ein Optimierungsproblem und A ein Approximati11 onsalgorithmus mit den Eingaben (0 < < 1) und der Probleminstanz I. Dann ist A ein polynomielles Approximationsschema (PAS) für Π, wenn A in polynomieller Zeit (in der Länge der Eingabeinstanz) eine zulässige Lösung mit einem relativem Fehler, der kleiner als ist berechnet. In diesem Fall approximiert der Algorithmus von Arora das geometrische TSP mit Faktor 1 + in einer Zeit von nO(1/) . 5.1 Idee des Algorithmus Hier wird der Algorithmus nur für den 2-dimensionalen Fall mit der euklidischen Norm gezeigt. Diesen Spezialfall nennt man euklidisches TSP. Die Erweiterung auf alle p-Normen und den d-dimensionalen Fall ist mit kleineren Anpassungen am Algorithmus auch möglich. Die Idee des Algorithmus beruht auf dem Divide-and-Conquer-Verfahren, bei dem eine Probleminstanz rekursiv in Teilprobleme aufgeteilt wird, die dann einzeln gelöst und zu einer Gesamtlösung zusammen gesetzt werden. In diesem Algorithmus wird ein Hüllquadrat rekursiv in Teilquadrate aufgeteilt und es wird festgelegt, dass ein Hamiltonkreis eine so entstandene Grenzlinie zwischen den Quadraten nur O(1/) mal überschreiten darf. Dann wird mittels dynamischer Programmierung ein solcher Hamiltonkreis gefunden. 5.2 Rundung Sei I = hGi eine Probleminstanz des euklidischen TSP, wobei G ein vollständiger Graph mit Knoten v ∈ R2 ist. Sei OPT die Länge eines minimalen Hamiltonkreises Copt in G. Zuerst wird durch eine leichte Verschiebung der Knoten sichergestellt, dass sie alle auf einem Einheitsgitter liegen und damit ganzzahlige Koordinaten haben. Des Weiteren sollen danach alle Knotendistanzen, die nicht 0 sind, mindestens 2 sein und die maximale Distanz zwischen zwei Knoten soll höchstens n2 /2 sein. Dafür wird das kleinste achsenparallele Quadrat gefunden, das alle Knoten einschließt. Dieses Quadrat wird Hüllquadrat genannt und hat eine Seitenlänge l. Sei d die größte Entfernung zwischen zwei Knoten in G. Mit einem 3 Gitter bei dem die Gitterlinien einen Abstand von d/n 2 von einander haben 1 und der Annahme, dass > 1/n 3 gilt, lassen sich alle obigen Bedingungen erfüllen [2, S. 210]. Dafür werden alle Knoten auf den nächstgelegenen Gitterpunkt verschoben und die Distanzen so skaliert, dass zwei Gitterpunkte den Abstand 2 haben. In dem Fall, dass zwei Knoten auf den selben Gitterpunkt fallen, werden diese erst einmal wie ein einziger Knoten behandelt 12 und dann vor der Ausgabe wieder aufgesplittet. Abbildung 4: Verschieben der Knoten auf Gitterpunkte Durch diese Verschiebung der Knoten wird die Länge der optimalen Tour 1 um höchstens d/n 2 verändert, was im Verhältnis zu der vorgeschriebenen höchsten Abweichung von ·OPT für große n vernachlässigbar ist. 5.3 Partitionierung Die Partitionierung erfolgt randomisiert. Dafür betrachtet man ein weiteres achsenparalleles Quadrat Q, dessen Seitenlänge 2l ist und das mit dem linken unteren Eckpunkt auf dem linken unteren Eckpunkt des Hüllquadrats liegt. Seien nun a und b zufällig gewählte ganze Zahlen im Bereich von 0 bis l. Nun wird Q um a Einheiten nach links und b Einheiten nach unten verschoben, das entstehende Quadrat wird Q0 genannt. Da Q0 das Hüllquadrat unabhängig von a und b vollständig überdeckt, beinhaltet eine Partitionierung von Q0 automatisch eine Partitionierung des Hüllquadrats und damit des ganzen Graphen G. Die Partitionierung von Q0 wird mittels Quadtrees realisiert. Dabei wird das Wurzelquadrat rekursiv so lange in vier gleich große Kindquadrate zerlegt bis jedes Blattquadrat höchstens einen Knoten enthält (siehe auch Abbildung 5). Ohne Beschränkung der Allgemeinheit wird hierbei angenommen, dass die Seitenlänge 2l von Q0 eine Zweierpotenz ist. Genauso wie den Teilquadraten im Quadtree eine Tiefe zugeordnet ist, kann man nun auch den beiden Linien, die ein Quadrat zerteilen, dessen Tiefe zuordnen. Damit so auch alle Gitterlinien eine Tiefe zugeordnet bekommen, weist man ihnen die Tiefe zu, die sie hätten, wenn die Partitionierung fortgesetzt würde bis alle Blattquadrate Seitenlänge 1 hätten. Wichtig für den Algorithmus ist, dass alle Gitterlinien in dem Hüllquadrat mit gleicher Wahrscheinlichkeit in der Partitionierung eine Linie der Tiefe 13 Abbildung 5: Beipiel einer randomisierten Partitionierung i sind. Dies ist durch die Partition und zufällige Verschiebung des größeren Quadrats gegeben. Die Wahrscheinlichkeit ergibt sich dadurch, dass es 2i äquidistante Linien der Tiefe i gibt, wie folgt: Proba (die Gitterlinie hat Tiefe i) = 5.4 2i 2l Portale Die möglichen Touren sollen jetzt so beschränkt werden, dass sie nur noch über bestimmte Punkte auf den Linien, Portale genannt, zwischen Quadraten wechseln können. Auf einer Linie mit Tiefe i gibt es 2i+1 m äquidistante Portale. Die Konstante m heißt der Portalparameter und wird in unserem Fall auf O(log(n)/) festgelegt. Außerdem ist jede Ecke eines Quadrates ein Portal. Da eine Linie der Tiefe i auf jeder Seite zu 2i+1 Quadraten der Tiefe i + 1 benachbart ist, hat jedes Quadrat höchstens 4m + 4 Portale. Als Nächstes wird mittels dynamischer Programmierung eine möglichst kurze Tour gefunden, die alle Knoten besucht und die Grenze zwischen zwei Quadraten nur durch Portale überschreitet. Dies ist in einer Zeit von nO(1/) möglich. Als letztes bleibt dann noch zu zeigen, dass die optimale portalrespektierende Tour mit einer Wahrscheinlichkeit von mindestens 1/2 eine (1 + )Approximation für OPT ist. 14 5.5 Der Algorithmus Eine erste Einsicht ist, dass eine optimale portalrespektierende Tour jedes Portal höchstens zweimal benutzt. Andernfalls kann mit Verwendung der Dreiecksungleichung leicht eine kürzere Tour gefunden werden. Damit wird die Grenze zu jedem Quadrat höchstens 8m + 8 mal überschritten. Der Algorithmus berechnet jetzt zuerst wie oben beschrieben eine Partitionierung. Dies kann effizient durch die Sortierung der Knoten nach ihren Koordinaten geschehen. Von unten nach oben im Quadtree wird für jedes Quadrat und alle Möglichkeiten Portale auszuwählen und zu kombinieren eine optimale Teiltour innerhalb dieses Quadrats berechnet und in einer Tabelle gespeichert. Es gibt natürlich für jedes Quadrat viele Möglichkeiten, Portale auszuwählen und durch Wege zu verbinden. Wie viele das sind wird jetzt noch abgeschätzt. Einerseits darf jedes Portal höchstens zweimal benutzt werden. Dies entspricht bei 4m + 4 Portalen 34m+4 Möglichkeiten die Portale auszuwählen. Es gilt 34m+4 = 2(4m+4) log 3 = 2O(log n/) = nO(1/) Andererseits kann eine optimale Tour wegen der Dreiecksungleichung keine Kreuzungen enthalten und damit können die Pfade zwischen den ausgewählten Portalen nur so gezogen werden, dass die so entstehenden Paare von Portalen einem gültigen Klammerausdruck entsprechen (siehe auch Abbildung 6). Die Anzahl der gültigen Klammerausdrücke für 2s Klammern ist 1 2s 2s die Catalanzahl Cs = s+1 s . Diese ist kleiner als 2 , da dies der Anzahl aller möglichen (nicht unbedingt gültigen) Klammerausdrücken entspricht. Da jedes Quadrat höchstens 8m+8 mal betreten bzw. verlassen werden kann ist die Anzahl der zu betrachtenden Paarungen für die ausgewählten Portale kleiner als 28m+8 = 2O(log n/) = nO(1/) . Damit ist die Anzahl der gültigen Auswahlen und Kombinationen von Portalen für ein Quadrat insgesamt auch (nO(1/) )2 = nO(1/) . Um die optimalen Touren zu berechnen, wird für die Blattquadrate im Quadtree, die alle nur höchstens einen Knoten enthalten, in O(m) Zeit ausprobiert, in welchen Pfad von einem Portal zum anderen man diesen Knoten einfügen muss (siehe Abbildung 6). Für innere Knoten des Quadtrees betrachtet der Algorithmus alle Möglichkeiten, wie eine portalrespektierende Tour die Grenzen zwischen seinen vier Kindern überschreiten kann. Für jede dieser Möglichkeiten berechnet der Algorithmus die Kosten einer solchen Tour indem er die Summe der Kosten der optimalen Touren für die Kinder bildet. Zwischen diesen Kindern gibt 15 Abbildung 6: Beispiel für eine portalrespektierenden Tour innerhalb eines Blattquadrats es 4m + 1 Portale. Für die Anzahl an zulässigen Möglichkeiten kann man ähnlich wie eben zeigen, dass diese in nO(1/) liegt. Der Quadtree hat höchstens 2n Blätter, da von je vier benachbarten Blättern höchstens zwei keinen Knoten enthalten können, sonst wäre die Partitionierung schon einen Schritt vorher abgebrochen worden. Damit liegt die Anzahl der Quadrate insgesamt in O(n log n). Insgesamt hat der Algorithmus nun eine Laufzeit von nO(1/) , da alle anderen linearen oder logarithmischen Faktoren von diesem Faktor dominiert werden. Da der Algorithmus am Ende auch eine optimale portalrespektierende Tour für das Wurzelquadrat berechnet, das den gesamten Graphen enthält, findet er auch die optimale portalrespektierende Tour in dem Graphen G. 5.6 Analyse der Gütegarantie Zu zeigen bleibt noch, dass die Länge der optimalen portalrespektierenden Tour OPTm,a,b ) mit einer Wahrscheinlichkeit von mindestens 1/2 eine (1+)Approximation für OPT ist. Sei d(u, v) die euklidische Distanz von u und v und da,b (u, v) die portalrespektierende Distanz von u und v, das heißt die Länge des kürzesten portalrespektierenden Wegs zwischen u und v. Satz 5.1. Der Erwartungswert von da,b (u, v) − d(u, v) ist höchstens log(2l) d(u, v). m Beweis. Die Strecke (u, v) kreuzt höchstens 2d(u, v) Gitterlinien. Die por16 Abbildung 7: Skizze des portalrespektierenden Weges aus dem Beweis von Satz 5.1 talrespektierende Distanz kann dadurch nach oben abgeschätzt werden, dass man die Länge des portalrespektierenden Wegs verwendet, der an jeder Gitterlinie von dem optimalen Weg aus einen Umweg zu dem nächsten Portal und wieder zurück macht (siehe Abbildung 7). Ein solcher Umweg ist für eine Gitterlinie der Tiefe i höchstens 2l/m2i+1 lang, was dem Abstand zwischen zwei Portalen auf dieser Linie entspricht. Die Wahrscheinlichkeit dafür, dass eine Gitterlinie die Tiefe i hat ist wie bereits gezeigt 2i /2l. Damit ist der Erwartungswert für die Länge des Weges 2d(u, v) X 2i i X 1 2l log(2l) = d(u, v) = d(u, v). i+1 2l m2 m m · i Wenn man nun OPTm,a,b nach oben durch die Länge der Tour abschätzt, die entsteht, wenn man die optimale Tour Copt portalrespektierend macht, dann ist der Erwartungswert von OPTm,a,b − OPT höchstens log(2l) · OPT. m Mit einer Wahrscheinlichkeit von mindestens 1/2 ist OPTm,a,b − OPT dann kleiner als der doppelte Erwartungswert 2 log(2l) · OPT. m Es gilt l ≤ n2 /2 und wenn man jetzt noch m ≥ 4 log n/ wählt, gilt insgesamt 2 log(2l) 2 log(n2 ) 4 log n · OPT ≤ · OPT ≤ · OPT ≤ · OPT. m 4 log n 4 log n Damit ist OPTm,a,b ≤ (1 + )OPT mit einer Wahrscheinlichkeit von mindestens 1/2. Insgesamt ist nun die Korrektheit und die Abhängigkeit der Laufzeit von der gewünschten Güte bewiesen und damit der Algorithmus von Arora ein PAS für geometrisches TSP. 17 Literaturverzeichnis [1] Sanjeev Arora. Polynomial time approximation schemes for Euclidean TSP and other geometric problems. In Foundations of Computer Science. Proceedings., 37th Annual Symposium, 1996. [2] Sanjeev Arora. Approximation algorithms for geometric TSP. In Gregory Gutin, editor, The traveling salesman problem and its variations. Springer, 2007. [3] Sanjeev Arora, Carsten Lund, Rajeev Motwani, Madhu Sudan, and Mario Szegedy. Proof verification and the hardness of approximation problems. Journal of the ACM, 45, 1998. [4] Nicos Christofides. Worst-case analysis of a new heuristic for the travelling salesman problem. Technical Report 388, Graduate School of Industrial Administration, Carnegie Mellon University, 1976. [5] William Cook and Andre Rohe. Computing minimum-weight perfect matchings. INFORMS Journal on Computing, 11, 1999. [6] Thomas H. Cormen, Clifford Stein, Ronald L. Rivest, and Charles E. Leiserson. Introduction to Algorithms. McGraw-Hill Higher Education, 2001. [7] Jack Edmonds. Paths, trees, and flowers. Canadian Journal of Mathematics, 17, 1965. [8] Dorit S. Hochbaum, editor. Approximation algorithms for NP-hard problems. PWS Publishing Co., 1997. [9] Richard M. Karp. Reducibility among combinatorial problems. In Complexity of Computer Computations. Plenum Press, 1972. [10] Eugene L. Lawler. Combinatorial optimization: networks and matroids. Holt, Rinehart and Winston, 1976. [11] Robert C. Prim. Shortest connection networks and some generalizations. Bell System Technology Journal, 36, 1957. [12] Rolf Wanka. Approximationsalgorithmen : Eine Einführung. B.G. Teubner Verlag, 2006. 18