Referenten: Moritz S., Ina B. und Sebastian R.

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Advertisements

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Minimum Spanning Tree: MST
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Zerlegung von Graphen.
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
7. Natürliche Binärbäume
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Manfred Thaller, Universität zu Köln Köln 22. Januar 2009
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht Graphen. Manfred Thaller, Universität zu Köln Köln.
Programmieren 2 Future Car Projekt Praktikum 6 - Graphen
Programmieren 2 Future Car Projekt Praktikum 6
Programmieren 2 Future Car Projekt Praktikum 6
FB Informatik Prof. Dr. R.Nitsch Programmieren 2 Future Car Projekt Praktikum 6 - Graphen Reiner Nitsch - Speichern von Graphen -
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26 - Graphen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Christian Schindelhauer
Minimum Spanning Tree: MST
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Dijkstras Suche nach kürzesten Wegen Prof. Dr. Wolfram FH Gelsenkirchen MGI Version 0.9.
Vortrag über Graphen Von Jörg Hendricks.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Animation von Dijkstra
M ATHEMATISCHE M ODELLIERUNG AM B EISPIEL VERSCHIEDENER F ALLSTUDIEN Seminar Angewandte Mathematik für LAK Professor Schmitt Maria Hutsteiner, Kerstin.
Institut für Theoretische Informatik
Jamshid Azizi: Folie Isomorphietest Jamshid Azizi
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Manfred Thaller, Universität zu Köln Köln 30. Januar 2014
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Wie komme ich… Gehen Sie links. Gehen Sie rechts. Gehen Sie geradeaus.
Analyse der Laufzeit von Algorithmen
Manfred Thaller, Universität zu Köln Köln 11. Dezemberr 2014
10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,...
Bipartite Graphen Der Satz von König.
Eine kurze Geschichte der Graphentheorie
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Gliederung der Vorlesung
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Graph_Algorithmen Gewichtete Graphen - Minimum Spanning Tree und shortest path aus Implementierungssicht Prof. Dr. Reiner Güttler.
Programmiersprachen II Graph_Algorithmen Einführung Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Graphentheorie Gibt es in Königsberg einen Spaziergang, bei dem man jede der sieben Pregelbrücken genau einmal überquert? Prof. Dr. Dörte Haftendorn, Leuphana.
Adiazenzmatrix des Graphen
Philip Schill Erik Kurrat Simon Walther
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
Musterlösung zur Klausur "Diskrete Mathematik" vom
Das Problem des Handlungsreisenden
Projekt Graphentheorie Eulerpfad
Algorithmen.
Der Algorithmus nach Dijkstra
Der Dijkstra-Algorithmus
Übungen Übungsanmeldung Übungskorrektur
Wiederholung Breitensuche BFS mit Startknoten s Tiefensuche
Zusammenfassung Königsberger Brückenproblem Planare Graphen
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
3. Die Datenstruktur Graph 3.1 Einfache Graphen
 Präsentation transkript:

Referenten: Moritz S., Ina B. und Sebastian R. Graphentheorie Referenten: Moritz S., Ina B. und Sebastian R. Layout: Hannah S., Mark I. 1 1 1

Gliederung Einführung - Problemstellung Graphen allgemein Eigenschaften von Graphen Isomorphe Graphen Euler Graph Hamiltonscher Graph Lösung der Problemstellung Definition Algorithmus Beispiel 2 2 2

Einführung Problemstellungen: Routenplanung Chinesisches Postbotenproblem Königsberger Brückenproblem Bahnverbindungen 3 3 3

Graphen allgemein Ecke Kante A B C D E 1 B 2 A 2 E 2 C 2 D 2 1 B 2 A 2 E 2 C 2 Graph = Menge von Ecken und Kanten Jede Kante verbindet 2 Ecken Grad einer Ecke = Anzahl Kanten, die von ihr aus gehen 2 Graphen sind isomorph (gleich), wenn ihre Adjazentmatrizen gleich sind (wenn man den einen durch Umzeichnen des Anderen erhalten kann)‏ -> Adjazenzmatrix erklären D 2 4 4 4

Isomorphe Graphen B B‘ C D‘ Symbol für „ist isomorph zu“ A D A‘ C‘ Modulfest 03.07.10 5 5

Isomorphe Graphen ? = u v w x y z 1 l m n p q r 1 6 6 6

Königsberger Brückenproblem 3 5 3 3 4 3 6 5 4 4 Abbildung: Königsberg im 18. Jhdt Arme des Flusses Pregel umfließen Insel (Kneipenhof)‏ 7 Brücken über Fluss Gibt es einen Weg, der jede Brücke genau einmal benutzt? Umformen zu Graph nicht möglich aber möglich, wenn +zusätzliche Brücke (egal, welche)‏ Rückkehr zu Ausgangspunkt möglich, wenn nochmal + zusätzliche Brücke, sodass jede Ecke geraden Grad -> Mausklick 6 4 4 7 7 7

Eulergraph Startpunkt Endpunkt Eulergraph = Graph mit Eulertour - jede Kante des Graphen genau 1 Mal - Anfang = Ende des Wegs Haus des Nikolaus nicht eulersch: nicht Grad jeder Ecke gerade (notwendig weil: wenn Anfang u. Ende gleich, dann „in jede Ecke rein und wieder raus“)‏ deshalb: Erweiterung Startpunkt Endpunkt 8 8 8

Hamiltonscher Graph Hamiltonscher Graph = Graph mit Hamiltonschem Kreis Hamiltonscher Kreis = geschlossener Weg, jede Ecke 1mal 9 9 9

Definition Algorithmus: Algorithmen Definition Algorithmus: Ein Algorithmus ist eine formale Handlungsvorschrift zur Lösung eines Problems (oder einer bestimmten Art von Problemen) in endlich vielen Schritten. Definition: Algorithmus = formale Handlungsvorschrift zur Lösung eines Problems (oder einer bestimmten Art von Problemen) in endlich vielen Schritten Algorithmen steuern in Form von Computerprogrammen Computer und andere Maschinen 10 10 10

Algorithmen Wie kommt man von einem Graphenproblem zum Algorithmus? Quelltextbeispiel //START private Graph graph; private VertexQueue queue = new VertexQueue(); private Hashtable<Vertex, Vertex> vorgaenger; @Override protected void init() { this.graph = this.getGraph(); //(0)‏ } protected void runAlgorithm() { Vertex startVertex = this.getStartVertex(this.graph); //(1)‏ Vertex endVertex = this.getFinishVertex(this.graph); this.queue = new VertexQueue(); //(2)‏ this.queue.add(startVertex); this.vorgaenger = new Hashtable<Vertex,Vertex>(); boolean endpunktGefunden = false; while (!queue.isEmpty() || endpunktGefunden) { //(3)‏ Vertex v = queue.remove(); //(4)‏ Iterator<Edge> kantenIterator = this.graph.outgoing(v).iterator(); //(5)‏ while (kantenIterator.hasNext()) { Edge e = kantenIterator.next(); Vertex x = e.otherVertex(v); if (!this.vorgaenger.containsKey(x)) { //(6)‏ this.vorgaenger.put(x, v); this.queue.add(x); if (x.equals(endVertex)) { //(7)‏ endpunktGefunden = true; break; Vertex v = endVertex; //(8)‏ while (!v.equals(startVertex)) { Vertex parent = this.vorgaenger.get(v); this.graph.findEdge(parent, v).setColor(Color.BLUE); v = parent; //END Wie kommt man von einem Graphenproblem zum Algorithmus? - Vereinfachen auf Instruktionen (Computer ist nicht denkfähig!)‏ - Schreiben in Programmiersprache Lösungsansatz Kürzen auf Instruktionen (Computer nicht denkfähig, genau sagen, was er machen soll)‏ Schreiben in Computersprache Algorithmus in Programmiersprache = Quelltext -> Quellextbeispiel = Breitensuche-Algorithmus (von Projektteilnehmer geschrieben)‏ 11 11 11

Straßenbahn Wie kommt man am schnellsten von einer Station (Knoten A) zu einer Zielstation (Knoten H) ? A B C G Anwendungsbeispiel Algorithmus: Straßenbahn fahren links: Straßenbahnnetz rechts: Umsetzung als Graph A=Anfangs- H=Endknoten Ungewichteter Graph -> von einer zur anderen Station immer gleich lang fahren Lösen mit sog. Breitensuche-Algorithmus wenn kantengewichte vorgegeben werden (-> Haltestellen sind unterschiedlich weit voneinander entfernt): statt der Breitensuche = uniforme Kostensuche E D F L K H Modulfest 03.07.10 12 12

Algorithmusbeispiel: Breitensuche Breitensuche = Verfahren zum Durchsuchen bzw Durchlaufen der Knoten eines Graphen ausgehend vom Startpunkt in die Breite (zuerst Knoten, die 1Kante von Startknoten entfernt sind, dann 2Kanten usw)‏ Anwendung z.B. Zum finden kürzester Wege zwischen 2 Knoten (ungewichteter Graph) (-> unser Fall), finden minimaler aufspannender Baum (= kreisfreier Teilgraph von Graph, der alle Knoten enthält)‏ Funktionsweise: 1. Startknoten bestimmen und in Warteschlange abspeichern 2.Knoten an Beginn der Warteschlange nehmen und markieren - wenn gesuchtes Element gefunden: Suche abbrechen; Weg markieren - andernfalls alle bisher unmarkierten Nachbarn dieses Knotens, die sich noch nicht in der Warteschlange befinden, ans Ende der Warteschlange anhängen 3.Schritt 2. wiederholen 4. Wenn die Warteschlange leer ist, wurde jeder Knoten bereits untersucht. Suche beenden 13 13 13

Danksagung Wir bedanken uns herzlich bei unseren Projektleitern Frau Körkel und Herr Bühner, sowie bei Prof. Dr. Ulrich Kortenkamp und Dr. Andreas Fest von der PH Karlsruhe. 14 14

Projektwochenende 15 15 15

Projektwochenende 16 16 16

Vielen Dank für Ihre Aufmerksamkeit! 17 17 17