Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Eine Näherungslösung für das Problem des Handlungsreisenden

Ähnliche Präsentationen


Präsentation zum Thema: "Eine Näherungslösung für das Problem des Handlungsreisenden"—  Präsentation transkript:

1 Eine Näherungslösung für das Problem des Handlungsreisenden

2 Euklidische Graphen Ein Graph heißt euklidisch, wenn in jedem seiner Dreiecke die Umwege mindestens so lang sind wie die direkten Wege. 3 9 7 Im abgebildeten Dreieck ist die Bedingung erfüllt, denn wegen 3 + 7 = 10 > 9 9 + 3 = 12 > 7 7 + 9 = 16 > 3 sind die Umwege immer mindestens so lang wie die direkten Wege. Wenn wir einen Graph mit geographischen Entfernung (z. B. Flugrouten) haben, dann ist er stets euklidisch, denn in realen Dreiecken ist die obige Bedingung immer erfüllt. Man nennt sie dort auch die Dreiecksungleichung.

3 Fehlende Kanten Wenn in einem Graphen eine Kante fehlt, dann ist er nicht mehr euklisch. 3 7 Denn eine fehlende Kante wird als unendlich lang betrachtet. Damit gilt 3 + 7 = 10 < ∞ und der Graph ist nicht euklidisch. Also können nur vollständige Graphen euklidisch sein.

4 Näherungslösung für Handlungsreisen
In einem euklidischen Graphen können wir mit dem folgenden Algorithmus eine Handlungsreise erzeugen. Im allgemeinen wird sie allerdings nicht die kürzestmögliche sein. Durchlaufe die Knoten des minimalen Spannbaums in einer Tiefensuche. Wenn du dabei gezwungen wärest, Kanten ein zweites Mal zu durchlaufen, nimm die jeweilige Abkürzung. Die Gesamtkantenlänge des minimalen Spannbaum ist höchstens die Länge L der kürzestmöglichen Handlungsreise. Wenn wir den minimalen Spannbaum in einer Tiefensuche durchlaufen, legen wir also höchstens die Gesamtstrecke 2∙L zurück, denn eine Tiefensuche durchläuft jede Kante genau zweimal. Da wir Abkürzungen verwenden, ist die Länge der entstehenden Handlungsreise ebenfalls höchstens 2∙L, also höchstens doppelt so lang wie die kürzestmögliche Handlungsreise.

5 Beispiel Wir beginnen die Tiefensuche in unserem minimalen Spannbaum beim Knoten 0. 1 7 7 4 4 9 3 3 10 10 7 7 7 7 6 6 4 11 5 3 3 12 9 12 6 6 3 6 3 4 4 6 2 8 6 7 9 7 7 5 11 6 9 6 8 8 3 4 4 11 15 15 10 Die entstandene Handlungsreise hat Gesamtlänge 79 und ist damit um 14 Einheiten länger als die kürzestmögliche Handlungsreise

6 Wie euklidisch muss der Graph sein?
Wie wir im Beispiel gesehen haben, muss der Graph gar nicht überall euklidisch sein, damit der Algorithmus funktioniert. Es genügt, dass er entlang des Spannbaums (und zwar dort, wo Abkürzungen benötigt werden) euklidisch ist.

7 Aufwand der Näherungslösung
Um mit dem Algorithmus von Kruskal den minimalen Spannbaum zu erzeugen, haben wir Aufwand O(n2 · log n). Für die Tiefensuche im Spannbaum benötigen wir O(n-1) = O(n), da der Spannbaum n-1 Kanten hat. Die Abkürzungen können wir ebenfalls mit O(n) einzeichnen. Der Gesamtaufwand der Näherungslösung beträgt demzufolge O(n2 · log n). Das ist wesentlich weniger als der Aufwand O(n!) für die exakte Lösung. Darum ist die Näherungslösung immer dann zu bevorzugen, wenn die Planung der Reise mit dem exakten Algorithmus länger dauern würde als die Handlungsreise selbst.

8 Interpretation Wir haben hier ein allgemeines Prinzip der Algorithmik kennengelernt: Manche Probleme sind (zumindest nach derzeitigem Wissensstand) nur mit sehr hohem Aufwand exakt zu lösen. Wenn wir allerdings bereit sind, uns mit recht brauchbaren Näherungen zufriedenzugeben, finden wir oft einfache und sehr schnelle Algorithmen, die das Problem annähernd lösen.


Herunterladen ppt "Eine Näherungslösung für das Problem des Handlungsreisenden"

Ähnliche Präsentationen


Google-Anzeigen