1 Kap. 2 Graphen Kap. 2.1 Netze Beispiele: MVV, Autobahnen, WIN, E/R, LH-Flüge, Stützgraphen, Petri-Netze, SIPs, ISA-Hierarchien, Operator-Graphen, Wartegraphen.

Slides:



Advertisements
Ähnliche Präsentationen
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Advertisements

Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Algorithm Engineering
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Minimum Spanning Tree: MST
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Claudio Moraga; Gisbert Dittrich
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.
ADS Vorlesung Prof. Dr. W. Conen, FH Gelsenkirchen
7. Natürliche Binärbäume
Graphalgorithmen ( elementare A. )
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen.
Programmieren 2 Future Car Projekt Praktikum 6 - Graphen
Programmieren 2 Future Car Projekt Praktikum 6
Programmieren 2 Future Car Projekt Praktikum 6
1 Computergestützte Verifikation Probleme bei der Softwareverifikation 1.komplexe Datentypen und Expressions 2.Pointer und dynamische Datenstrukturen.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 – Graphen)
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26 - Graphen) 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
Union-Find-Strukturen
Seminar parallele Programmierung SS 2003
Mathematische Grundlagen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Klausur „Diskrete Mathematik II“
Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen.
Kap. 6.2 Binäre B-Bäume Ullmann: (2, 3) - Bäume
Christian Schindelhauer
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen
Chromatische Zahl.
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Christian Scheideler Institut für Informatik Universität Paderborn
Animation von Dijkstra
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Informatik Datenstruktur Graph 3.1 Einfache Graphen
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
se_4_graphen_und_baeume_I.ppt1 Softwareengineering Graphen und Bäume 1 Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
9.3 Suchbäume = Repräsentation linear geordneter Mengen durch Bäume (applikativ) bzw. baumartige Geflechte (imperativ) Garantierte Komplexität ist durchweg.
10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,...
Eine kurze Geschichte der Graphentheorie
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Graph_Algorithmen Einführung Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Vorlesung April 2000 Polygon Overlay
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

1 Kap. 2 Graphen Kap. 2.1 Netze Beispiele: MVV, Autobahnen, WIN, E/R, LH-Flüge, Stützgraphen, Petri-Netze, SIPs, ISA-Hierarchien, Operator-Graphen, Wartegraphen für DB-Trans- aktionen Abstraktion von Netz = Graph Knoten: k 1, k 2,..., k i,... k n Kanten zwischen je 2 Knoten Edge e = (k 1, k 2 ) : binäre Relation k 1 k 2

2 Varianten von Netzen und Graphen (Komplikationen) 1. Richtung: gerichtete bzw. ungerichtete Kanten Fall 1: Kurzschreibweise für d.h. E ist symmetrisch: (k 1, k 2 ) E (k 2, k 1 ) E (implizit) Fall 2: ist ungerichtete Kante (k 1, k 2 ) d.h. E ist symmetrisch mit zusätzlicher Äquivalenzrel. s : (k 1, k 2 ) s (k 2, k 1 ), Kanten sind E / s = E (k 1, k 2 )

3 2. Bewertung von Kanten für gerichtete und ungerichtete Kanten, z.B.: Transportkapazität: Baud, m 3 /s Länge Geschwindigkeit Reisezeit Mautkosten, Flugkosten, Fahrkartenpreis allg.Prädikate und Strukturen 3. Multikanten: z.B. Flüge, Züge mit mehrfachen Markierungen, i.a. beliebig komplexe Zusatzinfo: Mü Fr Flugges.Flug#Abfl.GateAnk.Masch.Kap. LH4517:45A38:30A LH4618:45A49:

4 4. Markierung von Knoten Fr Umsteigezeit: national 45 min. international 70 min. 5. Hypernetze z.B. zur Repräsentation von Verbindungsbedingungen für Wegekonstruktion, Komposition von Petri-Netzen

5 Kap. 2.2 Repräsentation von Graphen 1. Zeichnung, Bild: siehe Beispiele 2. Adjazenz matrix: für spezielle Probleme bei gerichteten und ungerichteten Graphen, z.B.: Stützgraph: Zyklenfreiheit (Warshall) Komm. Netz: Erreichbarkeit Verkehrsnetze:kürzeste Wege Knotennamen: 1, 2,..., n oder Hilfsstruktur Boolsche Edge-Matrix EM [1:n, 1:n] EM[i,j] = true e = (k i, k j ) E

6 Algorithmen: Varianten der Matrixmultiplikation, z.B. Erreichbarkeit: k i k j k l Struktur wie ],[],[V],[:],[ 1 2 ljEMji li liWM n j Wegematrix WM l für Wege der Länge l: WM 2 : = EM + EM 2 WM 4 : = WM 2 + WM 2 2 WM 2 i : = WM 2 i-1 + WM 2 2 i-1

7 Wege sind höchstens von Länge n, d.h. log 2 n Matrix-Multiplikationen der Komplexität n 3 für n Knoten. Zeitkomplexität: O(n 3 log n) Laufzeit für n = 10 6 (Internet)? Optimierung: WM 2 [i,l] := if EM [i,l] then true else Platzkomplexität: O(n 2 ) für n = GB

8 3. Knoten- und Kantenmengen: Knoten = (k i, Knoteninfo) oder (i, Knoteninfo) mit Zugriffsstruktur über k i Kante = (e j, k j 1, k j 2, Kanteninfo) mit Zugriffsstruktur über (e i, k j 1, k j 2 ) 4. Hybride Repr. nach Bedarf z.B. für Spannbaum-Berechnung

9 Knotenzustände: unbearbeitet~ 0 erreicht~ 1 bearbeitet~ 2 mit charakteristischen Funktionen, Mengen, Listen, etc. Notation:K u : unbearbeitete Knoten K e : erreichte Knoten K b : bearbeitete Knoten

10 Alg. für Spannbaum: mit Knotenmenge K {alle Knoten unbearbeitet} K u : = K; K e : = K b : = select k K u; K u : = K u \ {k}; K e : = K e {k};{k ist erreicht} while K e do select k K e ; K e : = K e \ {k}; K b : = K b {k};{k ist bearbeitet} verfolge alle Kanten e von K aus: if Endknoten k`von e K u then begin K u : = K u \ {k`}; K e : = K e {k`}; e zu Spannbaum end od.

11 Operationen: auf K e : select, delete, insert auf K u : select, delete, find auf K b : insert auf Kantenmenge:find e j mit k j 1 geg. delete e j oder bearbeite jede Kante zweimal

12 Variante 4.1: Charakteristische Funktion für K u, K e, K b Knotenfeld für Zustände 0, 1, 2: 1n Analyse: while n-mal durchlaufen select k K e ist O(n) Alg. mindestens von O(n 2 )

13 Variante 4.2: Wie 4.1, aber zusätzlich Liste für K e : select k K e ist jetzt O(1) Komplexität dominiert durch Kantenverarbeitung, z.B. pro Knoten eigene Kantenliste - Sortierung der Kantenmenge oder - Zugriffstrukturen für Kantenmenge für find O (m log m) bei m Kanten

14 Variante 4.3: Ku als Baum, z.B. AVL; K e als Liste Knotenbearbeitung: O (n log n) Kantenbearbeitung: wie 4.2 Lemma: Spannbaum hat n-1 Kanten Bew: Übung Offenes Problem in Alg.: Darstellung des Spannbaumes; hier nur als Kantenmenge

15 Platzkomplexität: bei Varianten 3 und 4 dominiert durch Kantenzahl, praktisch O(n) z.B. Kanten als Listen von Folgeknoten: Für jeden Knoten k: Falls (k, k 1 ), (k, k 2 ),..., (k, k e ) E i.e. Zeilenrepr. in dünn besetzter Adj.Matrix. Erforderliche Listenoperationen? Speicherbedarf bei d Kanten pro Knoten: n d 8 Bytes für n = 10 6, d = 3 : 24 MB Vergleich zu Adjazenzmatrix: 125 GB 24 MB 5000 Verbesserungsfaktor k :k1k1 klkl k2k2 nil

16 Ausgesparte Probleme: - Flüsse - Wegesuche - Planarität - Färbung Siehe Spezialvorlesung Optimierung Graphentheorie