Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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.

Ähnliche Präsentationen


Präsentation zum Thema: "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."—  Präsentation transkript:

1 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 16 Ausgesparte Probleme: - Flüsse - Wegesuche - Planarität - Färbung Siehe Spezialvorlesung Optimierung Graphentheorie


Herunterladen ppt "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."

Ähnliche Präsentationen


Google-Anzeigen