Grundbegriffe der Informatik Tutorium 7 Tutorium Nr. 32 Philipp Oppermann | 18. Dezember 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Outline/Gliederung 1 Zum 6. Übungsblatt 2 Repräsentation von Graphen 3 Erreichbarkeit und Wegematrix 4 Warshall-Algorithmus Zum 6. Übungsblatt Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 32 Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 2/8 Zum 6. Übungsblatt kurze Gegenbeispiele! bitte aufs nächste Blatt schreiben, ob ihr den Übungsschein braucht Zum 6. Übungsblatt Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 32 Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 3/8 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 = 1, falls (i , j ) ∈ E 0, sonst Wegematrix n × n Matrix W mit: ( 1, falls (i , j ) ∈ E ∗ Wij = 0, sonst Zum 6. Übungsblatt ( = Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 32 1, falls ∃ Pfad von i nach j 0, sonst Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 4/8 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 Zum 6. Übungsblatt Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 32 Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 5/8 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. 32 Ei i =0 i =0 Zum 6. Übungsblatt k S Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 6/8 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 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) Zum 6. Übungsblatt Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 32 Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 7/8 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 Zum 6. Übungsblatt Repräsentation von Graphen Philipp Oppermann – GBI Tutorium Nr. 32 Erreichbarkeit und Wegematrix Warshall-Algorithmus 18. Dezember 2013 8/8