Grundbegriffe der Informatik
|
|
- Hans Wilfried Buchholz
- vor 6 Jahren
- Abrufe
Transkript
1 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 Theoretische Informatik 1 / 58
2 Überblick Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrizenmultiplikation und Matrizenaddition Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen arithmetischer Operationen Schnellere Berechnungen der Wegematrix Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 2 / 58
3 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 3 / 58
4 Objekte im Rechner Knoten, Kanten und Graphen class Vertex { String name; } «Knoteninhalte» für uns irrelevant class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } mehr als eine Menge mehr als eine Menge GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 58
5 Objekte im Rechner Knoten, Kanten und Graphen class Vertex { String name; } «Knoteninhalte» für uns irrelevant class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } mehr als eine Menge mehr als eine Menge GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 58
6 Objekte im Rechner Knoten, Kanten und Graphen class Vertex { String name; } «Knoteninhalte» für uns irrelevant class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } mehr als eine Menge mehr als eine Menge GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 58
7 Objekte im Rechner Knoten, Kanten und Graphen class Vertex { int id; } Annahme: Wertebereich Z V class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } mehr als eine Menge mehr als eine Menge GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 4 / 58
8 Adjazenzlisten eine andere Repräsentation für Graphen class Vertex { int id; Vertex[] neighbors; } Feldlänge = Knotengrad class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 5 / 58
9 Inzidenzlisten class Vertex { int id; Edge[] incoming; Edge[] outgoing; } Feldlänge = Eingangsknotengrad Feldlänge = Ausgangsknotengrad class Edge { Vertex start; Vertex end; } class Graph { Vertex[] vertices; Edge[] edges; } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 6 / 58
10 Variante von Adjazenzlisten (auf dem Weg zu Matrizen) class Vertex { int id; boolean[] is_connected_to; } Feldlänge = V u.is_connected_to[v.id] = true falls (u,v) E false falls (u,v) E class Graph { Vertex[] vertices; } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 7 / 58
11 Variante von Adjazenzlisten für einen Beispielgraph Objekt u für Knoten 0 u.id u.is_connected_to false true false true GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 8 / 58
12 Variante von Adjazenzlisten für einen Beispielgraph u.id u.is_connected_to false true false true 1 false false false false 2 false true true true 3 false false true false GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 58
13 Variante von Adjazenzlisten für einen Beispielgraph u.id u.is_connected_to false true false true 1 false false false false 2 false true true true 3 false false true false GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 9 / 58
14 Adjazenzmatrix eines gerichteten Graphen G = (V, E) gerichtet mit n Knoten n n-matrix A mit A ij = 1 falls (i, j) E 0 falls (i, j) E ungerichtetes U = (V, E) G = (V, E д ) Beispiel GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 10 / 58
15 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): (A(R)) ij = 1 falls (i, j) R d. h. also irj 0 falls (i, j) R d. h. also (irj) verschiedene Relationen verschiedene Matrizen GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 11 / 58
16 Wegematrix eines Graphen Erreichbarkeitsrelation E als Matrix W W ij = 1 falls (i, j) E 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 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 12 / 58
17 Wegematrix ein Beispiel W ij = 1 falls (i, j) E 0 falls (i, j) E A = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 58
18 Wegematrix ein Beispiel W ij = 1 falls (i, j) E 0 falls (i, j) E A = W = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 58
19 Wegematrix ein Beispiel W ij = 1 falls (i, j) E 0 falls (i, j) E A = W = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 58
20 Wegematrix ein Beispiel W ij = 1 falls (i, j) E 0 falls (i, j) E A = W = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 58
21 Wegematrix ein Beispiel W ij = 1 falls (i, j) E 0 falls (i, j) E A = W = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 58
22 Wegematrix ein Beispiel W ij = 1 falls (i, j) E 0 falls (i, j) E A = W = GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 13 / 58
23 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 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 14 / 58
24 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrizenmultiplikation und Matrizenaddition Einfache Berechnung der Erreichbarkeitsrelation Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 15 / 58
25 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrizenmultiplikation und Matrizenaddition Einfache Berechnung der Erreichbarkeitsrelation Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 16 / 58
26 2-Erreichbarkeit an einem Beispiel gesucht: Pfade der Länge 2 von Knoten 2 zu Knoten 4 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 17 / 58
27 2-Erreichbarkeit an einem Beispiel gesucht: Pfade der Länge 2 von Knoten 2 zu Knoten 4 hinsehen: (2, 1, 4) und (2, 6, 4) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 18 / 58
28 Systematische Suche nach Pfaden im Beispiel alle Pfade? prüfe für alle Knoten k V : Ist (2, k, 4) ein Pfad? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 58
29 Systematische Suche nach Pfaden im Beispiel alle Pfade? prüfe für alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 58
30 Systematische Suche nach Pfaden im Beispiel alle Pfade? prüfe für alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A 2k = 1 und A k4 = 1? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 58
31 Systematische Suche nach Pfaden im Beispiel alle Pfade? prüfe für alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A 2k = 1 und A k4 = 1? Ist A 2k A k4 = 1? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 58
32 Systematische Suche nach Pfaden im Beispiel alle Pfade? prüfe für alle Knoten k V : Ist (2, k, 4) ein Pfad? Ist (2, k) E und (k, 4) E? Ist A 2k = 1 und A k4 = 1? Ist A 2k A k4 = 1? durchlaufe sequenziell für alle k gleichzeitig alle A 2k und alle A k4, d. h. Zeile für Knoten 2 und Spalte für Knoten 4 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 19 / 58
33 Systematische Suche nach Pfaden A: A: GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 20 / 58
34 Zählen der Pfade im Beispiel GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 21 / 58
35 Zählen der Pfade im Beispiel (2) P 24 = 6 k=0 A 2k A k GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 22 / 58
36 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen 2-Erreichbarkeit an einem Beispiel Matrizenmultiplikation und Matrizenaddition Einfache Berechnung der Erreichbarkeitsrelation Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 23 / 58
37 Matrizenmultiplikation es sei A eine l n-matrix B eine n m-matrix Prukt C = A B die l m-matrix mit n 1 C ij = A ik B k j k=0 im Allgemeinen A B B A falls überhaupt beides definiert, also l = m GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 24 / 58
38 Algorithmus für Matrizenmultiplikation zunächst die naheliegende Möglichkeit demnächst: es geht auch anders! l Zeilen m Spalten n 1 C ij = A ik B k j k=0 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 k j GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 25 / 58
39 Einheitsmatrizen Einheitsmatrix I quadratische Matrix mit I ij = 1 falls i = j 0 falls i j für jede m n-matrix A gilt I A = A = A I linke Einheitsmatrix m m rechte Einheitsmatrix n n GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 26 / 58
40 Potenzen quadratischer Matrizen A 0 = I n N 0 : A n+1 = A n A GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 27 / 58
41 Quadrierte Adjazenzmatrix A 2 einer Adjazenzmatrix A n 1 (A 2 ) ij = A ik A k j k=0 A ik A k j = 1 A ik = A k j = 1 Kanten von i nach k und von k nach j existieren (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) verschieden (A 2 ) ij ist Anzahl der Pfade der Länge 2 von i nach j GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 28 / 58
42 Matrizenaddition ( ) ( ) ( ) = A und B zwei m n-matrizen Summe C = A + B ist m n-matrix mit stets A + B = B + A C ij = A ij + B ij neutrales Element: Nullmatrix 0, überall Nullen algorithmisch: for i 0 to m 1 do for j 0 to n 1 do C ij A ij + B ij GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 29 / 58
43 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen arithmetischer Operationen Schnellere Berechnungen der Wegematrix Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 30 / 58
44 Berechnung von E die naheliegende Idee Benutze E = i N 0 E i um die Wegematrix zu berechnen. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 58
45 Berechnung von E die naheliegende Idee Benutze E = i N 0 E i um die Wegematrix zu berechnen. Probleme: Was kann man gegen das unendlich tun? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 58
46 Berechnung von E die naheliegende Idee Benutze E = i N 0 E i um die Wegematrix zu berechnen. Probleme: Was kann man gegen das unendlich tun? Woher kommen die Matrizen für die Relationen E i? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 58
47 Berechnung von E die naheliegende Idee Benutze E = i N 0 E i 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? GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 31 / 58
48 Beseitigung der unendlichen Vereinigung Existiert Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n nur endlich viele Knoten p = (i 0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 58
49 Beseitigung der unendlichen Vereinigung Existiert Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n nur endlich viele Knoten p = (i 0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. wenn k n, dann enthält p Zyklus von x nach x Weglassen ergibt kürzeren Pfad von i nach j GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 58
50 Beseitigung der unendlichen Vereinigung Existiert Pfad in G von Knoten i nach Knoten j? Sei G = (V, E) mit V = n nur endlich viele Knoten p = (i 0, i 1,..., i k ) ein Pfad mit i 0 = i und i k = j. wenn k n, dann enthält p Zyklus von x nach x Weglassen ergibt kürzeren Pfad von i nach j wiederhole, solange Pfadlänge n Ergebnis: Pfad mit Länge n 1 von i nach j GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 32 / 58
51 Beseitigung der unendlichen Vereinigung (2) eben begründet Lemma Für jeden gerichteten Graphen G = (V, E) mit n Knoten gilt: E = i Z n E i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 58
52 Beseitigung der unendlichen Vereinigung (2) eben begründet Lemma Für jeden gerichteten Graphen G = (V, E) mit n Knoten gilt: E = i Z n E i längere Pfade schaden nicht Lemma Für jeden gerichteten Graphen G = (V, E) mit n Knoten gilt: k n 1 : E = i Z k E i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 33 / 58
53 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen arithmetischer Operationen Schnellere Berechnungen der Wegematrix Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 34 / 58
54 Potenzen der Adjazenzmatrix haben eine Bedeutung Lemma Es sei G ein gerichteter Graph mit Adjazenzmatrix A. Für alle k N 0 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. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 35 / 58
55 Signum-Funktion 1 falls x > 0 sgn : R R : sgn(x) = 0 falls x = 0 1 falls x < 0 bei Matrizen komponentenweise sgn : R m n R m n mit (sgn(m)) ij = sgn(m ij ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 36 / 58
56 Matrizendarstellung für E k sgn(a k ) tut es Korollar Es sei G ein gerichteter Graph mit Adjazenzmatrix A. Für alle k N 0 gilt: 1. 1 falls in G ein Pfad der Länge k sgn((a k ) ij ) = von i nach j existiert 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. GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 37 / 58
57 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen arithmetischer Operationen Schnellere Berechnungen der Wegematrix Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 38 / 58
58 Vereinigung von Relationen 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 R R wird durch sgn(a + A ) repräsentiert GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 39 / 58
59 Eine erste Formel für die Wegematrix es gibt auch noch andere... Lemma Es sei G ein gerichteter Graph mit Adjazenzmatrix A. Dann gilt für alle k n 1: Die Matrix sgn( k i=0 A i ) repräsentiert die Relation E. Mit anderen Worten: W = sgn ist die Wegematrix des Graphen G. k i=0 A i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 40 / 58
60 Beweis noch zu überlegen n 1 i=0 Ei durch sgn( k i=0 sgn(a i )) repräsentiert leichte Verallgemeinerung des Falles R R innere Anwendungen von sgn dürfen fehlen Wenn alle Matrixeinträge 0 sind, gilt: sgn(sgn(m) + sgn(m )) ij = sgn(m + M ) ij GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 41 / 58
61 Einfachster Algorithmus für die Wegematrix Matrix A sei die Adjazenzmatrix W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 42 / 58
62 Einfachster Algorithmus für die Wegematrix Matrix A sei die Adjazenzmatrix W 0 for i 0 to n 1 do M I for j 1 to i do M M A { M = A i } W W + M { W = i k=0 Ak } W sgn(w ) { W ist die Wegematrix } GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 42 / 58
63 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen arithmetischer Operationen Schnellere Berechnungen der Wegematrix Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 43 / 58
64 Was ist der «Aufwand» eines Algorithmus? Anzahl Cezeilen? Entwicklungszeit? Anzahl Schritte? nicht immer gleich benötigter Speicherplatz? nicht immer gleich vorläufig: Anzahl arithmetischer Operationen später anders GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 44 / 58
65 Wieviele elementare Operationen für Matrizenaddition? for i 0 to m 1 do for j 0 to n 1 do C ij A ij + B ij m n Additionen für n n-matrizen: n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 45 / 58
66 Wieviele elementare Operationen für Multiplikation? 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 k j l m n Additionen und l m n Multiplikationen für n n-matrizen: 2n 3 kleine Variante: 2n 3 n 2 Achtung: es geht auch mit weniger Operationen! GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 46 / 58
67 Wieviele elementare Operationen für Wegematrix? W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) Aufwand: n 1 i (2n 3 n 2 ) + n n 2 + n 2 i=0 = n n n3 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 58
68 Wieviele elementare Operationen für Wegematrix? W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) Aufwand: n 1 i (2n 3 n 2 ) + n n 2 + n 2 i=0 = n n n3 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 58
69 Wieviele elementare Operationen für Wegematrix? W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) Aufwand: n 1 i (2n 3 n 2 ) + n n 2 + n 2 i=0 = n n n3 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 58
70 Wieviele elementare Operationen für Wegematrix? W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) Aufwand: n 1 i (2n 3 n 2 ) + n n 2 + n 2 i=0 = n n n3 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 58
71 Wieviele elementare Operationen für Wegematrix? W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) Aufwand: n 1 i (2n 3 n 2 ) + n n 2 + n 2 i=0 = n n n3 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 58
72 Wieviele elementare Operationen für Wegematrix? W 0 for i 0 to n 1 do M I for j 1 to i do M M A W W + M W sgn(w ) Aufwand: n 1 i (2n 3 n 2 ) + n n 2 + n 2 i=0 = n n n3 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 47 / 58
73 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Potenzen der Adjazenzmatrix Erste Möglichkeit für die Berechnung der Wegematrix Zählen arithmetischer Operationen Schnellere Berechnungen der Wegematrix Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 48 / 58
74 Wiederverwendung auch bei Zwischenergebnissen eine gute Sache W 0 M I for i 0 to n 1 do W W + M M M A W sgn(w ) für A i kann man A i 1 wiederverwenden Aufwand: n (n 2 + (2n 3 n 2 )) + n 2 = 2n 4 + n 2 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 49 / 58
75 Es geht noch besser erst mehr denken und dann weniger rechnen Schon vergessen? k n 1 : E = Wie kann ein k > n 1 helfen? k i=0 E i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 58
76 Es geht noch besser erst mehr denken und dann weniger rechnen Schon vergessen? k n 1 : E = k i=0 Wie kann ein k > n 1 helfen? statt n 1 wähle kleinste Zweierpotenz k = 2 m n also m = log 2 n finde Matrix F mit W = F 2m = ( ((F 2 ) 2 ) ) 2 nur noch m = log 2 n Matrizenmultiplikationen E i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 58
77 Es geht noch besser erst mehr denken und dann weniger rechnen Schon vergessen? k n 1 : E = k i=0 Wie kann ein k > n 1 helfen? statt n 1 wähle kleinste Zweierpotenz k = 2 m n also m = log 2 n finde Matrix F mit W = F 2m = ( ((F 2 ) 2 ) ) 2 nur noch m = log 2 n Matrizenmultiplikationen Preisfrage: Wie sieht F aus? E i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 58
78 Es geht noch besser erst mehr denken und dann weniger rechnen Schon vergessen? k n 1 : E = k i=0 Wie kann ein k > n 1 helfen? statt n 1 wähle kleinste Zweierpotenz k = 2 m n also m = log 2 n finde Matrix F mit W = F 2m = ( ((F 2 ) 2 ) ) 2 nur noch m = log 2 n Matrizenmultiplikationen Preisfrage: Wie sieht F aus? Wähle Matrix F für Relation E 0 E 1 = I V E. E i GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 50 / 58
79 Es geht noch besser (2) F = E 0 E 1 F 2 = (E 0 E 1 ) (E 0 E 1 ) = E 0 E 1 E 1 E 2 = E 0 E 1 E 2 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 Induktion: Für alle m N 0 gilt: F 2m = 2 m E i i=0 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 51 / 58
80 Es geht noch besser (3) Berechnung von log 2 n aus n benötigt höchstens log 2 n Operationen F I + A m log 2 n for i 1 to m do F F F W sgn(f ) Aufwand: n 2 + log 2 n + log 2 n (2n 3 n 2 ) + n 2 = log 2 n 2n 3 + «besser» als 2n 4 nächstes Kapitel: präzise ungenau sein GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 52 / 58
81 Was ist wichtig Das sollten Sie mitnehmen: die naheliegende Idee nicht immer die beste Denken, Mathematik, Kreativität, Einfach-mal-drüber-schlafen,... Das sollten Sie üben: Aufwandsabschätzungen bei (ineinander geschachtelten) Schleifen auch mal verrückte Ideen ausprobieren GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 53 / 58
82 Wo sind wir? Repräsentation von Graphen im Rechner Berechnung der 2-Erreichbarkeitsrelation und Rechnen mit Matrizen Einfache Berechnung der Erreichbarkeitsrelation Algorithmus von Warshall GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 54 / 58
83 Algorithmus von Warshall noch ein bisschen schneller for i 0 to n 1 do for j 0 to n 1 do W ij 1 falls i = j A ij falls i j for k 0 to n 1 do for i 0 to n 1 do for j 0 to n 1 do W ij max(w ij, W ik W k j ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 55 / 58
84 Algorithmus von Warshall noch ein bisschen schneller for i 0 to n 1 do for j 0 to n 1 do W [0] ij 1 falls i = j falls i j A ij for k 0 to n 1 do for i 0 to n 1 do for j 0 to n 1 do W [k+1] ij max(w [k] ij, W [k] ik W [k] k j ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 56 / 58
85 Algorithmus von Warshall noch ein bisschen schneller for i 0 to n 1 do for j 0 to n 1 do W [0] ij 1 falls i = j falls i j A ij Pfad p = (v 0,v 1,...,v m 1,v m ) der Länge m v 1,..., v m 1 Zwischenknoten m 1: keine Zwischenknoten for k 0 to n 1 do for i 0 to n 1 do for j 0 to n 1 do W [k+1] ij max(w [k] ij, W [k] ik W [k] k j ) GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 56 / 58
86 Algorithmus von Warshall noch ein bisschen schneller for i 0 to n 1 do for j 0 to n 1 do W [0] ij 1 falls i = j falls i j A ij for k 0 to n 1 do for i 0 to n 1 do for j 0 to n 1 do W [k+1] ij max(w [k] ij, W [k] ik W [k] k j ) Pfad p = (v 0,v 1,...,v m 1,v m ) der Länge m v 1,..., v m 1 Zwischenknoten m 1: keine Zwischenknoten W [k] ij = 1 Pfad von i nach j und nur Zwischenknoten mit Nummern x < k benutzt GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 56 / 58
87 Algorithmus von Warshall noch ein bisschen schneller for i 0 to n 1 do for j 0 to n 1 do W [0] ij 1 falls i = j falls i j A ij for k 0 to n 1 do for i 0 to n 1 do for j 0 to n 1 do W [k+1] ij max(w [k] ij, W [k] ik W [k] k j ) Pfad p = (v 0,v 1,...,v m 1,v m ) der Länge m v 1,..., v m 1 Zwischenknoten m 1: keine Zwischenknoten W [k] ij = 1 Pfad von i nach j und nur Zwischenknoten mit Nummern x < k benutzt GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 56 / 58
88 Zum Aufwand des Algorithmus von Warshall drei ineinander geschachtelte Schleifen deren jeweiliger Rumpf n-mal durchlaufen wird irgendwie ungefähr n 3 Operationen... GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 57 / 58
89 Zusammenfassung Repräsentationen von Graphen im Rechner Berechnung der Wegematrix mit vielen er weniger Operationen Algorithmus von Warshall kommt mit weniger Operationen aus als alle unsere vorherigen Versuche GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik 58 / 58
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 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi tutorium@marcusgeorgi.de 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrAlgebraische und arithmetische Algorithmen
Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche
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
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik 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κ(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
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
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
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
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
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
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrKürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring
Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n
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
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
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
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
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
Mehrij. , d (k 1) + d (k 1)
Dabei war ja die Idee, dass wir unser k Schritt für Schritt erhöhen bis wir bei n angekommen sind, denn dann haben wir das Problem gelöst. Dies ist im Grunde unser Algorithmus. Wir müssen diesen nur noch
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven Kosub
MehrKap. 6.6: Kürzeste Wege
Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,
Mehr8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.
8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische
MehrRelationen und Graphentheorie
Seite Graphentheorie- Relationen und Graphentheorie Grundbegriffe. Relationen- und Graphentheorie gehören zu den wichtigsten Hilfsmitteln der Informatik, die aus der diskretenmathematik stammen. Ein Graph
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
MehrRouting A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
Mehr7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle
In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =
MehrDigraphen, DAGs und Wurzelbäume
Digraphen (gerichtete Graphen) Slide 1 Digraphen, DAGs und Wurzelbäume Digraphen (gerichtete Graphen) Slide 2 Eingangs- und Ausgangsgrad Bei einer gerichteten Kante e = (u,v) E heißt u Startknoten von
MehrMatrizen. Lineare Algebra I. Kapitel April 2011
Matrizen Lineare Algebra I Kapitel 2 26. April 2011 Logistik Dozent: Olga Holtz, MA 378, Sprechstunden Freitag 14-16 Webseite: www.math.tu-berlin.de/~holtz Email: holtz@math.tu-berlin.de Assistent: Sadegh
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
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
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
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
Mehr2.5 Gauß-Jordan-Verfahren
2.5 Gauß-Jordan-Verfahren Definition 2.5.1 Sei A K (m,n). Dann heißt A in zeilenreduzierter Normalform, wenn gilt: [Z1] Der erste Eintrag 0 in jeder Zeile 0 ist 1. [Z2] Jede Spalte, die eine 1 nach [Z1]
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
MehrGraphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke
Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,
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
MehrTeil III. Komplexitätstheorie
Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein
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
MehrWintersemester 2004/ Februar 2005
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
Mehr7 Matrizen über R und C
Mathematik für Physiker I, WS 06/07 Montag 9 $Id: matrixtex,v 7 06//9 :58: hk Exp $ 7 Matrizen über R und C 7 Addition und Multiplikation von Matrizen In der letzten Sitzung haben wir begonnen uns mit
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
MehrEinstieg in die Informatik mit Java
1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4
MehrMatrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte
Mathematik I Matrizen In diesem Kapitel werden wir lernen was Matrizen sind und wie man mit Matrizen rechnet. Matrizen ermöglichen eine kompakte Darstellungsform vieler mathematischer Strukturen. Zum Darstellung
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
MehrMathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016
und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrEigenwerte und Eigenvektoren
Eigenwerte und Eigenvektoren Siehe Analysis (von der Hude, Folie 20: Definition 2.3. Ein Vektor x R n heißt Eigenvektor der quadratischen n n-matrix A zum Eigenwert λ R, wenn gilt Ax = λx Die Eigenwerte
MehrUniversität Innsbruck WS 2013/2014. Brückenkurs. Formale Konzepte. 3. Auflage. Harald Zankl. 15. Januar 2014
Universität Innsbruck WS 013/014 Brückenkurs Formale Konzepte 3. Auflage Harald Zankl 15. Januar 014 Institut für Informatik Innsbruck, Österreich Inhaltsverzeichnis 1 Definition, Satz, Beweis 1.1 Aufgaben................................
MehrFAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Übungsblatt 10 Prof. Dr. Helmut Seidl, T. M. Gawlitza,
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
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.
MehrDarstellung von Gruppen
Darstellung von Gruppen Definition Darstellung von Gruppen Sei G eine endlich erzeugte abelsche Gruppe mit Erzeugern S = (g 1,..., g k ) G k. Elemente des Kerns von ϕ S : Z k G, (m 1,..., m k ) k i=1 m
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme Wir befassen uns anschließend mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren einmal den begrifflichen Aspekt, d.h.
MehrEinstieg in die Informatik mit Java
1 / 31 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 31 1 Überlegungen zur Effizienz 2 Landau-Symbole 3 Eier im Korb 4 Zyklische
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)
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 45 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Distanzen zwischen allen Knotenpaaren (APD)! Viele Anwendungen:! Navis! Netzwerkrouting!...
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
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
MehrPerlen der Informatik I Wintersemester 2012 Aufgabenblatt 7
Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
Mehr(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
MehrMB2-ALG, SS15 Seite 1 Hauptklausur, geschrieben am
MB-ALG, SS1 Seite 1 Hauptklausur, geschrieben am.07.01 Vorname Nachname Matrikel-Nr Diese Klausur ist mein letzter Prüfungsversuch (bitte ankreuzen): Ja Nein Ihre Lösung für Aufgabe 1 können Sie direkt
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
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
MehrPraktisch modulo n rechnen
Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 1 Praktisch modulo n rechnen Addition und Multiplikation modulo n sind auch dann algorithmisch kein großes Problem, wenn mit großen Zahlen gerechnet
MehrSystems of Distinct Representatives
Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrKlausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014
Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe
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
MehrWintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.
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
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
MehrNur Matrizen gleicher Dimension können addiert oder subtrahiert werden. Zur Berechnung werden zwei Matrizen A und B in den Matrix-Editor eingegeben.
R. Brinkmann http://brinkmann-du.de Seite 1 14.02.2014 Casio fx-cg20 Operationen mit Matrizen Bei nachfolgend beschriebenen Matrizenoperationen wird davon ausgegangen, dass die Eingabe von Matrizen in
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 10 FS 16
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 11. Mai
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Mehr3. Die Datenstruktur Graph
3. Die Datenstruktur Graph 3.1 Einleitung: Das Königsberger Brückenproblem Das Königsberger Brückenproblem ist eine mathematische Fragestellung des frühen 18. Jahrhunderts, die anhand von sieben Brücken
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrMathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018
Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018 23. November 2017 1/40 Satz 4.27 (Multinomialsatz) Seien r, n N 0. Dann gilt für
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
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
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
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)
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 4: Wörter Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrAlgorithmen und Komplexität
Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
Mehr