39
Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 18.12.2008 Numerische Methoden und Algorithmen in der Physik Christian Autermann 1/ 39

Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Numerische Methoden und Algorithmen in derPhysik

Hartmut Stadie, Christian Autermann

18.12.2008

Numerische Methoden und Algorithmen in der Physik Christian Autermann 1/ 39

Page 2: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Einführung NP-vollständige Probleme

MST und Euler-/Hamiltonkreis

Traveling Salesman

Numerische Methoden und Algorithmen in der Physik Christian Autermann 2/ 39

Page 3: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Übersicht

Einführung NP-vollständige ProblemeLiteraturlisteEinleitungNP-VollständigkeitBeispiel

MST und Euler-/Hamiltonkreis

Traveling Salesman

Numerische Methoden und Algorithmen in der Physik Christian Autermann 3/ 39

Page 4: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Informationen

Material:Stroustrup: The C++ Programming Language, 3rd editionhttp://www.mathematik.uni-marburg.de/∼cpp/B. Stroustrup: C++ In-depth SeriesA. Koenig, B. E. Moo: Accelerated C++Press et al: Numerical Recipes, 3rd editionT. H. Cormen et al: Introductions to Algorithms, 2nd editionhttp://wwwiexp.desy.de/studium/lehre/numalg/

Numerische Methoden und Algorithmen in der Physik Christian Autermann 4/ 39

Page 5: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

NP-vollständige Probleme

ÜbersichtBei der Entwicklung von Algorithmen wird in der Regel versuchtdie „Kosten”, also die Laufzeitabängigkeit und z.B. denSpeicherbedarf zu reduzieren.

Alle bisher betrachteten Algorithmen waren mit mindestenspolynomischem Aufwand lösbar. D.h. bei einem input der Größen verhielt sich die Laufzeit höchstens wie O(nk), wobei k einebeliebige Konstante ist.

Gilt dies für alle Probleme?

Numerische Methoden und Algorithmen in der Physik Christian Autermann 5/ 39

Page 6: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

NP-vollständige Probleme

Die Antwort ist Nein!Beispiel:

Turing’s „Halting Problem”Betrachte Algorithmus A, der bestimmen soll, ob ein AlgorithmusB(~k) für alle möglichen inputs ki ein Ergebnis liefert, also inendlicher Zeit beendet wird.

Einen solchen Algorithmus A kann es nicht geben (Turing).

BeweisSiehe z.B. Wikipedia

Numerische Methoden und Algorithmen in der Physik Christian Autermann 6/ 39

Page 7: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

NP VollständigkeitEine bestimmte Klasse von Problemen nennt man NP-vollständig.Es ist bis heute unbekannt, ob diese Probleme in polynomischemAufwand gelösst werden können.

Es kann gezeigt werden, dass wenn ein NP-vollständiges Problemmit polynomischen Aufwand gelöst werden kann, dann können alleNP-vollständigen Probleme mit O(nk) Aufwand gelöst werden.

Bisher ist weder ein solcher Algorithmus entwickelt worden, nochist bewiesen, dass ein solcher Algorithmus nicht existieren kann.→ 1 Million Dollar Preisgeld für die Be- oder Widerlegung (ClayMathematics Institute).

Numerische Methoden und Algorithmen in der Physik Christian Autermann 7/ 39

Page 8: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

NP-vollständige Probleme

DefinitionP: Klasse aller Probleme die durch Algorithmen mit polynomischenAufwand O(nk) gelöst werden können.

NP: Klasse aller Probleme, für die eine Lösungshypothese mitpolynomischen Aufwand getestet werden kann. Es ist also offenbarP ⊆ NP.

NPC : (NP-vollständig) Klasse der Probleme, für die einAlgorithmus mit polynomischen Aufwand nicht bekannt ist. Es giltNPC ⊆ NP. Falls ein Element A gefunden wird, für das gilt A ∈ Pund A ∈ NPC , dann gilt P = NP und NPC = 0.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 8/ 39

Page 9: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

NP-Vollständigkeit

GenerellesBei der Entwicklung eines Algorithmus für ein spezielles Problemkann es nützlich sein zuerst zu prüfen, ob das ProblemNP-vollständig ist.

In diesem Fall sucht man besser direkt nach einer gutenapproximativen Lösung, als nach einem schnellen Algorithmus, derdas Problem löst.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 9/ 39

Page 10: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Nachweis auf NP-VollständigkeitMan zeigt das ein Problem NP-vollständig ist, in dem man z.B.zeigt das es durch einen Reduktionsalgorithmus R mitpolynomischen Aufwand auf ein neues Problem umgeformt werdenkann, dass bekanntermaßen NP-vollständig ist.

Im Umkehrschluss gilt, dass ein polynomischer Algorithmus Adurch einen polynomischen Reduktionsalgorithmus R zu einemneuen Algorithmus mit polynomischen Aufwand wird. Die Klasseder polynomischen Algorithmen ist also offenbar abgeschlossen.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 10/ 39

Page 11: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

NP-vollständige Probleme

Beispiel für ein NP-vollständiges ProblemDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben)erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,ist nur mit exponentiellen Aufwand beantwortbar und damitNP-vollständig.Für obiges Problem müssen alle 23 Startwertmöglichkeiten getestetwerden.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 11/ 39

Page 12: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Übersicht

Einführung NP-vollständige Probleme

MST und Euler-/HamiltonkreisMinimal Spanning TreesEulerkreis ProblemHamiltonkreis Problem

Traveling Salesman

Numerische Methoden und Algorithmen in der Physik Christian Autermann 12/ 39

Page 13: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Beispiele für ähnliche aber P bzw. NP-vollständige ProblemeMinimal spanning trees (Minimaler Spannbaum) verbindet allePunkte eines Graphen mit dem kürzest möglichen Wegenetz.Durch einen Punkt dürfen beliebig viele Wege führen.

Ein Eulerzug enthält jede Kante eines gegebenden Graphen Kreisesexakt einmal. (Der Eulerzug oder Eulerkreis wird offen genannt,wenn der Start- und Endknoten nicht identisch sind). Es existiereneffiziente (linear), exakte Lösungsverfahren.

Ein Hamiltonkreis ist ein geschlossener Kreis, der alle Knoten desGraphen enthält (und keinen Knoten zweimal durchläuft oderüberschreitet). Es ist ein fundamentales NP-vollständiges Problemder Graphentheorie.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 13/ 39

Page 14: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Minimal spanning trees

Minimaler SpannbaumFür eine Menge von Punkten soll das kürzest mögliche Wegenetzgefunden werden, das alle Punkte verbindet.

Beispiel: Eine Menge von Häusern soll miteinander vernetztwerden, es wird kein Wert auf Redundanz gelegt, aber die Kosten(also die Länge des Netzes) sollen so gering wie möglich sein.

Es existieren Algorithmen, deren Aufwand O(K ln P) bzw.O(K + P ln P) ist, wobei P die Anzahl der Punkte und K die Zahlder möglichen erlaubten Kanten ist.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 14/ 39

Page 15: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Minimal spanning trees

Minimaler SpannbaumDie grau unterlegten Wege bilden einen Minimalen Spannbaum mitGewicht 37. Der MST ist nicht eindeutig, in diesem Beispiel könnteman die Kante b → c mit Gewicht 8 durch die Kante a → h mitGewicht 8 ersetzen.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 15/ 39

Page 16: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Minimal spanning trees

Der folgende Algorithmus gehöhrt zu der Klasse der gierigenAlgorithmen; der Greedy Algorithmus wählt in jedem Schritt denNachfolgezustand, der zu diesem Zeitpunkt den größten Gewinnverspricht.

Pseudocode: Generische MST ImplementationMST(Graph G)

Baum A = 0while A noch kein Minimaler Spannbaum ist

Suche Kante (u,v) die ’sicher’ istA = A + (u,v)

return A

A ist zu jedem Zeitpunkt ein Abschitt eines Minimalen Spannbaumes. Indiesem Sinne ist eine Kante (u,v) “sicher”, wenn auch A+(u,v) ⊆ MST ist.Das verbleibende Problem ist, eine sichere Kante zu finden!

Numerische Methoden und Algorithmen in der Physik Christian Autermann 16/ 39

Page 17: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Minimal spanning trees

Pseudocode: Kruskal AlgorithmusKruskal-MST(Graph G)

for jeden Punkt v in G doDefiniere elementaren Cluster C(v)

Erstelle Liste K aller Kanten, sortiert nach GewichtBaum A = 0while A weniger als n-1 Kanten hat (oder Anzahl C > 1)

Kante (u,v) = K[0]Lösche Element 0 aus Kif C(v) != C(u) then

Erweitere A um die Kante (v,u)Kombiniere C(v) und C(u) zu einem Cluster

return Baum A

Es werden nach und nach Minimale Teil-Spannbäume angelegt. Schleifenwerden vermieden, indem nur unabhängige Cluster kombiniert werden.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 17/ 39

Page 18: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Minimal spanning trees

(1) (2) (3)

(4) (5) (6)

Numerische Methoden und Algorithmen in der Physik Christian Autermann 18/ 39

Page 19: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Eulerkreisproblem

Eine Menge von Kanten soll zu einem zusammenhängenden Zugverbunden werden.

Beispiel: Das Haus vom Nikolaus

����1 ����2

����3 ����4����5

��

��

��

��@@

@@

@@

@@

��

��

@@

@@

Dieses Problem ist offenbar lösbar, ein (offener) Eulerkreis ist z.B.1 → 3 → 5 → 4 → 3 → 2 → 4 → 1 → 2.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 19/ 39

Page 20: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Eulerkreisproblem

Das Königsberger BrückenproblemDas Problem geht zurück auf Leonhard Euler, der 1736 einenRundweg über die sieben Pregel Brücken in Königsberg suchte, sodass jede nur einmal überschritten werden muss.

Wie lautet die Lösung? Bzw. warum ist es nicht lösbar?Numerische Methoden und Algorithmen in der Physik Christian Autermann 20/ 39

Page 21: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Eulerkreisproblem

Königsberger Brückenproblem

1

2

3

4�

PPPPPPPPP

���������

Numerische Methoden und Algorithmen in der Physik Christian Autermann 21/ 39

Page 22: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Eulerkreisproblem

Königsberger Brückenproblem

1

2

3

4�

PPPPPPPPP

���������

Dieses Problem ist nicht lösbar! Euler bewies 1736, dass höchstenszwei Knoten mit einer ungeraden Anzahl von Kanten existierendürfen, damit ein Eulerzug gefunden werden kann. Der Zug ist einEulerkreis, wenn es keine ungeraden Knoten gibt.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 22/ 39

Page 23: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Eulerkreisproblem

Algorithmus von Fleury (1883)1 Starte an einem Knoten mit ungerade Zahl von Kanten, falls

solcher nicht existiert, dann wähle einen beliebigen Knoten2 Wähle für den aktuellen Knoten eine Kante, die den Graph

nicht in zwei Teile teilt, ausser wenn keine Alternative existiert3 Der Endpunkt der Kante ist der neue aktuelle Knoten. Gehe

zu (2) falls noch nicht benutzte Kanten existieren.

Das Ergebnis ist ein Eulerkreis, wenn keine ungeraden Knotenexistieren bzw. ein Eulerzug. Der Algorithmus ist von der OrdnungO(N2), es existieren auch lineare Algorithmen.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 23/ 39

Page 24: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

HamiltonkreisproblemEs soll nun eine Menge von Knoten miteinander zu einemgeschlossenen Zug verbunden werden.

Im Gegensatz zum Eulerkreis ist das HamiltonkreisproblemNP-vollständig und damit wesentlich schwieriger zu lösen, obwohles auf den ersten Blick sehr ähnlich ist.

Beispiel: Hamilton hat ein mathematisches Spiel auf einemDodekaeder beschrieben, bei dem ein Spieler einen Wegabschnittaus fünf Punkten vorgibt, den ein anderer Spieler vervollständigenmuss.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 24/ 39

Page 25: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Hamiltonscher Dodekaeder

Finde einen geschlossenen Weg, der alle Punkte verbindet.Numerische Methoden und Algorithmen in der Physik Christian Autermann 25/ 39

Page 26: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Übersicht

Einführung NP-vollständige Probleme

MST und Euler-/Hamiltonkreis

Traveling SalesmanLösungen des TSPApproximation mit MSTApproximation mit Simulierter Abkühlung

Numerische Methoden und Algorithmen in der Physik Christian Autermann 26/ 39

Page 27: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Traveling Salesman Problem

Beispiel für ein NP-vollständiges ProblemDas wohl bekannteste Beispiel für NP-Vollständigkeit ist dasProblem des Handlungsreisenden (TSP), ein Spezialfall einesHamiltonkreises, nämlich der mit dem kürzesten Weg:

Eine Anzahl N von Städten soll besucht, und schließlich zumAusgangspunkt zurückgekehrt werden. Dabei soll die Anzahl derzurückzulegenden Kilometer (bzw. die Kosten) minimiert werden.

Es gibt keine exakte Lösung mit Aufwand O(nk) für irgendein k.Der „brutale Algorithmus” der einfach alle Möglichkeiten testet,braucht O(N!), andere optimiertere Algorithmen brauchen “nur”etwa O(n22n) Schritte. Der aktuelle Rekord liegt bei 85900Städten, um die exakte Lösung zu bestimmen wurden 135 CPUJahre benötigt.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 27/ 39

Page 28: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Traveling Salesman Problem

ApproximationGroße NP-vollständige Probleme werden approximativ gelöst. DerApproximationsalgorithmus ist dabei polynomisch zeitabhängig.

Die Genauigkeit des Algorithmus in bezug auf die exakte Lösungsei durch (1 + ε) parametrisiert, wobei ε > 0.

Man spricht von einem voll polynomischen Approximations-algorithmus, falls das Laufzeitverhalten sowohl in bezug auf dieGröße des inputs N, als auch in bezug auf 1/ε polynomisch ist,also von der Ordnung O(Nk

εj ) für irgendein j und k.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 28/ 39

Page 29: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Traveling Salesman Problem

DreiecksungleichungDie Dreiecksungleichung lautet:

s(u → w) ≤ s(u → v) + s(v → w) (1)

Der direkte Weg ist immer kürzer als ein Umweg.

Wird dies nicht vorausgesetzt, also werden z.B. die Kosten einesWegs nicht rein geometrisch berechnet, sondern z.B. durchZustand der Strasse, Steigung, Gegend, etc zusätzlich gewichtet,dann ist das Traveling Salesman Problem auch approximativ fürε =const nicht mehr polynomisch lösbar.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 29/ 39

Page 30: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Traveling Salesman Problem

Nächster Nachbar MethodeEine einfache Methode ist die, iterativ den jeweils nächstenNachbar (im Sinne von kürzester Entfernung) zu der Tourhinzuzufügen, bis alle Punkte besucht wurden.

Diese Methode ist beliebig schlecht, u.a. weil bis zum Schluss nichtberücksichtig wurde, dass zum Startpunkt zurückgekehrt werdenmuss.

Weitere Methoden:Minimal Spanning Trees (→ Übung),Christofides-Heuristik (höchstens Faktor 1.5 schlechter alsideale Lösung),Post-Optimierungsverfahren,Abstrakte lokale und globale Suchverfahren, wie z.B.Simulierte Abkühlung (→ Übung).

Numerische Methoden und Algorithmen in der Physik Christian Autermann 30/ 39

Page 31: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Ein Minimaler Spannbaum (MST) ist ein Graph, der alle Punktedurch das kürzeste Wegenetz verbindet, dabei allerdingsverschiedene Punkte mehrfach kreuzen kann.Mit Hilfe eines MST kann eine Tour für den Handlungsreisendengefunden werden, die höchstens um den Faktor 2 länger ist als dieideale Tour, der Laufzeitaufwand des Algorithmus ist O(n2 ln n)(wenn die Dreiecksungleichung gilt).

Minimal Spanning Trees (MST)1 Erzeuge einen minimalen Spannbaum für den

zugrundeliegenden Graphen2 Verdopple jede Kante im resultierenden Spannbaum3 Wähle einen beliebigen Startknoten und folge den Kanten des

verdoppelten Spannbaums im Sinne eines Eulerkreises. Bereitsbesuchte Knoten werden dabei durch die direkte Kante zumfolgenden Knoten übersprungen, sofern es sich nicht um denletzten Knoten des Kreises handelt.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 31/ 39

Page 32: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

(1): Ausgangsverteilung der acht zu besuchenden Städte

Numerische Methoden und Algorithmen in der Physik Christian Autermann 32/ 39

Page 33: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

(2): Der Minimale Spannbaum für die zu besuchenden Städte.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 33/ 39

Page 34: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

(3): Verdoppelung der Kanten. Wähle einen beliebigen Startknotenund folge den Kanten des verdoppelten Spannbaums im Sinneeines Eulerkreises. Bereits besuchte Knoten werden dabei durch diedirekte Kante zum folgenden Knoten übersprungen, sofern es sichnicht um den letzten Knoten des Kreises handelt.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 34/ 39

Page 35: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

(4): Resultierende MST-Tour.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 35/ 39

Page 36: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

(5): Die ideale Lösung ist in diesem Beispiel nur um 23% kürzer.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 36/ 39

Page 37: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Simulierte Abkühlung (simulated annealing)

Grundidee:Nachbildung eines Abkühlungsprozesses:langsame Abkühlung sorgt dafür, dass die Moleküle ausreichendZeit haben, sich zu ordnen und stabile Kristalle zu bilden. Dadurchwird ein energiearmer Zustand, nahe am Optimum erreicht

Einfache Anwendung:1 wähle zufälligen Schritt d zwischen [−δ, δ] mit u = x + d2 wenn E (u) < E (x) wähle x = u3 sonst: wähle x = u mit Wahrscheinlichkeit

p(u) ∼exp(−E(u)−E(xT )

4 erniedrige langsam T und die maximale Schrittweite δ

Numerische Methoden und Algorithmen in der Physik Christian Autermann 37/ 39

Page 38: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Simulierte Abkühlung

Grundlage: MetropolisalgorithmusAkzeptiere immer Schritte bergab und manchmal Schritte bergauf(engl.: Metropolis-Hastings algorithm Metropolis et. al. 1953)

Eigenschaften der Simulierten Abkühlung:findet globale Minimaauch für kombinatorische Probleme anwendbarz.B. Handlungsreisendenproblemwenn Schrittrichtung zufällig, fast immer falsch beimehrdimensionalen Räumenviele Funktionsauswertungengutes Abkühlungsschema muss wolhüberlegt sein oderempirisch gefunden werden

Numerische Methoden und Algorithmen in der Physik Christian Autermann 38/ 39

Page 39: Numerische Methoden und Algorithmen in der PhysikDie Frage ob eine Aussagenlogik (siehe z.B. Schaltlogik oben) erfüllbar ist, d.h. für bestimmte Bedingungen (Startwerte) wahr ist,

Einführung NP-vollständige Probleme MST und Euler-/Hamiltonkreis Traveling Salesman

Simulierte Abkühlung

Anwendung auf das Problem des HandlungsreisendenDie Energie E des Systems ist gegeben durch die Kosten, also dieabsolute Länge der aktuellen Tour. Dies soll minimiert werden.

Der Zustand des Systems x beschreibt die Reihenfolge, in der diePunkte oder Städte angefahren werden sollen. Der neue Zustand ukann also die Reihenfolge x sein, wobei ein Teilabschnitt δ ⊂ xz.B. in umgekehrter Richtung befahren wird, oder an eine andereStelle in x verschoben wird.

Numerische Methoden und Algorithmen in der Physik Christian Autermann 39/ 39