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 E 2 Matrixmultiplikation Matrixaddition Erreichbarkeitsrelation Marcus Georgi Grundbegriffe der Informatik 2 / 29
Adjazenzlisten Definition Die Adjazenzliste ist eine Liste über alle Knoten, in der jedes Element eine Liste der adjazenten Knoten enthält. 4 3 2 (1): (2) (2): (3) (4) (3): (4) (4): 1 Marcus Georgi Grundbegriffe der Informatik 4 / 29 Eigenschaften Vorteile schneller Zugriff auf benachbarte Knoten Nachteile Kantenprüfungen benötigen das Durchlaufen der Listen Marcus Georgi Grundbegriffe der Informatik 5 / 29
Definition Definition Die Adjazenzmatrix ist eine V V -Matrix, welche angibt, ob zwischen zwei Knoten eine Kante existiert. Dabei enthält die Matrix eine 1 in Zeile i und Spalte j, falls i und j adjazent sind. 4 2 3 1 2 3 4 1 0 1 0 0 2 0 0 1 1 3 0 0 0 1 4 0 0 0 0 1 Marcus Georgi Grundbegriffe der Informatik 6 / 29 Eigenschaften Vorteile Schneller Überblick über die Verbindung von Knoten Nachteile Aufwendig, alle Nachbarn eines Knoten herauszufinden Marcus Georgi Grundbegriffe der Informatik 7 / 29
4 2 1 3 (1): (2) (2): (3) (4) (3): (4) (4): 1 2 3 4 1 0 1 0 0 2 0 0 1 1 3 0 0 0 1 4 0 0 0 0 Marcus Georgi Grundbegriffe der Informatik 8 / 29 Aufgaben Woran erkennt man, ob ein Graph Schleifen hat? Einsen auf der Diagonale Welche Eigenschaft hat die Adjazentmatrix von ungerichteten Graphen? Symmetrie zur Hauptdiagonalen Welcher Graph wird durch folgende Matrix repräsentiert? 1 2 3 1 1 1 1 2 1 1 1 3 1 1 1 1 3 2 Marcus Georgi Grundbegriffe der Informatik 9 / 29
4 5 2 3 1 1 2 3 4 5 1 0 1 0 0 0 2 0 0 1 1 0 3 0 0 0 1 1 4 0 0 0 0 1 5 0 0 0 1 0 1 2 3 4 1 1 0 1 0 2 0 0 0 1 3 0 1 0 1 4 0 1 1 0 1 4 2 3 Marcus Georgi Grundbegriffe der Informatik 10 / 29 Definition Definition Eine Wegematrix gibt an, ob ein Knoten u von einem Knoten v aus erreichbar ist. Dabei enthält sie in Zeile i und Spalte j eine 1, wenn ein Pfad von i nach j existiert. Marcus Georgi Grundbegriffe der Informatik 11 / 29
Beispiel 1 2 3 4 1 2 3 4 1 1 1 1 1 2 0 1 0 0 3 0 1 1 1 4 0 1 1 1 Marcus Georgi Grundbegriffe der Informatik 12 / 29 Fragen Wie sieht die Wegematrix für A=alles Einsen aus? W = A Wann gilt allgemein W = A? Wenn die Kantenrelation reflexiv und transitiv ist. Marcus Georgi Grundbegriffe der Informatik 13 / 29
Motivation 0 1 2 3 Wie bestimmt man E 2? 0 1 2 3 0 0 1 0 0 1 0 0 1 0 2 0 0 1 1 3 0 0 0 0 Marcus Georgi Grundbegriffe der Informatik 15 / 29 Zeilen und Spalten durchgehen 0 1 2 3 0 0 1 0 0 1 0 0 1 0 2 0 0 1 1 3 0 0 0 0 0 1 2 3 0 0 1 0 0 1 0 0 1 0 2 0 0 1 1 3 0 0 0 0 Marcus Georgi Grundbegriffe der Informatik 16 / 29
Matrix von E 2 0 1 2 3 0 0 0 1 0 1 0 0 1 1 2 0 0 1 1 3 0 0 0 0 Marcus Georgi Grundbegriffe der Informatik 17 / 29 Matrixmultiplikation Vereinfachung Das eben gezeigte Verfahren lässt sich durch Matrixmultiplikation formalisieren. Seien A K m p, B K p n, dann gibt es ein C K m n mit: (C) ij = p (A) ik (B) kj k=1 Marcus Georgi Grundbegriffe der Informatik 18 / 29
Beispiel Seien A und B (beide K n n ) wie folgt gegeben: { { 1 i j (A) ij = 0 sonst, (B) 1 i < j ij = 0 sonst Berechne A B und B A! Marcus Georgi Grundbegriffe der Informatik 19 / 29 Ergebnis A B = B A = 0 1 1 1 0 1 2 2 0 1 2 3 0 1 2 3.............. 3 3 2 1 2 2 2 1 1 1 1 1 0 0 0 0 Marcus Georgi Grundbegriffe der Informatik 20 / 29
Die Einheitsmatrix Zu jedem n N gibt es eine Einheitsmatrix I K n n folgender Art: 1 0 0 { 1 i = j 0 1 I ij = 0 sonst, I =..... 1 0 0 0 1 Marcus Georgi Grundbegriffe der Informatik 21 / 29 Die Einheitsmatrix Für jede Matrix A K m n : I A = A = A I Beachte: Das I auf der linken Seite ist K m m, das auf der rechten Seite ist K n n! Marcus Georgi Grundbegriffe der Informatik 22 / 29
Definition Seien A, B K m n Matrixaddition (A + B) ij = A ij + B ij Marcus Georgi Grundbegriffe der Informatik 23 / 29 Aufgabe 1 2 4 3 2 5 8 3 1 0 0 7 2 4 4 3 + 1 6 6 11 4 9 14 11 10 0 4 9 8 6 6 6 0 4 2 8 2 4 6 8 9 0 4 2 6 2 2 3 = Marcus Georgi Grundbegriffe der Informatik 24 / 29
Potenzen von Matrizen Sei A K n n. Dann sei A k wie folgt definiert: A 0 = I i N 0 : A i+1 = A A i Marcus Georgi Grundbegriffe der Informatik 25 / 29 Frage Sei A eine Adjazenzmatrix. Was drückt A 2 aus? Anzahl der Pfade der Länge 2 von i nach j. Marcus Georgi Grundbegriffe der Informatik 26 / 29
E Die Wegematrix zu einer Adjazenzmatrix A, also die Matrix-Repräsentation von E kann (unter anderem) berechnet werden durch: W = n 1 A i i=0 Die Berechnung dieses Ausdrucks kann auf verschiedene Arten optimiert werden. Eine sehr gute gibt es das nächste mal: Algorithmus von Warshall Marcus Georgi Grundbegriffe der Informatik 27 / 29 Inhalt des Tutoriums Was ist der Unterschied zwischen Adjazenzlisten und Adjazenzmatrizen? Was ist eine Wegematrix? Wie finde ich E 2 zu einer Kantenrelation E? Und was ist das? Wie multipliziere ich Matrizen? Wie addiere ich Matrizen? Wie potenziere ich Matrizen? Wie berechne ich mit der Adjazenzmatrix die Wegematrix? Marcus Georgi Grundbegriffe der Informatik 28 / 29
Danke für die Aufmerksamkeit Marcus Georgi Grundbegriffe der Informatik 29 / 29