Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60
|
|
- Rosa Blau
- vor 5 Jahren
- Abrufe
Transkript
1 Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60
2 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 2/60
3 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Überblick 3/60
4 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Repräsentation von Graphen im Rechner 4/60
5 Knoten, Kanten und Graphen als Objekte class Vertex { String name; } class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } // oder was auch immer Repräsentation von Graphen im Rechner 5/60
6 Knoten, Kanten und Graphen als Objekte class Vertex { String name; } class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } // oder was auch immer Repräsentation von Graphen im Rechner 5/60
7 Knoten, Kanten und Graphen als Objekte class Vertex { String name; } class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } // oder was auch immer Repräsentation von Graphen im Rechner 5/60
8 Knoten, Kanten und Graphen als Objekte class Vertex { int id; } class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } Repräsentation von Graphen im Rechner 6/60
9 Adjazenzlisten class Vertex { int id; Vertex[] neighbors; } // Feldlänge = Knotengrad class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } Repräsentation von Graphen im Rechner 7/60
10 Inzidenzlisten class Vertex { int id; Edge[] incoming; Edge[] outgoing; } class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } Repräsentation von Graphen im Rechner 8/60
11 Variante von Adjazenzlisten class Vertex { int id; boolean[] is connected to; // Feldlänge = V } class Graph { Vertex[] vertices; } Knoten: Objekte u, v der Klasse Vertex { true u.is_connected_to[v.id] = false falls (u, v) E falls (u, v) / E Repräsentation von Graphen im Rechner 9/60
12 Beispielgraph Objekt u, das Knoten 0 repräsentiert: 3 u.id 0 u.is_connected_to false true false true Repräsentation von Graphen im Rechner 10/60
13 Beispielgraph Objekte für alle Knoten untereinander: u.id u.is connected to 0 false true false true 1 false false false false 2 false true true true 3 false false true false Repräsentation von Graphen im Rechner 11/60
14 Adjazenzmatrix Adjazenzmatrix eines gerichteten Graphen G = (V, E) mit V = n ist eine n n-matrix A mit der Eigenschaft: { 1 falls (i, j) E A ij = 0 falls (i, j) / E Beispiel: Adjazenzmatrix eines ungerichteten Graphen U = (V, E) ist die Adjazenzmatrix von G = (V, E g ) Repräsentation von Graphen im Rechner 12/60
15 Adjazenzmatrix Adjazenzmatrix eines gerichteten Graphen G = (V, E) mit V = n ist eine n n-matrix A mit der Eigenschaft: { 1 falls (i, j) E A ij = 0 falls (i, j) / E Beispiel: Adjazenzmatrix eines ungerichteten Graphen U = (V, E) ist die Adjazenzmatrix von G = (V, E g ) Repräsentation von Graphen im Rechner 12/60
16 Repräsentation von Relationen durch Matrizen endliche Menge M mit n Elementen binäre Relation R M M repräsentiert durch n n-matrix A(R): { 1 falls (i, j) R d. h. also irj (A(R)) ij = 0 falls (i, j) / R d. h. also (irj) zu verschiedenen Relationen gehören verschiedene Matrizen und umgekehrt Repräsentation von Graphen im Rechner 13/60
17 Wegematrix eines Graphen Erreichbarkeitsrelation E als Matrix repräsentierbar die sogenannte Wegematrix W des Graphen: { 1 falls (i, j) E W ij = 0 falls (i, j) / E { 1 falls es in G einen Pfad von i nach j gibt = 0 falls es in G keinen Pfad von i nach j gibt algorithmisches Problem: gegebene Probleminstanz: Adjazenzmatrix eines Graphen gesucht: zugehörige Wegematrix des Graphen Repräsentation von Graphen im Rechner 14/60
18 Was ist wichtig Das sollten Sie mitnehmen: Repräsentation von Relationen als Matrizen z. B. Kantenrelation eines Graphen: Adjazenzmatrix Das sollten Sie üben: zu gegebenem Graphen die Adjazenzmatrix hinschreiben zu gegebener Adjazenzmatrix den Graphen hinmalen z. B. für irgendwelche speziellen Graphen und Matrizen Repräsentation von Graphen im Rechner 15/60
19 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 16/60
20 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 17/60
21 Ein Beispielgraph von Interesse: Pfade der Länge 2 von Knoten 2 zu Knoten 4 Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 18/60
22 Ein Beispielgraph von Interesse: Pfade der Länge 2 von Knoten 2 zu Knoten 4 hinsehen: (2, 1, 4) und (2, 1, 6) Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 19/60
23 Beispielgraph: systematische Suche nach Pfaden Wie findet man systematisch alle interessierenden Pfade? prüfe alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A2k = 1 und A k4 = 1? Ist A2k A k4 = 1? durchlaufe nacheinander parallel alle A 2k und alle A k4, d. h. Zeile für Knoten 2 und Spalte für Knoten 4 Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 20/60
24 Beispielgraph: systematische Suche nach Pfaden Wie findet man systematisch alle interessierenden Pfade? prüfe alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A2k = 1 und A k4 = 1? Ist A2k A k4 = 1? durchlaufe nacheinander parallel alle A 2k und alle A k4, d. h. Zeile für Knoten 2 und Spalte für Knoten 4 Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 20/60
25 Beispielgraph: systematische Suche nach Pfaden Wie findet man systematisch alle interessierenden Pfade? prüfe alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A2k = 1 und A k4 = 1? Ist A2k A k4 = 1? durchlaufe nacheinander parallel alle A 2k und alle A k4, d. h. Zeile für Knoten 2 und Spalte für Knoten 4 Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 20/60
26 Beispielgraph: systematische Suche nach Pfaden Wie findet man systematisch alle interessierenden Pfade? prüfe alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A2k = 1 und A k4 = 1? Ist A2k A k4 = 1? durchlaufe nacheinander parallel alle A 2k und alle A k4, d. h. Zeile für Knoten 2 und Spalte für Knoten 4 Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 20/60
27 Beispielgraph: systematische Suche nach Pfaden Wie findet man systematisch alle interessierenden Pfade? prüfe alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A2k = 1 und A k4 = 1? Ist A2k A k4 = 1? durchlaufe nacheinander parallel alle A 2k und alle A k4, d. h. Zeile für Knoten 2 und Spalte für Knoten 4 Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 20/60
28 Beispielgraph: systematische Suche nach Pfaden Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 21/60
29 Beispielgraph: Zählen der Pfade Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 22/60
30 Beispielgraph: Zählen der Pfade (2) P 24 = 6 k=0 A 2k A k Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel 23/60
31 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixmultiplikation 24/60
32 Matrixmultiplikation es sei A eine l n-matrix B eine n m-matrix die l m-matrix C mit n 1 C ij = A ik B kj k=0 heißt das Produkt von A und B geschrieben C = A B Achtung: im Allgemeinen A B B A! Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixmultiplikation 25/60
33 Matrixmultiplikation: algorithmisch n 1 C ij = A ik B kj k=0 erst mal nur die naheliegende Möglichkeit es geht auch anders! for i 0 to l 1 do for j 0 to m 1 do C ij 0 for k 0 to n 1 do C ij C ij + A ik B kj od od od Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixmultiplikation 26/60
34 Einheitsmatrizen Einheitsmatrix: n n-matrix I, bei der für alle i und j gilt: { 1 falls i = j I ij = 0 falls i j für jede m n-matrix A gilt: I A = A = A I Beachte: verschiedene Größen der Einheitsmatrizen links und rechts Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixmultiplikation 27/60
35 Potenzen quadratischer Matrizen A 0 = I n N0 : A n+1 = A n A Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixmultiplikation 28/60
36 Quadrierte Adjazenzmatrix Quadrat der Adjazenzmatrix A enthält nach Definition der Matrixmultiplikation als Eintrag in Zeile i und Spalte j n 1 (A 2 ) ij = A ik A kj. k=0 Jeder Summand A ik A kj ist 1 gdw. A ik = A kj = 1 ist, also gdw. Kanten von i nach k und von k nach j existieren, also gdw. (i, k, j) ein Pfad der Länge 2 von i nach j ist. und 0 sonst. Für k 1 k 2 sind (i, k 1, j) und (i, k 2, j) verschiedene Pfade. Also ist n 1 (A 2 ) ij = A ik A kj k=0 gleich der Anzahl der Pfade der Länge 2 von i nach j. Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixmultiplikation 29/60
37 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixaddition 30/60
38 Matrixaddition es seien A und B zwei m n-matrizen die m n-matrix C mit heißt die Summe von A und B geschrieben C = A + B stets A + B = B + A C ij = A ij + B ij neutrales Element: die Nullmatrix, die überall Nullen enthält geschrieben 0 algorithmisch: for i 0 to m 1 do for j 0 to n 1 do C ij A ij + B ij od od Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Matrixaddition 31/60
39 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Einfache Berechnung der Erreichbarkeitsrelation 32/60
40 Die naheliegende Idee Benutze E = um die Wegematrix zu berechnen. Probleme: Was kann man gegen das unendlich tun? Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? i=0 E i Einfache Berechnung der Erreichbarkeitsrelation 33/60
41 Die naheliegende Idee Benutze E = um die Wegematrix zu berechnen. Probleme: Was kann man gegen das unendlich tun? Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? i=0 E i Einfache Berechnung der Erreichbarkeitsrelation 33/60
42 Die naheliegende Idee Benutze E = um die Wegematrix zu berechnen. Probleme: Was kann man gegen das unendlich tun? Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? i=0 E i Einfache Berechnung der Erreichbarkeitsrelation 33/60
43 Die naheliegende Idee Benutze E = um die Wegematrix zu berechnen. Probleme: Was kann man gegen das unendlich tun? Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? i=0 E i Einfache Berechnung der Erreichbarkeitsrelation 33/60
44 Beseitigung der unendlichen Vereinigung bei Graphen spezieller: nur endlich viele Knoten Frage: Existiert ein Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n Knoten. p = (i0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. Wenn k n, dann kommen in der Liste p also k + 1 n + 1 Knotennamen vor. aber G hat nur n verschiedene Knoten. Also muss ein Knoten x doppelt in der Liste p vorkommen. p enthält Zyklus von x nach x Weglassen des Zyklus ergibt kürzeren Pfad, der immer noch von i nach j führt. wiederhole, solange Pfad mindestens n + 1 Knoten enthält Ergebnis: Pfad, in dem höchstens noch n Knoten, also höchstens n 1 Kanten, vorkommen, und der auch immer noch von i nach j führt. Einfache Berechnung der Erreichbarkeitsrelation 34/60
45 Beseitigung der unendlichen Vereinigung bei Graphen spezieller: nur endlich viele Knoten Frage: Existiert ein Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n Knoten. p = (i0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. Wenn k n, dann kommen in der Liste p also k + 1 n + 1 Knotennamen vor. aber G hat nur n verschiedene Knoten. Also muss ein Knoten x doppelt in der Liste p vorkommen. p enthält Zyklus von x nach x Weglassen des Zyklus ergibt kürzeren Pfad, der immer noch von i nach j führt. wiederhole, solange Pfad mindestens n + 1 Knoten enthält Ergebnis: Pfad, in dem höchstens noch n Knoten, also höchstens n 1 Kanten, vorkommen, und der auch immer noch von i nach j führt. Einfache Berechnung der Erreichbarkeitsrelation 34/60
46 Beseitigung der unendlichen Vereinigung bei Graphen spezieller: nur endlich viele Knoten Frage: Existiert ein Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n Knoten. p = (i0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. Wenn k n, dann kommen in der Liste p also k + 1 n + 1 Knotennamen vor. aber G hat nur n verschiedene Knoten. Also muss ein Knoten x doppelt in der Liste p vorkommen. p enthält Zyklus von x nach x Weglassen des Zyklus ergibt kürzeren Pfad, der immer noch von i nach j führt. wiederhole, solange Pfad mindestens n + 1 Knoten enthält Ergebnis: Pfad, in dem höchstens noch n Knoten, also höchstens n 1 Kanten, vorkommen, und der auch immer noch von i nach j führt. Einfache Berechnung der Erreichbarkeitsrelation 34/60
47 Beseitigung der unendlichen Vereinigung bei Graphen spezieller: nur endlich viele Knoten Frage: Existiert ein Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n Knoten. p = (i0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. Wenn k n, dann kommen in der Liste p also k + 1 n + 1 Knotennamen vor. aber G hat nur n verschiedene Knoten. Also muss ein Knoten x doppelt in der Liste p vorkommen. p enthält Zyklus von x nach x Weglassen des Zyklus ergibt kürzeren Pfad, der immer noch von i nach j führt. wiederhole, solange Pfad mindestens n + 1 Knoten enthält Ergebnis: Pfad, in dem höchstens noch n Knoten, also höchstens n 1 Kanten, vorkommen, und der auch immer noch von i nach j führt. Einfache Berechnung der Erreichbarkeitsrelation 34/60
48 Beseitigung der unendlichen Vereinigung bei Graphen spezieller: nur endlich viele Knoten Frage: Existiert ein Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n Knoten. p = (i0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. Wenn k n, dann kommen in der Liste p also k + 1 n + 1 Knotennamen vor. aber G hat nur n verschiedene Knoten. Also muss ein Knoten x doppelt in der Liste p vorkommen. p enthält Zyklus von x nach x Weglassen des Zyklus ergibt kürzeren Pfad, der immer noch von i nach j führt. wiederhole, solange Pfad mindestens n + 1 Knoten enthält Ergebnis: Pfad, in dem höchstens noch n Knoten, also höchstens n 1 Kanten, vorkommen, und der auch immer noch von i nach j führt. Einfache Berechnung der Erreichbarkeitsrelation 34/60
49 Beseitigung der unendlichen Vereinigung (2) Für Erreichbarkeit in einem endlichen Graphen mit n Knoten angeht, gilt: E = n 1 Betrachtung höherer Potenzen (längerer Pfade) schadet nicht: Lemma Für jeden gerichteten Graphen G = (V, E) mit n Knoten gilt: i=0 E i k n 1 : E = k i=0 E i Einfache Berechnung der Erreichbarkeitsrelation 35/60
50 Beseitigung der unendlichen Vereinigung (2) Für Erreichbarkeit in einem endlichen Graphen mit n Knoten angeht, gilt: E = n 1 Betrachtung höherer Potenzen (längerer Pfade) schadet nicht: Lemma Für jeden gerichteten Graphen G = (V, E) mit n Knoten gilt: i=0 E i k n 1 : E = k i=0 E i Einfache Berechnung der Erreichbarkeitsrelation 35/60
51 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 36/60
52 Potenzierte Adjazenzmatrix Lemma Es sei G ein gerichteter Graph mit Adjazenzmatrix A. Für alle k N0 gilt: (A k ) ij ist die Anzahl der Pfade der Länge k in G von i nach j. Beweis durch vollständige Induktion. Induktionsschritt fast wie im Fall k = 2. Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 37/60
53 Die Signum-Funktion Signum-Funktion 1 falls x > 0 sgn : R R : sgn(x) = 0 falls x = 0 1 falls x < 0 Erweiterung auf Matrizen durch komponentenweise Anwendung sgn : R m n R m n : (sgn(m)) ij = sgn(m ij ) Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 38/60
54 Matrizen für die Relationen E k Korollar Es sei G ein gerichteter Graph mit Adjazenzmatrix A. Für alle k N0 gilt: 1. 1 falls in G ein Pfad der Länge k sgn((a k von i nach j existiert ) ij ) = 0 falls in G kein Pfad der Länge k von i nach j existiert 2. Matrix sgn(a k ) repräsentiert die Relation E k. Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 39/60
55 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Einfache Berechnung der Erreichbarkeitsrelation Erste Möglichkeit für die Berechnung der Wegematrix 40/60
56 Vereinigung von Relationen Seien Relationen R M M und R M M repräsentiert durch Matrizen A und A. dann: (i, j) R R (i, j) R (i, j) R A ij = 1 A ij = 1 A ij + A ij 1 (A + A ) ij 1 sgn(a + A ) ij = 1 also: R R wird durch sgn(a + A ) repräsentiert. Einfache Berechnung der Erreichbarkeitsrelation Erste Möglichkeit für die Berechnung der Wegematrix 41/60
57 Formel für die Wegematrix Lemma Es sei G ein gerichteter Graph mit Adjazenzmatrix A. Dann gilt für alle k n 1: Die Matrix sgn( k i=0 Ai ) repräsentiert die Relation E. Mit anderen Worten: ( k ) W = sgn A i i=0 ist die Wegematrix des Graphen G. Einfache Berechnung der Erreichbarkeitsrelation Erste Möglichkeit für die Berechnung der Wegematrix 42/60
58 Beweis Man muss sich noch überlegen: n 1 i=0 E i wird durch Matrix sgn( k i=0 sgn(ai )) repräsentiert. leichte Verallgemeinerung des Falles R R In dieser Formel darf man die inneren Anwendungen von sgn weglassen. Wenn alle Matrixeinträge 0 sind, gilt: sgn(sgn(m) + sgn(m )) ij = sgn(m + M ) ij Einfache Berechnung der Erreichbarkeitsrelation Erste Möglichkeit für die Berechnung der Wegematrix 43/60
59 Einfachster Algorithmus für die Wegematrix / Matrix A sei die Adjazenzmatrix / Matrix W wird am Ende die Wegematrix enthalten / Matrix M wird benutzt um A i zu berechnen W 0 / Nullmatrix for i 0 to n 1 do M I / Einheitsmatrix for j 1 to i do M M A / Matrixmultiplikation od W W + M / Matrixaddition od W sgn(w ) Einfache Berechnung der Erreichbarkeitsrelation Erste Möglichkeit für die Berechnung der Wegematrix 44/60
60 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 45/60
61 Was ist der Aufwand eines Algorithmus? Anzahl Codezeilen? Entwicklungszeit? Anzahl Schritte? nicht immer gleich benötigter Speicherplatz? nicht immer gleich vorläufig(!): Anzahl arithmetischer Operationen Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 46/60
62 Wieviele elementare Operationen für Matrixaddition? Matrixaddition: for i 0 to m 1 do for j 0 to n 1 do C ij A ij + B ij od od m n Additionen für n n-matrizen: n 2 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 47/60
63 Wieviele elementare Operationen für Matrixmultiplikation? Matrixmultiplikation for i 0 to l 1 do for j 0 to m 1 do C ij 0 for k 0 to n 1 do C ij C ij + A ik B kj od od od l m n Additionen und l m n Multiplikationen kleine Variante: l m (n 1) Additionen insgesamt für n n-matrizen: 2n 3 bzw. 2n 3 n 2 Achtung: Niemand sagt, dass das die einzige oder gar beste Methode ist. Sie ist es nicht! Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 48/60
64 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M I for j 1 to i do M M A od W W + M od W sgn(w ) Aufwand: ( n 1 ) i (2n 3 n 2 ) + n n 2 + n 2 = n n n3 + n 2 i=0 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 49/60
65 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M I for j 1 to i do M M A od W W + M od W sgn(w ) Aufwand: ( n 1 ) i (2n 3 n 2 ) + n n 2 + n 2 = n n n3 + n 2 i=0 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 49/60
66 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M I for j 1 to i do M M A od W W + M od W sgn(w ) Aufwand: ( n 1 ) i (2n 3 n 2 ) + n n 2 + n 2 = n n n3 + n 2 i=0 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 49/60
67 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M I for j 1 to i do M M A od W W + M od W sgn(w ) Aufwand: ( n 1 ) i (2n 3 n 2 ) + n n 2 + n 2 = n n n3 + n 2 i=0 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 49/60
68 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M I for j 1 to i do M M A od W W + M od W sgn(w ) Aufwand: ( n 1 ) i (2n 3 n 2 ) + n n 2 + n 2 = n n n3 + n 2 i=0 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 49/60
69 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M I for j 1 to i do M M A od W W + M od W sgn(w ) Aufwand: ( n 1 ) i (2n 3 n 2 ) + n n 2 + n 2 = n n n3 + n 2 i=0 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 49/60
70 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix50/60
71 Da kann man etwas besser machen! haben so getan, als wären für A i immer i 1 Matrixmultiplikationen nötig es werden aber ohnehin alle Potenzen A i benötigt also besser immer das alte A i 1 merken und wiederverwenden Algorithmus: W 0 M I for i 0 to n 1 do W W + M M M A od W sgn(w ) Aufwand: n (n 2 + (2n 3 n 2 )) + n 2 = 2n 4 + n 2 Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix51/60
72 Es geht noch besser! Schon vergessen? k n 1 : E = k i=0 Alle k n 1 sind in Ordnung. Aber warum kann das helfen? wählen statt n 1 kleinste Zweierpotenz k = 2 m n, also m = log 2 n finden eine Matrix F mit W = F 2 m = ( ((F 2 ) 2 ) ) 2 Das sind nur noch m = log2 n Matrixmultiplikationen! Preisfrage: Wie sieht F aus? Antwort: Wähle F = E 0 E 1 = I V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix52/60
73 Es geht noch besser! Schon vergessen? k n 1 : E = k i=0 Alle k n 1 sind in Ordnung. Aber warum kann das helfen? wählen statt n 1 kleinste Zweierpotenz k = 2 m n, also m = log 2 n finden eine Matrix F mit W = F 2 m = ( ((F 2 ) 2 ) ) 2 Das sind nur noch m = log2 n Matrixmultiplikationen! Preisfrage: Wie sieht F aus? Antwort: Wähle F = E 0 E 1 = I V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix52/60
74 Es geht noch besser! Schon vergessen? k n 1 : E = k i=0 Alle k n 1 sind in Ordnung. Aber warum kann das helfen? wählen statt n 1 kleinste Zweierpotenz k = 2 m n, also m = log 2 n finden eine Matrix F mit W = F 2 m = ( ((F 2 ) 2 ) ) 2 Das sind nur noch m = log2 n Matrixmultiplikationen! Preisfrage: Wie sieht F aus? Antwort: Wähle F = E 0 E 1 = I V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix52/60
75 Es geht noch besser! Schon vergessen? k n 1 : E = k i=0 Alle k n 1 sind in Ordnung. Aber warum kann das helfen? wählen statt n 1 kleinste Zweierpotenz k = 2 m n, also m = log 2 n finden eine Matrix F mit W = F 2 m = ( ((F 2 ) 2 ) ) 2 Das sind nur noch m = log2 n Matrixmultiplikationen! Preisfrage: Wie sieht F aus? Antwort: Wähle F = E 0 E 1 = I V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix52/60
76 Es geht noch besser! (2) Sei F = E 0 E 1 dann F 2 = (E 0 E 1 ) (E 0 E 1 ) = E 0 E 1 E 1 E 2 = E 0 E 1 E 2 und F 4 = (F 2 ) 2 = (E 0 E 1 E 2 ) (E 0 E 1 E 2 ) =... = E 0 E 1 E 2 E 3 E 4 per Induktion: Für alle m N0 gilt: F 2m = 2 m E i i=0 Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix53/60
77 Es geht noch besser! (3) Algorithmus: W A + I m log 2 n for i 1 to m do W W W od W sgn(w ) Aufwand: n 2 + log 2 n + log 2 n (2n 3 n 2 ) + n 2 Beachte: Für die Berechnung des Wertes log 2 n aus n sind höchstens log 2 n Operationen nötig. Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix54/60
78 Was ist wichtig Das sollten Sie mitnehmen: Manchmal ist der naheliegende Algorithmus nicht der einzige oder gar der schnellste. Denken/Mathematik/Kreativität/Einfach-mal-drüber-schlafen helfen Das sollten Sie üben: Aufwandsabschätzungen bei (ineinander geschachtelten) Schleifen auch mal verrückte Ideen ausprobieren Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix55/60
79 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrixmultiplikation Matrixaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen durchzuführender arithmetischer Operationen Weitere Möglichkeiten für die Berechnung der Wegematrix Algorithmus von Warshall Algorithmus von Warshall 56/60
80 Der Algorithmus von Warshall for i 0 to n 1 do for j 0 to { n 1 do 1 falls i = j W [i, j] A[i, j] falls i j od od for k 0 to n 1 do for i 0 to n 1 do for j 0 to n 1 do W [i, j] max( W [i, j], min(w [i, k], W [k, j]) ) od od od Algorithmus von Warshall 57/60
81 Zur Funktionsweise des Algorithmus von Warshall algorithmische Idee geht auf eine fundamentale Arbeit von Stephen Kleene zurück Redeweise bei einem Pfad p = (v 0, v 1,..., v m 1, v m ) der Länge m 2 die Knoten v1,..., v m 1 nennen wir Zwischenknoten des Pfades. Pfade der Längen 0 und 1 besitzen keine Zwischenknoten. Invariante für die äußere Schleife for k 0 to n 1 do... od lautet: Für alle i, j Gn: Nach k Durchläufen der äußeren Schleife ist W [i, j] genau dann 1, wenn es einen wiederholungsfreien Pfad von i nach j gibt, bei dem alle Zwischenknoten Nummern in Gk (also < k) haben. Algorithmus von Warshall 58/60
82 Zum Aufwand des Algorithmus von Warshall drei ineinander geschachtelte Schleifen deren jeweiliger Rumpf n-mal durchlaufen wird irgendwie ungefähr n 3 Operationen Algorithmus von Warshall 59/60
83 Zusammenfassung Repräsentationen von Graphen im Rechner Berechnung der Wegematrix mit vielen oder weniger Operationen Algorithmus Warshall kommt mit weniger Operationen aus als alle unsere vorherigen Versuche Zusammenfassung 60/60
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 16: Erste Algorithmen in Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/45
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
Mehrclass Vertex { class Edge { } Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; }
12 E R S T E A L G O R I T H M E N I N G R A P H E N In dieser Einheit wollen wir beginnen, Algorithmen auch unter quantitativen Gesichtspunkten zu betrachten. Als Aufhänger werden wir eine vereinfachte
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi tutorium@marcusgeorgi.de 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen
MehrGrundbegriffe der Informatik Musterlösung zu Aufgabenblatt 9
Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 9 Aufgabe 9.1 (5+ Punkte) Für Graphen mit gewichteten Kanten steht in der Adjazenzmatrix an der Stelle i,j eine 0, falls es keine Kante von i
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrAlgebraische und arithmetische Algorithmen
Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche
Mehrκ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).
5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende
Mehr6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )
6. Transitive Hülle 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, ) Gruppe Halbgruppe Halbgruppe Halbgruppe Wir betrachten den (kommutativen) Semiring über R { } mit
MehrGliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III
Gliederung Algorithmen und Datenstrukturen II : Kürzeste Pfade III D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Problem Transitiver
MehrTutorium 23 Grundbegriffe der Informatik (7. Sitzung)
Tutorium 3 Grundbegriffe der Informatik (7. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2018/2019 1 / 40 Überblick Überblick Grundlegendes zu Markov-Ketten
MehrAlgebraische und arithmetische Algorithmen
Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrGraphenalgorithmen I
enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrKürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring
Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrWenn wir zudem a ii = 1 für 1 i n setzen, dann gilt für A k (boolesches Produkt, A 0 = I) 0 falls es im Graphen keinen Pfad von v i nach v j,
6.2 Boolesche Matrixmultiplikation und Transitive Hülle Wir ersetzen nun im vorhergehenden Abschnitt die Distanzmatrix durch die (boolesche) Adjazenzmatrix und (min, +) durch (, ), d.h.: n C = A B; c ij
MehrADS 2: Algorithmen und Datenstrukturen
ADS 2: Algorithmen und Datenstrukturen Teil 2 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 16. April
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.
MehrGraphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke
Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 3: Einführung in die Graphentheorie - Teil 3 Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 2. März 2018 1/72 ZUSAMMENHANG
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrMotivation Kap. 6: Graphen
Motivation Kap. 6: Graphen Warum soll ich heute hier bleiben? Graphen sind wichtig und machen Spaß! Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Was gibt es
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 4: Wörter (und vollständige Induktion) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/29 Überblick Wörter Wörter Das leere Wort Mehr zu
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
Mehrij. , d (k 1) + d (k 1)
Dabei war ja die Idee, dass wir unser k Schritt für Schritt erhöhen bis wir bei n angekommen sind, denn dann haben wir das Problem gelöst. Dies ist im Grunde unser Algorithmus. Wir müssen diesen nur noch
MehrGraphen. Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege.
Graphen Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege. Klausurtermine Nachklausur Do..0.0, 9- Uhr HS V Abschlussklausur Di...0 im AudiMax bisherige Uhrzeit:
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
MehrTeil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.
Teil I Lineare Algebra I Vorlesung Sommersemester 2011 Olga Holtz MA 378 Sprechstunde Fr 14-16 und nv holtz@mathtu-berlinde Sadegh Jokar MA 373 Sprechstunde, Do 12-14 und nv jokar@mathtu-berlinde Kapitel
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
Mehr12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.
254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
MehrGraphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1
Graphen 27 Jiri Spale, Algorithmen und Datenstrukturen - Graphen Motivation Einsatz: Berechnung von Entfernungen Auffinden von Zyklen in Beziehungen Ermittlung von Verbindungen Zeitmanagement Konzept:
MehrSeien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.
Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen
Mehr2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
MehrAlgorithmen und Datenstrukturen 13
19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum
MehrDiskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier
Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre
MehrRouting A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
Mehr8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.
8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
MehrMLAN1 1 MATRIZEN 1 0 = A T =
MLAN1 1 MATRIZEN 1 1 Matrizen Eine m n Matrix ein rechteckiges Zahlenschema a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n a m1 a m2 a m3 amn mit m Zeilen und n Spalten bestehend aus m n Zahlen Die Matrixelemente
Mehr23. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Reflexive transitive Hülle, Traversieren (DFS, BFS), Zusammenhangskomponenten, Topologisches Sortieren Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. 60 60 [Multi]Graph
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Mehr1 Algebraische Strukturen
1 Algebraische Strukturen 1.1 Innere Verknüpfungen 1.1.1 Grundbegriffe und Beispiele In der Analysis wie auch in der linearen Algebra kommen verschiedene Arten von Rechenoperationen vor, bei denen man
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrVorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq
Vorlesung 3: Graphenalgorithmen Markus Püschel David Steurer Peter Widmayer PDF download goo.gl/ym3spq Algorithmen und Datenstrukturen, Herbstsemester 2017, ETH Zürich Gerichtete Graphen und Abhängigkeiten
MehrGraphenalgorithmen I
Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket
MehrWir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.
aaacmxicdvdlsgmxfl1t3/vv69jntaiuyowubbdcwy1lbfuqwkomtwuyzgri7ltgwa9wa7/cr+lo3potpq2c9xegcdjnxu7j8wmpdlru2mktlc4tr6yu5dc3nre2czvfhlgjzrzolfs65vpdpyh4hqvk3oo1p6evedmpzid+c8i1esq6xjtmnzaoitexjkkvbozdl5yrytfofkpu+bhacu+q5dfxyu4updp+pkobwgv3xyne9hrlqh4hk9sytufg2mmorsekf8zfjobhlav0wnuwrjtkppnnez+sq6v0sf9p+yiku/x7rkzdy9lqt5mhxtvz05uif3q+ugfs38zdz1aedznlwqtwndwpjarvvfmrfpuvtiaioeeesvnqfiijkjkpj/se5gxlagllwti/enzhnwvos87bfr+qiv+txnhzc8velveqvwcgvdidazgcd06hbhdwcxvgemitpmpiexhgzqvznhvnoz87uzah5/0djy+sia==
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven Kosub
MehrMathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016
und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern
MehrRelationen und Graphentheorie
Seite Graphentheorie- Relationen und Graphentheorie Grundbegriffe. Relationen- und Graphentheorie gehören zu den wichtigsten Hilfsmitteln der Informatik, die aus der diskretenmathematik stammen. Ein Graph
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrAlgorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Christian Rieck, Arne Schmidt 22.11.2018 Heute 12 Breiten-
MehrÜbersicht Kapitel 9. Vektorräume
Vektorräume Definition und Geometrie von Vektoren Übersicht Kapitel 9 Vektorräume 9.1 Definition und Geometrie von Vektoren 9.2 Teilräume 9.3 Linearkombinationen und Erzeugendensysteme 9.4 Lineare Abhängigkeiten
MehrFAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Übungsblatt 10 Prof. Dr. Helmut Seidl, T. M. Gawlitza,
MehrGraphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke
Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrWintersemester 2004/ Februar 2005
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
Mehr2.5 Gauß-Jordan-Verfahren
2.5 Gauß-Jordan-Verfahren Definition 2.5.1 Sei A K (m,n). Dann heißt A in zeilenreduzierter Normalform, wenn gilt: [Z1] Der erste Eintrag 0 in jeder Zeile 0 ist 1. [Z2] Jede Spalte, die eine 1 nach [Z1]
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 17: Quantitative Aspekte von Algorithmen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut
MehrVorkurs Informatik WiSe 16/17
Institut für Programmierung Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Schilda-Rallye Was steckt
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 20.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Schilda-Rallye Was steckt dahinter? Darstellung von Graphen
Mehr2. Das single-source-shortest-path-problem
. Das single-source-shortest-path-problem Zunächst nehmen wir an, dass d 0 ist. Alle kürzesten Pfade von a nach b sind o.b.d.a. einfache Pfade.. Dijkstra s Algorithmus Gegeben: G = (V, A), (A = V V ),
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 18: Logik Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/35 Überblick Formeln in Prädikatenlogik erster Stufe Theorien und
Mehr12. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt
Mehr1 Datenstrukturen Datenstrukturen und Algorithmen
1 Datenstrukturen 1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen 1 1.5 Graphen Darstellung allgemeiner Beziehungen zwischen Objekten/Elementen Objekte = Knoten:
Mehr5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen
Grundlagen der Mathematik für Informatiker 1 Grundlagen der Mathematik für Informatiker 5 Graphen 5.1 Gerichtete Graphen Definition 5.1 (V, E) heißt gerichteter Graph (Digraph), wenn V Menge von Knoten
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 17. Vorlesung Graphen: Repräsentation und Durchlaufstrategien Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Vorlesungsumfrage Nutzen Sie
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
Mehr16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87
16. November 2011 Zentralitätsmaße H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 Darstellung in spektraler Form Zentralität genügt Ax = κ 1 x (Herleitung s. Tafel), daher ist x der Eigenvektor
MehrEcken des Zuordnungsproblems
Total unimodulare Matrizen Ecken des Zuordnungsproblems Definition.6 Ein Zuordnungsproblem mit den Vorzeichenbedingungen 0 apple x ij apple für i, j =,...,n statt x ij 2{0, } heißt relaxiertes Zuordnungproblem.
MehrBeispiele 1. Gegeben ist das lineare System. x+4y +3z = 1 2x+5y +9z = 14 x 3y 2z = 5. Die erweiterte Matrix ist
127 Die Schritte des Gauß-Algorithmus sind nun die Folgenden: 1. Wir bestimmen die am weitesten links stehende Spalte, die Einträge 0 enthält. 2. Ist die oberste Zahl der in Schritt 1 gefundenen Spalte
MehrBeispiele 1. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix (A
133 e 1. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix 1 3 2 1 1 2 3 0. 1 3 2 1 2. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix 1 3 2 1 1 2 3 0. 1 3 2 1 Schritte des
Mehr7 Matrizen über R und C
Mathematik für Physiker I, WS 06/07 Montag 9 $Id: matrixtex,v 7 06//9 :58: hk Exp $ 7 Matrizen über R und C 7 Addition und Multiplikation von Matrizen In der letzten Sitzung haben wir begonnen uns mit
MehrMengen und Relationen
KAPITEL 1 Mengen und Relationen 1.1. Mengenlehre Georg Cantor (3.3.1845 6.1.1918: Cantor ist der Vater der modernen Mengenlehre, er definierte 1895: DEFINITION 1.1.1. Unter einer Menge verstehen wir jede
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrÜbersicht. Bielefeld Hannover. Kamen Paderborn. Unna Wünnenberg Kassel. Ziffer wählen. abheben. auflegen. Gespräch führen
Übersicht Graphen beschreiben Objekte und Beziehungen zwischen ihnen geeignet für Modellierung verschiedener Aufgaben betrachten endliche, ungerichtete und endliche, gerichtete Graphen Graphen bestehen
MehrInformatik II, SS 2016
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrDigraphen, DAGs und Wurzelbäume
Digraphen (gerichtete Graphen) Slide 1 Digraphen, DAGs und Wurzelbäume Digraphen (gerichtete Graphen) Slide 2 Eingangs- und Ausgangsgrad Bei einer gerichteten Kante e = (u,v) E heißt u Startknoten von
MehrTeil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.
Teil I Lineare Algebra I Vorlesung Sommersemester 0 Olga Holtz MA 378 Sprechstunde Fr 4-6 und nv holtz@mathtu-berlinde Sadegh Jokar MA 373 Sprechstunde, Do -4 und nv jokar@mathtu-berlinde Kapitel Die Determinante
MehrAlgorithmen und Komplexität
Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A
MehrEinheit 11 - Graphen
Einheit - Graphen Bevor wir in medias res (eigentlich heißt es medias in res) gehen, eine Zusammenfassung der wichtigsten Definitionen und Notationen für Graphen. Graphen bestehen aus Knoten (vertex, vertices)
MehrKap. 6.6: Kürzeste Wege
Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
Mehr