Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Diskrete Mathematik II

Ähnliche Präsentationen


Präsentation zum Thema: "Diskrete Mathematik II"—  Präsentation transkript:

1 Diskrete Mathematik II
Vorlesung 4 SS 2002 Dijkstra-Erweiterungen zur Behandlung realer Straßennetze

2 Überblick: zwei Dijkstra - Erweiterungen
Dijkstra: Finden kürzester Wege in Graphen Reale Netze stellen besondere Anforderungen Größe des Netzwerkes (Effizienz) Dijkstra-Erweiterung "Dijkstra mit Geometrie" Straßenverkehrsordnung (Abbiege- und Wendeverbote) Übergang von Netzen zu Graphen Ansätze: Modifikation des Graphen Modifikation von Dijkstra nur kurzer Ausblick Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

3 Do 80 20 Du 30 20 Ha 15 W D 80 15 K

4 Beispiel Do Ha W Du K D 20 15 80 30 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

5 Algorithmus von Dijkstra: Beispiel
Do Ha W Du K D 20 15 80 30 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

6 Algorithmus von Dijkstra: Beispiel
Do Ha Du 20 80 30 W K D 15 Do Do Du Du 80 Ha 20 Ha Minimaler Abstand von Do Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

7 Algorithmus von Dijkstra: Beispiel
Do Ha W Du K D 20 80 30 15 Do Du Ha 80 20 W 15 W Minimaler Abstand von DO Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

8 Algorithmus von Dijkstra: Beispiel
Do Ha W Du K D 20 80 30 15 abgearbeitet W noch in Arbeit noch nicht betrachtet

9 Algorithmus von Dijkstra: Beispiel
15 Do Ha W Du K D 20 80 30 Do Du Ha W 80 20 15 Kürzester Weg Bereits vorhanden Du Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

10 Algorithmus von Dijkstra: Beispiel
15 Do Ha W Du K D 20 80 30 Du Do Ha W 20 15 30 K 80 D D Du K Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

11 Algorithmus von Dijkstra: Beispiel
Do Ha W Du K D 20 80 30 15 Du D K Do Ha W 20 15 30 80 Bereits vorhanden kürzester Weg D Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

12 Algorithmus von Dijkstra: Beispiel
Do Ha W Du K D 20 80 30 15 Du K Do Ha W D 20 15 30 80 20 D Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

13 Algorithmus von Dijkstra: Beispiel
20 Do Ha W Du K D 80 30 15 Du K Do Ha W D 20 15 30 80 kürzester Weg Bereits vorhanden Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

14 Algorithmus von Dijkstra: Beispiel
Do Ha W Du K D 20 80 30 15 K Du Do Ha W D 20 15 30 80 K Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

15 Algorithmus von Dijkstra: Beispiel
Do Ha W Du D 20 80 30 15 Do Ha W D K Du 20 15 30 15 K K Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

16 Algorithmus von Dijkstra - Wiederholung
algorithmus Dijkstra (S) BLAU = ; GRÜN = {S}; dist(S) = 0; while( GRÜN   ) wähle Knoten K aus GRÜN mit kleinstem dist(K) nimm K aus GRÜN heraus und färbe ihn BLAU; für jeden Nachfolger Ki von K wenn Ki noch nicht besucht färbe Kante von K zu Ki rot und Ki grün; dist(Ki) = dist(K) + dist(K,Ki) wenn Ki GRÜN (erneut erreicht) wenn neuer Weg kürzer als alter Weg setze neuen Weg rot und alten grün setze dist(Ki) auf neuen Wert färbe Ki BLAU wenn Ki bereits BLAU färbe Kante von K zu Ki grün Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

17 Eigenschaften von Dijkstra - Wiederholung
Ermittelt kürzeste Wege von einem Startknoten zu allen anderen Praxis: kürzester Weg von Startknoten zu einem Zielknoten man kann aufhören, sobald Zielknoten blau ist (kürzester Weg gefunden) dennoch .... Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

18 Dijkstra: Richtungslos
Hamburg kürzester Weg von Frankfurt nach Hamburg Berlin Brüssel Prag Frankfurt München Wien Mailand Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

19 Dijkstra: Richtungslos
Hamburg kürzester Weg von Frankfurt nach Hamburg Berlin Brüssel Prag Frankfurt München Wien Mailand Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

20 Dijkstra: Richtungslos
Hamburg kürzester Weg von Frankfurt nach Hamburg Berlin Brüssel Prag Frankfurt München Wien Mailand Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

21 Dijkstra: Richtungslos
Hamburg kürzester Weg von Frankfurt nach Hamburg Berlin Brüssel Prag Frankfurt München Wien Mailand Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

22 Dijkstra: Richtungslos
Hamburg kürzester Weg von Frankfurt nach Hamburg Berlin Brüssel Prag Frankfurt München Wien Mailand Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

23 Dijkstra: Richtungslos
Hamburg Frankfurt Brüssel Prag Berlin Mailand München Wien kürzester Weg von Frankfurt nach Hamburg Alle Knoten innerhalb des Kreises werden bearbeitet Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

24 Schön wäre ... Hamburg kürzester Weg von Frankfurt nach Hamburg Berlin
Brüssel Prag Berlin Mailand München kürzester Weg von Frankfurt nach Hamburg Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

25 Erweiterung von Dijkstra
Dijkstra nutzt die Geometrie der Knoten/Kanten nicht aus richtungslos: Die Richtung von Start- zum Zielknoten wird nicht berücksichtigt Erweiterung von Dijkstra  "Dijkstra mit Geometrie" Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

26 Dijkstra mit Geometrie: Idee
HH Gesucht: kürzester Weg von K nach HH Dijkstra wählt BN aus (Weg zu K minimal) Dijkstra mit Geometrie wählt D aus (Summe von Weg zu K und Abstand zu HH minimal) Richtung: minimaler Abstand zu Zielknoten 330 390 30 D 30+330=360 30 K 20 BN 20 20+390=410 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

27 Von Dijkstra zu "Dijkstra mit Geometrie"
Nur eine Änderung: Auswahl des nächsten zu bearbeitenden (grünen) Knotens Dijkstra: Knoten mit minimalem besten bisher gefundenen Weg Dijkstra mit Geometrie: Knoten, bei dem Summe aus besten bisher gefundenem Weg und Euklidscher Abstand des Knotens zu Zielknoten minimal ist Beispiel .... Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

28 Dijkstra mit Geometrie: Beispiel
5 E 7 5 6 2 4 5 2 1 3 3 4 Gesucht: Kürzester Weg von S nach E S 2 1 4 3 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

29 Dijkstra mit Geometrie: Beispiel
5 E 7 5 6 2 4 5 2 1 3 3 4 S 2 1 4 3 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

30 Dijkstra mit Geometrie: Beispiel
5 E 6 7 5 6 2 4 5 2 1 3 3 4 S 2 1 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

31 Dijkstra mit Geometrie: Beispiel
5 E 7 5 6 6 2 4 5 2 1 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

32 Dijkstra mit Geometrie: Beispiel
5 E 7 5 6 2 2 4 5 2 1 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

33 Dijkstra mit Geometrie: Beispiel
5 E 2 7 5 6 2 4 5 2 1 4+2=6 Summe minimal 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

34 Dijkstra mit Geometrie: Beispiel
5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

35 Dijkstra mit Geometrie: Beispiel
5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

36 Dijkstra mit Geometrie: Beispiel
3 7+3=10 5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

37 Dijkstra mit Geometrie: Beispiel
9+0=9 7+3=10 5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

38 Dijkstra mit Geometrie: Beispiel
9+0=9 7+3=10 5 E 7 5 6 2 4 5 2 1 4+2=6 Summe minimal 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

39 Dijkstra mit Geometrie: Beispiel
9+0=9 7+3=10 5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

40 Dijkstra mit Geometrie: Beispiel
9+0=9 7+3=10 5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

41 Dijkstra mit Geometrie: Beispiel
6+0=6 7+3=10 5 E 7 5 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

42 Dijkstra mit Geometrie: Beispiel
6+0=6 7+3=10 5 E 7 5 9+4=13 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

43 Dijkstra mit Geometrie: Beispiel
6+0=6 Summe minimal 7+3=10 5 E 7 5 9+4=13 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

44 Dijkstra mit Geometrie: Beispiel
6+0=6 7+3=10 5 E 7 5 9+4=13 6 2 4 5 2 1 4+2=6 3+2=5 3 3 4 Fertig, da Zielknoten E blau kürzester Weg gefunden S 2 1 2+6=8 4 3 1+6=7 2 2 4 8 10 9 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

45 Dijkstra mit Geometrie: Abstand
Euklidscher Abstand: Schätzung für den unbekannten noch zurückzulegenden Weg einfach zu ermitteln Problem: berücksichtigt nicht tatsächlichen Verlauf von Wegen Topographie (Flüsse, Gebirge, etc.) Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

46 Dijkstra mit Geometrie: Heuristik
Einbeziehung der Geometrie/Richtung: "Heuristik" Heuristik: Daumenregel, die beim Suchen hilft findet oft keine optimale Lösung, sondern nur Annäherungen an optimale Lösung Dijkstra mit Geometrie: optimale Lösung, wenn Euklidscher Abstand zu Zielknoten kleiner als tatsächlicher kürzester Weg OK, wenn Kantenkosten = Weglänge Kantenkosten = Fahrtzeit? S E Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

47 Beispiel: Kann die Richtung auf den falschen Weg führen?
Gesucht: kürzester Weg von S nach E 3 10 10 2 10 21 10 S 1 E Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

48 Beispiel: Kann die Richtung auf den falschen Weg führen?
Gesucht: kürzester Weg von S nach E 3 10 10 10+20=30 2 10 21 10 S 1 E 10+10=20 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

49 Beispiel: Kann die Richtung auf den falschen Weg führen?
Gesucht: kürzester Weg von S nach E 3 10 10 10+20=30 2 10 21 10 S 1 E 10+10=20 31+0=31 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

50 Beispiel: Kann die Richtung auf den falschen Weg führen?
Gesucht: kürzester Weg von S nach E 20+10=30 3 10 10 10+20=30 2 10 21 10 S 1 E 10+10=20 31+0=31 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

51 Beispiel: Kann die Richtung auf den falschen Weg führen?
Gesucht: kürzester Weg von S nach E 20+10=30 3 10 10 10+20=30 2 10 30+0=30 21 10 S 1 E 10+10=20 31+0=31 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

52 Beispiel: Kann die Richtung auf den falschen Weg führen?
Abstand von 3 zu E größer als Länge der Kante von 3 zu E  E würde vor 3 ausgewählt (nicht optimal) 20+10=30 3 10 10 10+20=30 2 10 30+0=30 21 10 S 1 E 10+10=20 31+0=31 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

53 Resümee Algorithmus "Dijkstra mit Geometrie"
Erweiterung von Dijkstra durch Einbeziehung der Richtung zum Ziel (Heuristik) zielgerichtete Suche findet optimale Lösung, wenn Kantenkosten=Weglänge Im Bereich Informatik/"Künstliche Intelligenz" unter dem Namen A* („A Stern“) bekannt Mailand Hamburg Frankfurt Hamburg Frankfurt Mailand Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

54 Teil 2: Dijkstra - Straßenverkehrsordnung
Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

55 Abbiegeverbote 1 B C 1 1 1 Z A D 1 1 Abbiegeverbot: Wenn man von S kommt, darf man bei A nicht links abbiegen S Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

56 Abbiegeverbote und Dijkstra
1 B C 1 1 1 Z A D 1 1 S Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

57 Abbiegeverbote und Dijkstra
1 B C 1 1 1 1 Z A D 1 1 S Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

58 Abbiegeverbote und Dijkstra
2 1 B C 1 1 1 1 Z A D 1 1 S Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

59 Abbiegeverbote und Dijkstra
1 B C 1 1 1 Z A D 1 1 Da A bereits abgearbeitet (blau) ist, bricht Algorithmus hier ab (findet keine Lösung) S Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

60 Abbiegeverbote und Dijkstra
Problem 1: Dijkstra findet keine Lösung Problem 2: Lösungspfad (rot) enthält Zyklus! 1 B C 1 1 1 Z A D 1 1 S Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

61 Lösungsansätze Änderung des Algorithmus Änderung des Graphen A2 A A1
Transformation des Graphen mit Abbiegeverbot in einen ohne dann Anwendung von Standard-Dijkstra A2 A A1 Gerhard Gröger - Diskrete Mathematik II Semester - SS Vorlesung 4

62 Fortsetzung in der Übung .....


Herunterladen ppt "Diskrete Mathematik II"

Ähnliche Präsentationen


Google-Anzeigen