Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

vorgetragen von Alex Prentki

Ähnliche Präsentationen


Präsentation zum Thema: "vorgetragen von Alex Prentki"—  Präsentation transkript:

1 vorgetragen von Alex Prentki
Lokale Variante des Algorithmus von Dijkstra zur Berechnung kürzester Wege und das Problem der Aktualisierung von Wegen bei Leitungsausfällen vorgetragen von Alex Prentki To replace the title / subtitle with your own: Click on the title block -> select all the text by pressing Ctrl+A -> press Delete key -> type your own text

2 Agenda Problemstellung Grundlagen der Graphentheorie
Der Dijkstra Algorithmus Problem bei Leitungsausfällen Lösungsansätze A pot file is a Design Template file, which provides you the “look” of the presentation You apply a pot file by opening the Task Pane with View > Task Pane and select Slide Design – Design Templates. Click on the word Browse… at bottom of Task Pane and navigate to where you stored BlueOnyx Deluxe.pot (black background) or BluePearl Deluxe.pot (white background) and click on Apply. You can switch between black and white background by navigating to that pot file and click on Apply. Another easier way to switch background is by changing color scheme. Opening the Task Pane, select Slide Design – Color Schemes and click on one of the two schemes. All your existing content (including Business Unit or Product Names) will be switched without any modification to color or wording. Start with Blank Presentation, then switch to the desired Design Template Start a new presentation as Blank Presentation You can switch to Blue Onyx Deluxe.pot by opening the Task Pane with View > Task Pane and select Slide Design – Design Templates. Click on the word Browse… at bottom of Task Pane and navigate to where you stored BlueOnyx Deluxe.pot (black background) and click on Apply. Your existing content will take on Blue Onyx’s black background, and previous black text will turn to white. You should add your Business Unit or Product Name by modifying it on the Slide Master You switch to the Slide Master view by View > Master > Slide Master. Click on the Title Page thumbnail icon on the left, and click on the Business Unit or Product Name field to modify it. Click on the Bullet List Page thumbnail icon on the left, and click on the Business Unit or Product Name field to modify it. Click on Close Master View button on the floating Master View Toolbar You can turn on the optional date and footer fields by View > Header and Footer Suggested footer on all pages including Title Page: Presentation Title | Confidential Date and time field can be fixed, or Update automatically. It appears to the right of the footer. Slide number field can be turned on as well. It appears to the left of the footer. Fazit Samstag, 22. September 2018

3 Problemstellung Routingverfahren (RIP & OSPF)
Finden kürzester Wege interessant in vielen Bereichen Routingverfahren (RIP & OSPF) Logistik: Transportwege in einem Distributionssystem KI: viele Probleme können als Suchprobleme dargestellt werden Problem: Häufig sehr viele Knoten im Suchraum Beispiel Schach: 25 Züge bei gegebener Stellung möglich 5 eigene und 5 gegnerische Züge vorausplanen es müssen 2513 Züge überschaut werden! Samstag, 22. September 2018

4 Grundlagen der Graphentheorie
Ein ungerichteter Graph besteht aus einer Menge E von Ecken und einer Menge K von Kanten. Die Ecken werden oft auch Knoten oder Punkte genannt. „Ungerichtet“ heißt es deswegen, weil zwischen Anfangs- und Endpunkt der Kante nicht unterschieden wird. e2 e3 k2 k1 k5 k3 e1 k4 e4 e5 „gerichtet“ Samstag, 22. September 2018

5 Grundlagen der Graphentheorie
Von Nachbarn spricht man, wenn zwei Ecken e und f eines ungerichteten Graphen benachbart sind, d.h. wenn es eine Kante von e nach f gibt. e1 e2 e4 e5 e3 Samstag, 22. September 2018

6 Grundlagen der Graphentheorie
Ein Pfad von einem Anfangsknoten a zu einem Endknoten z ist eine Knotenfolge (oder auch Kantenfolge) von p Knoten e1,e2,...,ep mit e1=a, ep=z. Die Knotenfolge kann einen Knoten mehrfach durchlaufen. (Wiederholungsmöglichkeit) e2 e3= z e1= a e4 e5 Samstag, 22. September 2018

7 Grundlagen der Graphentheorie
Ein Weg von einem Anfangsknoten a zu einem Endknoten z ist ein Pfad, bei dem alle verwendeten Kanten verschieden sind (ohne Wiederholungsmöglichkeit). Ist der Startknoten gleich dem Endknoten des Weges, so heißt der Weg geschlossen, andernfalls heißt er offen. e2 e3= z „offen“ e1= a e4 e5 Samstag, 22. September 2018

8 Grundlagen der Graphentheorie
Ein Weg von einem Anfangsknoten a zu einem Endknoten z ist ein Pfad, bei dem alle verwendeten Kanten verschieden sind (ohne Wiederholungsmöglichkeit). Ist der Startknoten gleich dem Endknoten des Weges, so heißt der Weg geschlossen, andernfalls heißt er offen. e2= a = z e3 „geschlossen“ e1 e4 e5 Samstag, 22. September 2018

9 Grundlagen der Graphentheorie
Bei bewerteten Graphen wird jeder Kante ein Wert aus der praktischen Anwendung zugewiesen. Die Länge eines Weges zwischen einem Startknoten s und einem Zielknoten z ist dann gegeben als die Summe der Bewertungen auf den Kanten des Weges. Hamburg 150 Länge = 980km 280 Berlin Hannover 190 460 Dresden Frankfurt Samstag, 22. September 2018

10 Grundlagen der Graphentheorie
kW-Baum Ein kürzeste-Wege-Baum ist immer ein Untergraph eines kantenbewerteten Graphen G, bei dem alle Kantenbewertungen positiv bzw. ≥ 0 sind. Der kW-baum ist ein gerichteter Baum mit der Wurzel w. „umfassender“ Graph G kW-Baum w Samstag, 22. September 2018

11 Edsger Wybe Dijkstra (1930-2002)
Geboren in Rotterdam International angesehener Computer Wissenschaftler Lebte lange in Holland und arbeitete an der Eindhoven Universität für Technologie Anfang der 70er war er in der Forschungsabteilung der „Burroughs Corporation“ tätig 1972 Turing Award Lehrstuhl an der University of Texas Samstag, 22. September 2018

12 Der Dijkstra Algorithmus
Basiert auf einer geschickten Auswahl des zu bearbeitenden Knotens. Definition und Initialisierung der Distanz D: Alle Knoten, die nicht unmittelbare Nachbarn der Wurzel sind, erhalten D = ∞ Bildung von zwei Mengen Menge B enthält alle Knoten, für welche schon ein Weg von der Wurzel aus bekannt ist. Ein Knoten i ist in B, wenn D[i] ≠ ∞ Menge E enthält alle endgültig markierten Knoten. Samstag, 22. September 2018

13 Der Dijkstra Algorithmus
Auswahl des Knotens mit der geringsten Distanz Vorgänger dieses Knotens merken Knoten aus B entfernen und in E einfügen Distanzen zu „neuen“ Nachbarn ermitteln Wiederholung ab Schritt 3 bis Zielknoten in E eingefügt oder alle Knoten bearbeitet wurden Jeder Knoten kennt nun den Vorgänger, über den er am schnellsten zu erreichen ist! Samstag, 22. September 2018

14 Der Dijkstra Algorithmus - Anfangszustand
V=A B 7 C 4 2 1 13 5 Wurzel A Z(iel) G 4 1 10 6 9 3 5 D F E B = { B,G,F } B = { G,F } E = { } E = { B } Samstag, 22. September 2018

15 Der Dijkstra Algorithmus – Schritt 2
A → B → C = 11 V=A B 7 C 4 2 5 Wurzel A A → B → G = 6 Z(iel) G V=A 10 D F E B = { G,F } B = { F,C } B = { G,F,C } E = { B,G } E = { B } Samstag, 22. September 2018

16 Der Dijkstra Algorithmus – Schritt 3
A → B → C = 11 V=A V=G B 7 C 4 2 1 5 Wurzel A A → G → C = 6 Z(iel) G V=A 10 6 9 A → G → F = 11 D F E A → G → E = 14 B = { C,F,E } B = { C,F } B = { F,E } E = { B,G } E = { B,G,C } Samstag, 22. September 2018

17 Der Dijkstra Algorithmus – Schritt 4
V=A V=G B 7 C 4 2 1 13 A → G → C → Z = 19 5 Wurzel A Z(iel) G V=A 10 6 9 A → G → F = 11 D F E V=A A → G → E = 14 B = { E,Z } B = { F,E,Z } B = { F,E } E = { B,G,C } E = { B,G,C,F } Samstag, 22. September 2018

18 Der Dijkstra Algorithmus – Schritt 5
V=A V=G B 7 C 4 2 1 13 A → G → C → Z = 19 5 Wurzel A Z(iel) G V=A 10 6 9 3 D F E V=A V=F A → G → E = 14 B = { E,Z } B = { Z } E = { B,G,C,F,E } E = { B,G,C,F } Samstag, 22. September 2018

19 Der Dijkstra Algorithmus – Schritt 6
V=A V=G B 7 C 4 2 1 13 A → G → C → Z = 19 5 Wurzel A Z(iel) G V=E 4 V=A 10 6 9 3 5 D F E V=A V=F B = { D } B = { Z,D } B = { Z } Kürzester Weg von A nach Z = 17 A → F → E → D = 18 A → F → E → Z = 17 E = { B,G,C,F,E } E = { B,G,C,F,E,Z } Samstag, 22. September 2018

20 Problem der Aktualisierung von Wegen bei Leitungsausfällen
Szenario Leitung fällt auf Grund eines Unwetterschadens aus Router bemerken den Ausfall und starten eine komplette Neuberechnung ALLER Wege Router tauschen die Informationen untereinander aus sehr hoher Rechenaufwand Warum gibt es nichts effizienteres? Samstag, 22. September 2018

21 Problem der Aktualisierung von Wegen bei Leitungsausfällen
... weil die Wissenschaft sich mit der Laufzeit O[n2] des Dijkstra Algorithmus zufrieden gibt! Der scheinbar sehr hohe Rechenaufwand relativiert sich durch die steigende Rechenleistung der Hardware Wir wollen uns damit jedoch jetzt nicht zufrieden stellen lassen! Samstag, 22. September 2018

22 Lösungsansatz Idee Router haben einmal alle kürzesten Wege für jedes Ziel berechnet und diese abgespeichert Der Router müsste bei einem Ausfall nun lediglich einen Weg kennen, über den er diesen umgeht, bis er auf einen anderen Knoten des ursprünglichen Pfades trifft. Ab dort würde der „alte“ Pfad dann fortgesetzt. Dieser Pfad soll im Folgenden Umgehungsweg heißen Umgehungspfade wurden vorher berechnet und Router soll bei Ausfall sofort auf diesen umschalten Samstag, 22. September 2018

23 Konsequenzen Lösungsansatz
Router müssen für jedes Ziel einen zusätzlichen Umgehungsweg berechnen: Dijkstra Algorithmus läuft normal, bricht aber früher ab. (wenn ein Knoten des ursprünglichen Pfades erreicht) Diese Pfade könnten im Router als Array abgespeichert werden: Umgehungswege[i] = j i = ausgefallener Knoten j = Umgehungsknoten Samstag, 22. September 2018

24 Realisierung – Beipiel 1
A muss G als Umgehungsweg kennen, G kennt dann bereits den Weg über E nach Z Router F fällt aus B 7 C 4 2 1 13 5 Wurzel A Z(iel) G 4 V=A 1 10 6 9 3 5 D F E V=A V=F Samstag, 22. September 2018

25 Realisierung – Beipiel 2
F muss G als Umgehungsweg kennen, G nutzt dann ebenfalls seinen Umgehungsweg über C nach Z Router E ist defekt B 7 C 4 2 1 13 5 Wurzel A Z(iel) G 4 V=A 1 10 6 9 3 5 D F E V=A V=F Samstag, 22. September 2018

26 Bewertung des Lösungsansatzes
+ Leitungsausfall kann sofort umgangen werden + weniger Rechenaufwand - Mehr Speicherbedarf - Umgehungswege nur partiell optimal (Beispiel 2) Keine „echte“ Lösung des Problems, aber Einsatz für zeitkritische Leitungsabschnitte denkbar Samstag, 22. September 2018

27 Fazit Zielsetzung dieser Arbeit war es,
eine Einführung in die graphen- theoretische Wegoptimierung zu geben den Dijkstra Algorithmus zu veranschaulichen Herrn Dijkstra mit einer besseren Lösung zu übertreffen! Samstag, 22. September 2018

28 Vielen Dank für Ihre Aufmerksamkeit
Ende Vielen Dank für Ihre Aufmerksamkeit Samstag, 22. September 2018


Herunterladen ppt "vorgetragen von Alex Prentki"

Ähnliche Präsentationen


Google-Anzeigen