Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vortrag über Graphen Von Jörg Hendricks Inhalt kurze Einführung Begriffserklärung Darstellung im Computer Algorithmen für Graphen.

Ähnliche Präsentationen


Präsentation zum Thema: "Vortrag über Graphen Von Jörg Hendricks Inhalt kurze Einführung Begriffserklärung Darstellung im Computer Algorithmen für Graphen."—  Präsentation transkript:

1

2 Vortrag über Graphen Von Jörg Hendricks

3 Inhalt kurze Einführung Begriffserklärung Darstellung im Computer Algorithmen für Graphen

4 Einleitung Was sind Graphen? Knoten Kanten Werkzeug zur anschaulichen Darstellung Werkzeug zur Problemlösung

5 Begriffserklärung Allgemeines Schlinge Kantenzug / Weg erreichbarer Knoten Teilgraph Zyklus Valenz Eigenschaften gerichtet / ungerichtet gewichtet licht, dicht, vollständig schlicht zyklisch

6 Begriffserklärung (Fortsetzung) Sonderformen Liste Baum Wald Spannbaum Netz, Netzwerk, Netzplan

7 Darstellung im Computer FE DBCA G IJH Bitte Skript zur Hand nehmen! Danke!

8 Inzidenzmatrix

9 Inzidenzliste

10 Adjazenzmatrix

11 Adjazenzliste

12 Algorithmen für Graphen und deren Anwendung Die Algorithmen werden anhand von Beispielen vorgestellt. (Um den Ablauf verfolgen zu können bitte das Skript zur Hand nehmen) Danke!

13 Durchsuchen von Graphen Grundgedanke Wegsuche in einem Graphen Beispiel: Labyrinth Vom Eingang Ausgang gibt es diesen Weg überhaupt? Algorithmen: Tiefensuche Breitensuche

14 Tiefensuche (Verbindung vorhanden?) Start Ende Wir werden uns den Algorithmus nun am obenstehenden Graphen verdeutlichen. Weg von 5 (Start) zu 7 (Ende).

15 Teil 1 5Start Zunächst wird die 5 als Startknoten markiert und auf den Stack gelegt. 4 1 Man nimmt die 5 vom Stack und trägt sie bei den erreichbaren Knoten als Vorgänger ein. Die Markierung eines besuchten Knotens ist selbstverständlich und wird daher nicht extra erwähnt.

16 Teil 2 Als nächstes wird die 4 vom Stack genommen 4 5Start 1 6 Da die 6 von 4 aus erreichbar ist, wird ihr die 4 als Vorgänger eingetragen und die 6 auf den Stack gelegt

17 Teil 3 45Start 1 6 Nun wird die 6 vom Stack genommen und auf erreichbare Knoten untersucht Es gibt aber keine, daher wird das nächste Element vom Stack genommen

18 Teil Start 6 Da die 6 keinen Nachfolger hatte und wir den nächsten Knoten vom Stack nehmen sollten, ist nun die 1 an der Reihe 2 Wir nehmen die erreichbaren Nachfolger und legen sie auf den Stack

19 Teil Start 6 23 Wir nehmen die 2 vom Stack und testen die Nachfolger Hierbei finden wir die 3 und legen sie auf den Stack Da die 2 eine Schleife hat, finden wir die 2 zwar auch als Nachfolger, aber da sie schon einmal besucht wurde, wird sie nicht auf den Stack gelegt

20 Teil 6 37Ende Von 3 aus finden wir die 4 und die 7, die 4 wurde bereits besucht und ist daher uninteressant Die 7 wandert auf den Stack 21 45Start 6

21 Teil 7 7Ende321 45Start 6 Wenn wir nun von der 7 aus weitere Knoten suchen wollen, gibt es zwei Dinge: 7 ist der Endpunkt 7 hat keine Nachfolger mehr ( zumindest in diesem Beispiel ) Der Tiefensuch-Algorithmus ist beendet Nun wollen wir uns noch die zugehörige Tabelle ansehen. Der gefundene Weg lautet: 5 (Start) (Ende)

22 Teil 8 Schritte Vorg [1] Vorg [2] Vorg [3] Vorg [4] Vorg [5] Vorg [6] Vorg [7] Stack 1. - S - (5) (4) (1) (6) (1) (1) (2) (3) (7)

23 Breitensuche (topologisches Sortieren) Wir werden uns den Algorithmus nun am obenstehenden Graphen verdeutlichen.

24 Teil 1 1 Zunächst wird das Feld der Eingangsgrade initialisiert und die Knoten mit dem Eingangsgrad 0 werden in die Queue eingefügt. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1)

25 Teil Der Knoten 1 wird aus der Queue genommen und erhält die Nummer 1. Nun werden seine Nachbarknoten untersucht und diejenigen mit Eingangsgrad 1 in die Queue eingereiht. Somit wandert die 4 in die Queue. Die 2 hat noch Vorgänger und wird dadurch nicht eingereiht. Aber ihr Eingangsgrad wird reduziert. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (4)

26 Teil 3 5 Die 4 wird aus der Queue entnommen und erhält die nächste Nummer. Die 5 wird als Nachbarknoten mit Eingangsgrad 1 auf E-Grad 0 gesetzt und in die Schlange eingereiht. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (5) (4)

27 Teil 4 Nachdem wir der 5 die Nummer 3 zugewiesen haben, untersuchen wir auch ihre Nachbarn und erhalten 2 und 6 jeweils mit E-Grad 1. Somit werden beide der Reihe nach in die Queue gesetzt. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (5) (4) (2/6)

28 Teil 5 Nun wird die nächste Zahl (2) aus der Queue genommen und bekommt die folgende Nummer. Wir untersuchen ihre Nachfolger und finden die 3, die nun auch in die Queue gereiht wird. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (5) (4) (2/6) (6/3) 0 2

29 Teil 6 Die nächste Zahl in der Queue ist die 6. Also bekommt sie die nächste Nummer und wir betrachten Ihre Nachfolger. Der Nachfolger ist die 7, sie hat aber den E-Grad 2 und wird daher nur um 1 reduziert, kommt aber nicht in die Queue. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (5) (4) (2/6) (6/3) (3)

30 Teil 7 Die nächste Zahl ist die 3. Wir nehmen sie aus der Queue und weisen ihr die nächste Nummer zu. Wir überprüfen die Nachfolger und stoßen auf die 7. Diese wandert nun, da sie den E-Grad 1 hat in die Queue. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (5) (4) (2/6) (6/3) (3) (7) 0 6

31 Teil 8 Als letzte Zahl nehmen wir die 7 aus der Queue und geben ihr die Nummer 7. Sie hat keine Nachfolger mehr und somit kann der Algorithmus beendet werden. Schritte Nummer Nr.[1] [2] [3] [4] [5] [6] [7] Schritte Queue E-Grad[1] [2] [3] [4] [5] [6] [7] 0. (1) (5) (4) (2/6) (6/3) (3) (7) (-) 0 7

32 Teil 9 :Nachfolgend erhalten wir die folgende Numerierung der Knoten

33 Minimaler Weg Grundgedanke Kürzester Weg durch den Graphen Beispiel: Fahrt von Hamburg nach München Welcher Weg ist: der kürzeste ? der schnellste ? Algorithmen Dijkstra Floyd

34 Prioritätsgesteuerte Breitensuche (Algorithmus nach Dijkstra)

35 Teil 1 ab C fg d e An diesem Beispiel wollen wir uns den Algorithmus nach Dijkstra verdeutlichen Wir suchen kürzesten oder kostengünstigsten Weg von a nach g

36 Teil 2 ab C fg d e Schritt Kosten[a] [b] [c] [d] [e] [f] [g] Schritt Vorg [a] [b] [c] [d] [e] [f] [g] P-Queue 0. - (0,a) 2. - a b - a - (1,c) (4,f) (4,d) 1. - a - a - (0,b) (4,f) 3. - a b c - a - (3,d) (4,f) 4. - a b c d a - (4,f) (4,e) 5. - a b c d a f (4,e) (7,g) 6. - a b c d a e (5,g) 7. - a b c d a e (-,-)

37 Teil 3 Der kürzeste Weg, den man in diesem Graphen nehmen kann, hat die Länge 5 und sieht wie folgt aus: a b c d e g Knoten = 5 Kosten ab C fg d e

38 Kürzester Weg für alle Knoten (Algorithmus nach Floyd)

39 Teil 1 ab C fg d e

40 Teil 2 ab C fg d e

41 Teil 3 ab C fg d e

42 Teil 4 ab C fg d e

43 Teil 5 ab C fg d e

44 Teil 6 ab C fg d e

45 ENDE Vielen Dank für Ihr Interesse Auf Wiedersehen sagt Ihr Jörg Hendricks

46 Tiefensuche Start Ende

47 Breitensuche

48 Minimaler Weg ab C fg d e


Herunterladen ppt "Vortrag über Graphen Von Jörg Hendricks Inhalt kurze Einführung Begriffserklärung Darstellung im Computer Algorithmen für Graphen."

Ähnliche Präsentationen


Google-Anzeigen