Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Größe: px
Ab Seite anzeigen:

Download "Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60"

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 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Am 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

Mehr

class Vertex { class Edge { } Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; }

class 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 9

Grundbegriffe 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

Mehr

2. Repräsentationen von Graphen in Computern

2. 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Algebraische und arithmetische Algorithmen

Algebraische 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).

κ(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

Mehr

6. 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(+, ) 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

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III

Gliederung. 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

Mehr

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung)

Tutorium 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

Mehr

Randomisierte Algorithmen

Randomisierte 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

Mehr

Algebraische und arithmetische Algorithmen

Algebraische 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

Algorithmen & Komplexität

Algorithmen & 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

Mehr

Graphenalgorithmen I

Graphenalgorithmen 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

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische 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

Mehr

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Kü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

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

Einführung in die Informatik 2

Einfü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

Mehr

Wenn 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,

Wenn 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

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: 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.

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Graphenalgorithmen 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

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 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

Mehr

Algorithmische Graphentheorie

Algorithmische 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

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

15. Elementare Graphalgorithmen

15. 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

Mehr

Motivation Kap. 6: Graphen

Motivation 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

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

ij. , d (k 1) + d (k 1)

ij. , 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

Mehr

Graphen. Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege.

Graphen. 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:

Mehr

Minimal spannende Bäume

Minimal 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

Mehr

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

Teil 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

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Diskrete 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

Mehr

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. 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

Mehr

Programm 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) Ü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

Mehr

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

Graphen 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:

Mehr

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Seien 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

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

2. 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

Mehr

Algorithmen und Datenstrukturen 13

Algorithmen 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

Mehr

Diskrete 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 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

Mehr

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Routing 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

Mehr

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

8.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

Mehr

8. Übung zu Algorithmen I 15. Juni 2016

8. Ü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

Mehr

5. Bäume und Minimalgerüste

5. 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

Mehr

MLAN1 1 MATRIZEN 1 0 = A T =

MLAN1 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

Mehr

23. Graphen. Königsberg Zyklen. [Multi]Graph

23. 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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene 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

Mehr

1 Algebraische Strukturen

1 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

Mehr

Vorlesung Datenstrukturen

Vorlesung 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)

Mehr

Vorlesung 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 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

Mehr

Graphenalgorithmen I

Graphenalgorithmen 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

Mehr

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.

Wir 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==

Mehr

Einführung in die Informatik 2

Einfü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

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Mathematik 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

Mehr

Relationen und Graphentheorie

Relationen 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

Mehr

Satz 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,... 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

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing 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

Mehr

Programmiertechnik II

Programmiertechnik 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

Mehr

Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen

Algorithmen 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

Ü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

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄ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,

Mehr

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

Graphentheorie 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,

Mehr

Programmiertechnik II

Programmiertechnik 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

Mehr

Informatik II, SS 2016

Informatik 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

Mehr

Wintersemester 2004/ Februar 2005

Wintersemester 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

Mehr

2.5 Gauß-Jordan-Verfahren

2.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]

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs 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

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs 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

Mehr

2. Das single-source-shortest-path-problem

2. 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 ),

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

12. Graphen. Königsberg Zyklen. [Multi]Graph

12. 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

Mehr

1 Datenstrukturen Datenstrukturen und Algorithmen

1 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:

Mehr

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

5 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der 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

Mehr

16. 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 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

Mehr

Ecken des Zuordnungsproblems

Ecken 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.

Mehr

Beispiele 1. Gegeben ist das lineare System. x+4y +3z = 1 2x+5y +9z = 14 x 3y 2z = 5. Die erweiterte Matrix ist

Beispiele 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

Mehr

Beispiele 1. Gegeben sei das lineare Gleichungssystem mit erweiterter Matrix (A

Beispiele 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

Mehr

7 Matrizen über R und C

7 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

Mehr

Mengen und Relationen

Mengen 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

Mehr

Informatik II, SS 2014

Informatik 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. 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

Mehr

Informatik II, SS 2016

Informatik 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

Mehr

Digraphen, DAGs und Wurzelbäume

Digraphen, 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

Mehr

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

Teil 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

Mehr

Algorithmen und Komplexität

Algorithmen 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

Mehr

Einheit 11 - Graphen

Einheit 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)

Mehr

Kap. 6.6: Kürzeste Wege

Kap. 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,

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte 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