Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48
|
|
- Dorothea Giese
- vor 7 Jahren
- Abrufe
Transkript
1 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48
2 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 2/48
3 Überblick Java-Arrays und Matrizen Eindimensionale Vektoren Addition von Vektoren Zweidimensionale Matrizen Addition von Matrizen Multiplikation von Matrizen Repräsentation von Graphen im Rechner 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/48
4 Überblick Java-Arrays und Matrizen Eindimensionale Vektoren Addition von Vektoren Zweidimensionale Matrizen Addition von Matrizen Multiplikation von Matrizen Repräsentation von Graphen im Rechner 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 Java-Arrays und Matrizen 4/48
5 Eindimensionales Array waagerecht hingemalt: senkrecht hingemalt: alle Komponenten vom gleichen Typ Java-Arrays und Matrizen Eindimensionale Vektoren 5/48
6 Vektoren so eine rechteckige Anordnung von Elementen heißt auch Vektor, genauer Zeilenvektor opder Spaltenvektor. Die Anzahl der Elemente heißt Größe eines Vektors. Komponenten oder Einträge des Vektors in Java V [i] hier meist auch V [i] (gelegentlich Vi ) mathematische Notation oft mit großen (runden) Klammern außen herum wie bei Zeilenvektor V = ( ) oder 1 Spaltenvektor V = Java-Arrays und Matrizen Eindimensionale Vektoren 6/48
7 Addition von Vektoren: mathematisch Wenn V 1 und V 2 zwei Vektoren gleicher Größe sind, ist ihre Summe definiert als der Vektor, bei der für alle Komponentennummern i gilt: (V 1 + V 2 )[i] = V 1 [i] + V 2 [i] Beispiel: ( ) + ( ) = ( ) Java-Arrays und Matrizen Addition von Vektoren 7/48
8 Addition von Vektoren: algorithmisch for i 0 to n 1 do S[i] V 1 [i] + V 2 [i] od Java-Arrays und Matrizen Addition von Vektoren 8/48
9 Zweidimensionales Array eindimensionales Array (senkrecht hingemalt), dessen Komponenten wieder eindimensionale Arrays (waagerecht hingemalt) sind Java-Arrays und Matrizen Zweidimensionale Matrizen 9/48
10 Zweidimensionales Array eindimensionales Array (senkrecht hingemalt), dessen Komponenten wieder eindimensionale Arrays (waagerecht hingemalt) sind Java-Arrays und Matrizen Zweidimensionale Matrizen 9/48
11 Zweidimensionales Array eindimensionales Array (senkrecht hingemalt), dessen Komponenten wieder eindimensionale Arrays (waagerecht hingemalt) sind Java-Arrays und Matrizen Zweidimensionale Matrizen 9/48
12 Zweidimensionales Array eindimensionales Array (senkrecht hingemalt), dessen Komponenten wieder eindimensionale Arrays (waagerecht hingemalt) sind M[0][0] M[0][1] M[0][2] M[0][3] M[0][4] M[1][0] M[1][1] M[1][2] M[1][3] M[1][4] M[2][0] M[2][1] M[2][2] M[2][3] M[2][4] M[3][0] M[3][1] M[3][2] M[3][3] M[3][4] M[4][0] M[4][1] M[4][2] M[4][3] M[4][4] Java-Arrays und Matrizen Zweidimensionale Matrizen 9/48
13 Matrizen so eine rechteckige Anordnung von Elementen heißt auch Matrix. Ihre Größe ist das Paar (m, n), bei dem m die Zeilenzahl ist und n die Spaltenzahl manchmal auch Schreibweise m n für die Größe Komponenten oder Einträge der Matrix in Java M[i][j] hier lieber M[i, j] oder M ij mathematische Notation oft mit großen (runden) Klammern außen herum wie in M = Java-Arrays und Matrizen Zweidimensionale Matrizen 10/48
14 Addition von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen gleicher Größe sind, ist ihre Summe definiert als die Matrix, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 + M 2 )[i, j] = M 1 [i, j] + M 2 [i, j] Beispiel: = Java-Arrays und Matrizen Addition von Matrizen 11/48
15 Addition von Matrizen: algorithmisch for i 0 to m 1 do for j 0 to n 1 do S[i, j] M 1 [i, j] + M 2 [i, j] od od so viel zur Addition, und nun zur Multiplikation... Java-Arrays und Matrizen Addition von Matrizen 12/48
16 Addition von Matrizen: algorithmisch for i 0 to m 1 do for j 0 to n 1 do S[i, j] M 1 [i, j] + M 2 [i, j] od od so viel zur Addition, und nun zur Multiplikation... Java-Arrays und Matrizen Addition von Matrizen 12/48
17 Multiplikation von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen mit Größen m 1 n 1 bzw. m 2 n 2 sind und wenn n 1 = m 2 ist, ist ihr Produkt definiert als die Matrix M 1 M 2 der Größe m 1 n 2, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 M 2 )[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] Beispiel: = M ( )( ) M 1 = = M M 2 für iterierte Multiplikation M M wieder Potenzschreibweise Java-Arrays und Matrizen Multiplikation von Matrizen 13/48
18 Multiplikation von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen mit Größen m 1 n 1 bzw. m 2 n 2 sind und wenn n 1 = m 2 ist, ist ihr Produkt definiert als die Matrix M 1 M 2 der Größe m 1 n 2, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 M 2 )[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] Beispiel: = M ( )( ) M 1 = = M M 2 für iterierte Multiplikation M M wieder Potenzschreibweise Java-Arrays und Matrizen Multiplikation von Matrizen 13/48
19 Multiplikation von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen mit Größen m 1 n 1 bzw. m 2 n 2 sind und wenn n 1 = m 2 ist, ist ihr Produkt definiert als die Matrix M 1 M 2 der Größe m 1 n 2, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 M 2 )[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] Beispiel: = M ( )( ) M 1 = = M M 2 für iterierte Multiplikation M M wieder Potenzschreibweise Java-Arrays und Matrizen Multiplikation von Matrizen 13/48
20 Multiplikation von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen mit Größen m 1 n 1 bzw. m 2 n 2 sind und wenn n 1 = m 2 ist, ist ihr Produkt definiert als die Matrix M 1 M 2 der Größe m 1 n 2, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 M 2 )[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] Beispiel: = M ( )( ) M 1 = = M M 2 für iterierte Multiplikation M M wieder Potenzschreibweise Java-Arrays und Matrizen Multiplikation von Matrizen 13/48
21 Multiplikation von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen mit Größen m 1 n 1 bzw. m 2 n 2 sind und wenn n 1 = m 2 ist, ist ihr Produkt definiert als die Matrix M 1 M 2 der Größe m 1 n 2, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 M 2 )[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] Beispiel: = M ( )( ) M 1 = = M M 2 für iterierte Multiplikation M M wieder Potenzschreibweise Java-Arrays und Matrizen Multiplikation von Matrizen 13/48
22 Multiplikation von Matrizen: mathematisch Wenn M 1 und M 2 zwei Matrizen mit Größen m 1 n 1 bzw. m 2 n 2 sind und wenn n 1 = m 2 ist, ist ihr Produkt definiert als die Matrix M 1 M 2 der Größe m 1 n 2, bei der für alle Zeilennummern i und alle Spaltennummern j gilt: (M 1 M 2 )[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] Beispiel: = M ( )( ) M 1 = = M M 2 für iterierte Multiplikation M M wieder Potenzschreibweise Java-Arrays und Matrizen Multiplikation von Matrizen 13/48
23 Multiplikation mit der Einheitsmatrix Einheitsmatrix I der Größe n n { 1 falls i = j I [i, j] = 0 falls i j Beispiel Es ist immer I = I M = M = M I Java-Arrays und Matrizen Multiplikation von Matrizen 14/48
24 Multiplikation von Matrizen: algorithmisch P[i, j] = n 1 1 k=0 M 1 [i, k] M 2 [k, j] for i 0 to m 1 1 do for j 0 to n 2 1 do P[i, j] 0 for k 0 to n 1 1 do P[i, j] P[i, j] + M 1 [i, k] M 2 [k, j] od od od Java-Arrays und Matrizen Multiplikation von Matrizen 15/48
25 Was ist wichtig Das sollten Sie mitnehmen: zweidimensionale Arrays als algorithmische Objekte Matrizen als mathematische Objekte Das sollten Sie üben: Matrizen addieren und multiplizieren Java-Arrays und Matrizen was ist wichtig 16/48
26 Überblick Java-Arrays und Matrizen Eindimensionale Vektoren Addition von Vektoren Zweidimensionale Matrizen Addition von Matrizen Multiplikation von Matrizen Repräsentation von Graphen im Rechner 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 17/48
27 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 18/48
28 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 18/48
29 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 18/48
30 Adjazenzlisten class Vertex { String name; Vertex[] neighbors; } // oder was auch immer class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } Repräsentation von Graphen im Rechner 19/48
31 Inzidenzlisten class Vertex { String name; Edge[] incoming; Edge[] outgoing; } // oder was auch immer class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } Repräsentation von Graphen im Rechner 20/48
32 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[i, j] = 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 21/48
33 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[i, j] = 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 21/48
34 Wegematrix eines Graphen jede Relation als Matrix repräsentierbar z. B. auch die Erreichbarkeitsrelation E die zugehörigen Matrix heißt die Wegematrix W des Graphen,also { 1 falls (i, j) E W [i, j] = 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 22/48
35 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 was ist wichtig 23/48
36 Überblick Java-Arrays und Matrizen Eindimensionale Vektoren Addition von Vektoren Zweidimensionale Matrizen Addition von Matrizen Multiplikation von Matrizen Repräsentation von Graphen im Rechner 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 24/48
37 Die naheliegende Idee Benutze E = i=0 um die Wegematrix zu berechnen. Probleme: Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? Was kann man gegen das unendlich tun? E i Einfache Berechnung der Erreichbarkeitsrelation 25/48
38 Die naheliegende Idee Benutze E = i=0 um die Wegematrix zu berechnen. Probleme: Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? Was kann man gegen das unendlich tun? E i Einfache Berechnung der Erreichbarkeitsrelation 25/48
39 Die naheliegende Idee Benutze E = i=0 um die Wegematrix zu berechnen. Probleme: Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? Was kann man gegen das unendlich tun? E i Einfache Berechnung der Erreichbarkeitsrelation 25/48
40 Die naheliegende Idee Benutze E = i=0 um die Wegematrix zu berechnen. Probleme: Woher kommen die Matrizen für die Relationen E i? Welcher Matrizen-Operation entspricht die Vereinigung? Was kann man gegen das unendlich tun? E i Einfache Berechnung der Erreichbarkeitsrelation 25/48
41 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 26/48
42 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 26/48
43 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 26/48
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 26/48
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 26/48
46 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 27/48
47 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 27/48
48 Quadrierte Adjazenzmatrix: Beispiel Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 28/48
49 Quadrierte Adjazenzmatrix: Beispiel Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 29/48
50 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. Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 30/48
51 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 31/48
52 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 32/48
53 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. (A 0 sei die Einheitsmatrix.) Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix 33/48
54 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 34/48
55 Beweis Man muss sich noch überlegen: n 1 i=0 E i wird durch Matrix sgn( k i=0 sgn(ai )) repräsentiert. In dieser Formel darf man die inneren Anwendungen von sgn weglassen. Das sieht man so: allgemein: Relationen R und R, durch Matrizen M und M dargestellt. Dann sgn(m + M ) ij = 1 (M + M ) ij 1 M ij = 1 M ij = 1 (i, j) R (i, j) R (i, j) R R 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 35/48
56 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 Id / 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 36/48
57 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 37/48
58 Wieviele elementare Operationen für Matrixaddition? Matrixaddition: for i 0 to m 1 do for j 0 to n 1 do S[i, j] M 1 [i, j] + M 2 [i, j] od od m n Additionen für n n-matrizen: n 2 Einfache Berechnung der Erreichbarkeitsrelation Zählen durchzuführender arithmetischer Operationen 38/48
59 Wieviele elementare Operationen für Matrixmultiplikation? Matrixmultiplikation for i 0 to m 1 1 do for j 0 to n 2 1 do P[i, j] 0 for k 0 to n 1 1 do P[i, j] P[i, j] + M 1 [i, k] M 2 [k, j] od od od m 1 n 2 n 1 Additionen und m 1 n 2 n 1 Multiplikationen kleine Variante: m 1 n 2 (n 1 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 39/48
60 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M Id 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 40/48
61 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M Id 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 40/48
62 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M Id 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 40/48
63 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M Id 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 40/48
64 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M Id 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 40/48
65 Wieviele elementare Operationen für Wegematrix? Algorithmus: W 0 for i 0 to n 1 do M Id 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 40/48
66 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 Id 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 Wegematrix41/48
67 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 = Id V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix42/48
68 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 = Id V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix42/48
69 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 = Id V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix42/48
70 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 = Id V E. E i Einfache Berechnung der Erreichbarkeitsrelation Weitere Möglichkeiten für die Berechnung der Wegematrix42/48
71 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 Wegematrix43/48
72 Es geht noch besser! (3) Algorithmus: W A + Id 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 Wegematrix44/48
73 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 was ist wichtig 45/48
74 Überblick Java-Arrays und Matrizen Eindimensionale Vektoren Addition von Vektoren Zweidimensionale Matrizen Addition von Matrizen Multiplikation von Matrizen Repräsentation von Graphen im Rechner 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 46/48
75 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 47/48
76 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 48/48
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
MehrAm Dienstag, den 15. Dezember, ist Eulenfest. 1/60
Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester
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
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
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
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
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
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
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 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
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
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
MehrBasiswissen Matrizen
Basiswissen Matrizen Mathematik GK 32 Definition (Die Matrix) Eine Matrix A mit m Zeilen und n Spalten heißt m x n Matrix: a a 2 a 4 A a 2 a 22 a 24 a 4 a 42 a 44 Definition 2 (Die Addition von Matrizen)
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
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
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
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
MehrVektoren und Matrizen
Universität Basel Wirtschaftswissenschaftliches Zentrum Vektoren und Matrizen Dr. Thomas Zehrt Inhalt: 1. Vektoren (a) Einführung (b) Linearkombinationen (c) Länge eines Vektors (d) Skalarprodukt (e) Geraden
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
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
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
Mehra 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:
Matrizen Betrachten wir das nachfolgende Rechteckschema: a 12 a 1(m 1 a 1m a n1 a n2 a n(m 1 a nm Ein solches Schema nennt man (n m-matrix, da es aus n Zeilen und m Spalten besteht Jeder einzelne Eintrag
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
MehrMathematik 1 für Wirtschaftsinformatik
für Wirtschaftsinformatik Wintersemester 2012/13 Hochschule Augsburg : Gliederung 1 Grundlegende 2 Grundlegende 3 Aussagenlogik 4 Komplexe Zahlen 5 Lineare Algebra 6 Lineare Programme 5 Lineare Algebra
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
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
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
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
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
MehrMatrizen und Drehungen
Matrizen und Drehungen 20. Noember 2003 Diese Ausführungen sind im wesentlichen dem Skript zur Vorlesung Einführung in die Theoretische Physik I und II on PD Dr. Horst Fichtner entnommen. Dieses entstand
MehrMatrizen, Determinanten, lineare Gleichungssysteme
Matrizen, Determinanten, lineare Gleichungssysteme 1 Matrizen Definition 1. Eine Matrix A vom Typ m n (oder eine m n Matrix, A R m n oder A C m n ) ist ein rechteckiges Zahlenschema mit m Zeilen und n
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.
MehrMatrizen. Jörn Loviscach. Versionsstand: 14. April 2009, 00:25
Matrizen Jörn Loviscach Versionsstand: 14. April 2009, 00:25 1 Matrix Ein rechteckige Anordnung von mathematischen Objekten (typischerweise Zahlen) heißt Matrix (Mehrzahl: Matrizen) [matrix, matrices].
Mehr3 Invertierbare Matrizen Die Inverse einer (2 2)-Matrix Eigenschaften invertierbarer Matrizen... 18
Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik 2 Dr. Thomas Zehrt Vektoren und Matrizen Inhaltsverzeichnis Vektoren(Wiederholung bzw. Selbststudium 2. Linearkombinationen..............................
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
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
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
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
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
MehrMatrizen. Jörn Loviscach. Versionsstand: 12. April 2010, 19:00 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung.
Matrizen Jörn Loviscach Versionsstand: 12. April 2010, 19:00 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. 1 Matrix Ein rechteckige Anordnung von mathematischen Objekten
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:
MehrMatrizen. Jörn Loviscach
Matrizen Jörn Loviscach Versionsstand: 7. April 2010, 14:27 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach 1 Matrix Ein
MehrGrundsätzliches Rechnen mit Matrizen Anwendungen. Matrizenrechnung. Fakultät Grundlagen. Juli 2015
Matrizenrechnung Fakultät Grundlagen Juli 2015 Fakultät Grundlagen Matrizenrechnung Übersicht Grundsätzliches 1 Grundsätzliches Matrixbegriff Rechenregeln Spezielle Matrizen 2 Matrizenrechnung Determinanten
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
MehrArrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik
Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung
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
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
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
MehrVorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7
Vorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7 Timo Stöcker Erstsemestereinführung Informatik TU Dortmund 22. März 2011 Heute Themen Lineare Gleichungssysteme Matrizen Timo Stöcker https://fsinfo.cs.tu-dortmund.de/studis/ese/vorkurse/mathe
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
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
Mehr1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.
Definition Die rechteckige Anordnung von m n Elementen a ij in m Zeilen und n Spalten heißt m n- Matrix. Gewöhnlich handelt es sich bei den Elementen a ij der Matrix um reelle Zahlen. Man nennt das Paar
Mehr9.1 ADDIEREN UND SUBTRAHIEREN VON MATRIZEN MULTIPLIKATION EINER MATRIX MIT EINEM SKALAR
Matrizen 9. ADDIEREN UND SUBTRAHIEREN VON MATRIZEN MULTIPLIKATION EINER MATRIX MIT EINEM SKALAR 9.. Definition der Matrizenaddition, der Matrizensubtraktion und der Multiplikation einer Matrix mit einem
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
MehrKapitel 6: Matrixrechnung (Kurzeinführung in die Lineare Algebra)
Kapitel 6: Matrixrechnung (Kurzeinführung in die Lineare Algebra) Matrix: (Plural: Matrizen) Vielfältige Anwendungen in der Physik: - Lösung von linearen Gleichungsystemen - Beschreibung von Drehungen
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
Mehr2.4 Lineare Abbildungen und Matrizen
24 Lineare Abbildungen und Matrizen Definition 24 Seien V, W zwei K-Vektorräume Eine Abbildung f : V W heißt lineare Abbildung (lineare Transformation, linearer Homomorphismus, Vektorraumhomomorphismus
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
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
MehrMultiplikation von Matrizen
Multiplikation von Matrizen Die Regeln der Multiplikation von Zahlen können nicht direkt auf die Multiplikation von Matrizen übertragen werden. 2-E Ma Lubov Vassilevskaya Multiplikation ccvon Matrizen
Mehr3 Matrizenrechnung. 3. November
3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige
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
MehrLineare Algebra. Beni Keller SJ 16/17
Lineare Algebra Beni Keller SJ 16/17 Matritzen Einführendes Beispiel Ein Betrieb braucht zur Herstellung von 5 Zwischenprodukten 4 verschiedene Rohstoffe und zwar in folgenden Mengen: Z 1 Z 2 Z Z 4 Z 5
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
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
Mehrtäglich einmal Scilab!
Mathematik 1 - Übungsblatt 7 täglich einmal Scilab! Aufgabe 1 (Definitionsformel für Determinanten) Determinanten quadratischer Matrizen sind skalare Größen (=einfache Zahlen im Gegensatz zu vektoriellen
Mehr37 Gauß-Algorithmus und lineare Gleichungssysteme
37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass
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
MehrWiMa-Praktikum 1. Woche 8
WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und
Mehr35 Matrixschreibweise für lineare Abbildungen
35 Matrixschreibweise für lineare Abbildungen 35 Motivation Wir haben gesehen, dass lineare Abbildungen sich durch ihre Wirkung auf die Basisvektoren ausdrücken lassen Mithilfe von Matrizen können wir
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
MehrAlgorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 6, 28.10.08 Friedhelm Meyer auf der Heide 1 Organisatorisches Prüfungsanmeldung bis 30.10.
Mehr9.2 Invertierbare Matrizen
34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen
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)
Mehr6. Vorlesung. Rechnen mit Matrizen.
6. Vorlesung. Rechnen mit Matrizen. In dieser Vorlesung betrachten wir lineare Gleichungs System. Wir betrachten lineare Gleichungs Systeme wieder von zwei Gesichtspunkten her: dem angewandten Gesichtspunkt
MehrIn den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):
3 Matrizen Jörn Loviscach Versionsstand: 20. März 2012, 16:02 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.j3l7h.de/videos.html This work is licensed
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.
MehrWirtschaftsmathematik für International Management (BA) und Betriebswirtschaft (BA)
Wirtschaftsmathematik für International Management (BA) und Betriebswirtschaft (BA) Wintersemester 2014/15 Hochschule Augsburg Argumentationstechniken PLUS Direkter Beweis einer Implikation A B (analog
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
MehrGraphen. Graphen und ihre Darstellungen
Graphen Graphen und ihre Darstellungen Ein Graph beschreibt Beziehungen zwischen den Elementen einer Menge von Objekten. Die Objekte werden als Knoten des Graphen bezeichnet; besteht zwischen zwei Knoten
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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 9 Graphen Version vom 13. Dezember 2016 1 / 1 Vorlesung Fortsetzung 13. Dezember
MehrIn den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):
3 Matrizen Jörn Loviscach Versionsstand: 28. März 2015, 21:32 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed
MehrCopyright, Page 1 of 5 Die Determinante
wwwmathematik-netzde Copyright, Page 1 of 5 Die Determinante Determinanten sind ein äußerst wichtiges Instrument zur Untersuchung von Matrizen und linearen Abbildungen Außerhalb der linearen Algebra ist
MehrVektor-Additions-Systeme und Invarianten
Vektor-Additions-Systeme und Invarianten http://www.informatik.uni-bremen.de/theorie/teach/petri Renate Klempien-Hinrichs Stellen- und Transitions-Vektoren T -Invarianten S-Invarianten Bezug zu erreichbaren
MehrInhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015
Inhalt Mathematik für Chemiker II Lineare Algebra Vorlesung im Sommersemester 5 Rostock, April Juli 5 Vektoren und Matrizen Abbildungen 3 Gleichungssysteme 4 Eigenwerte 5 Funktionen mehrerer Variabler
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-
Mehr8 Lineare Gleichungssysteme
$Id: lgs.tex,v 1.6 2010/12/20 12:57:04 hk Exp $ $Id: matrix.tex,v 1.3 2010/12/20 13:12:44 hk Exp hk $ 8 Lineare Gleichungssysteme In der letzten Sitzung hatten wir mit der Besprechung linearer Gleichungssysteme
MehrAbschnitt 7: Komplexität von imperativen Programmen
Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen
MehrUniversität Stuttgart Physik und ihre Didaktik PD Dr. Holger Cartarius. Matrizen. a 1,1 a 1,2 a 1,n a 2,1 a 2,2 a 2,n A = a m,1 a m,2 a m,n
Universität Stuttgart Physik und ihre Didaktik PD Dr Holger Cartarius Matrizen Matrizen: Ein rechteckiges Zahlenschema der Form a 1,1 a 1,2 a 1,n a 2,1 a 2,2 a 2,n A a m,1 a m,2 a m,n (a) nennt man eine
MehrMathematik 1 Bachelorstudiengang Maschinenbau
Mathematik 1 Bachelorstudiengang Maschinenbau Prof Dr Stefan Etschberger Hochschule Augsburg Sommersemester 2012 Übersicht 4 Lineare Algebra 1 Grundlegendes 2 Aussagenlogik 3 Mengen 4 Lineare Algebra Lernziele
MehrLektion 3. 1 Theorie. NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012
NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012 Dr Christoph Kirsch ZHAW Winterthur Lektion 3 In dieser Lektion werden Sie in MATLAB mit Vektoren und Matrizen rechnen 1 Theorie Wie Sie
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:
MehrMATRIZEN. Eine Matrix ist eine rechteckige Anordnung von Zahlen, als ein Schema betrachtet. a 11 a a 1n a 21. a a 2n A = a m1 a m2...
MATRIZEN Eine Matrix ist eine rechteckige Anordnung von Zahlen, als ein Schema betrachtet A = a 11 a 12 a 1n a 21 a 22 a 2n a m1 a m2 a mn A ist eine m n Matrix, dh: A hat m Zeilen und n Spalten A besitzt
MehrTutorium: Diskrete Mathematik. Matrizen
Tutorium: Diskrete Mathematik Matrizen Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de Definition I Eine Matrix ist eine rechteckige Anordnung (Tabelle) von Elementen, mit denen man in bestimmter
Mehr