Grundbegriffe der Informatik Tutorium 9 Tutorium Nr. 16 Philipp Oppermann | 7. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 Iso- und Automorphismen 2 Repräsentation von Graphen 3 Erreichbarkeit und Wegematrix 4 Warshall-Algorithmus Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 2/16 Isomorphismen Isomorphie „Wenn man durch Umbennenung der Knoten aus G1 G2 machen kann, dann sind G1 und G2 isomorph.“ Automorphismus Isomorphismus von G nach G also einfach Knoten umbenennen, aber nur Knotenbezeichnungen aus V ? NEIN! deswegen formale Definitionen! Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 3/16 Isomorphismen Isomorphie Ein Graph G1 = (V1 , E1 ) heißt isomorph zu einem Graphen G2 = (V2 , E2 ), wenn es eine bijektive Abbildung f : V1 → V2 gibt mit der Eigenschaft: ∀x ∈ V1 : ∀y ∈ V1 : (x , y ) ∈ E1 ⇐⇒ (f (x ), f (y )) ∈ E2 Die Abbildung f heißt dann auch ein (Graph-)Isomorphismus. Automorphismus Isomorphismus von G nach G: Aut (G) = {f : V → V bijektiv | ∀x ∈ V : ∀y ∈ V : (x , y ) ∈ E ⇐⇒ (f (x ), f (y )) ∈ E } Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 4/16 Repräsentation von Graphen Sei G = (V , E ) ein Graph, n = |V | Adjazenzliste Für jeden Knoten wird eine Liste der adjazenten Knoten gespeichert. Adjazenzmatrix ( n × n Matrix A mit Aij = Iso- und Automorphismen 1, falls (i , j ) ∈ E 0, sonst Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 5/16 Repräsentation von Graphen Vorteile von Adjazenzlisten schneller Zugriff auf adjazente Knoten weniger Speicherplatz bei wenigen Kanten Vorteile von Adjazenzmatrizen schnell: „gibt es eine Kante zwischen Knoten i und j?“ weniger Speicherplatz als Adjazenzlisten bei vielen Kanten Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 6/16 Rechnen mit Adjazenzmatrizen A2 gibt für jedes A2ij an, wie viele Pfade der Länge 2 von i nach j existieren A0 = I (Einheitsmatrix) =⇒ zu jedem Knoten v existiert genau ein Pfad der Länge 0 von v nach v An gibt für jedes Anij an, wie viele Pfade der Länge n von i nach j existieren Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 7/16 Klausuraufgabe (SS12 Aufg.6) Zeichnen Sie alle gerichteten Graphen G = (Z4 , E ) für deren Adjazenzmatrix A gilt: 1 0 A2 = 0 0 Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 0 0 0 0 0 0 0 0 0 0 0 1 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 8/16 Erreichbarkeit und Wegematrix Wegematrix n × n Matrix W mit: ( 1, falls (i , j ) ∈ E ∗ Wij = 0, sonst ( = 1, falls ∃ Pfad von i nach j 0, sonst Wie sieht die Wegematrix W aus, wenn A nur aus Einsen besteht? W = A. Wann ist allgemein W = A? Wenn E ∗ = E, also wenn E reflexiv und transitiv. Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 9/16 Erreichbarkeit und Wegematrix Können die folgenden Matrizen Wegematrizen sein? 1 0 W1 = 0 1 Iso- und Automorphismen 0 1 0 1 0 1 0 1 1 1 , 0 1 Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 1 0 W2 = 1 1 0 1 0 1 0 0 1 0 Erreichbarkeit und Wegematrix 0 0 0 1 Warshall-Algorithmus 7. Januar 2015 10/16 Lösung W1 : Nein, da Knoten 3 nicht von sich selbst erreichbar wäre W2 : Ja Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 11/16 Erreichbarkeit und Wegematrix Sei G = (V , E ) ein Graph, n = |V | Wie lang ist ein Pfad in G maximal? =⇒ unendlich (mit Zyklen) Gibt es einen wiederholungsfreien Pfad der Länge n in G, der kein Zykel ist? =⇒ nein Wir wissen: E ∗ = ∞ S E i . Muss es wirklich bis ∞ sein? i =0 =⇒ nein, bis n-1 reicht (da jeder Pfad mit Länge ≥ n Wiederholungen enthält oder ein Zykel ist, der durch E 0 abgedeckt ist) gilt auch E ∗ = 3n S Ei? =⇒ ja, ∀k ≥ n − 1 : E∗ = Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Ei i =0 i =0 Iso- und Automorphismen k S Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 12/16 Erreichbarkeit und Wegematrix Signum 1, sgn : R → R : sgn(x ) = 0, −1, falls x > 0 falls x = 0 falls x < 0 Berechnung der Wegematrix W = sgn k X ! k A ∀k ≥ n − 1 i =0 „alle Pfade der Länge 0 + alle der Länge 1 + alle der Länge 2 + . . . + alle der Länge k. Und anschließend alle Einträge ≥ 1 auf 1 setzen.“ ungefähr n5 Operationen (nicht sehr effektiv) Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 13/16 Warshall-Algorithmus for i ← 0 to n − 1 do for j ← 0( to n − 1 do 1 falls i = j Wij ← Aij falls i 6= j end for end for for k ← 0 to n − 1 do for i ← 0 to n − 1 do for j ← 0 to n − 1 do Wij ← max (Wij , min(Wik , Wkj )) end for end for end for n2 + 2n3 Operationen Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 14/16 Aufgabe Gegeben sei folgender Graph G = (Z3 , E ): 0 1 2 3 a) Geben Sie die Adjazenzmatrix A zu G an. b) Wenden Sie den Warshall-Algorithmus an, um die Wegematrix zu bestimmen. Geben Sie dabei die Matrix W an, die sich nach Abschluss der Initialisierung ergeben hat, sowie die Matrizen W0 , W1 , W2 die sich jeweils nach dem ersten, zweiten, dritten und vierten Durchlauf der äußeren Schleife beim zweiten Teil des Algorithmus ergeben. Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 15/16 Lösung 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 , W0 = 1 0 0 1 1 1 1 1 0 1 1 0 0 0 , 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 , W2 = 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 a) A = 1 0 1 1 b) W = 1 0 1 1 W1 = 1 1 Iso- und Automorphismen Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 16 Erreichbarkeit und Wegematrix Warshall-Algorithmus 7. Januar 2015 16/16