Was bisher geschah I gerichtete / ungerichtete Graphen G = (V , E ) I Multigraphen I Darstellungen von Graphen I Spezielle Graphen: In , Kn , Pn , Cn , Km,n , K1,n , Kn1 ,...,nm I Beziehungen zwischen Graphen: Isomorphie, Teilgraph, induzierter Teilgraph, aufspannender Teilgraph I Operationen auf Graphen: ∪, ∩, ∗, I Nachbarschaften und Eckengrade in Graphen, n-reguläre Graphen I Zusammenhangs-Relation E ∗ auf G = (V , E ) (Erreichbarkeit) Zusammenhangskomponenten: Äquivalenzklassen bzgl. E ∗ I Pfade, Kreise, Wege in Graphen I Eulerwege, Eulerkreise (geschlossene Euler-Wege) I Hamiltonpfade, Hamiltonkreise 187 Gefärbte (markierte) Graphen Graph G = (V , E ) Menge CV von Eckenmarkierungen, Menge CE von Kantenmarkierungen Eckenfärbung von G : Zuordnung f : V → CV Kantenfärbung von G : Zuordnung f : E → CE zur Modellierung z.B.: I Linennetzplan mit CE = Fahrzeiten zwischen Stationen I Straßennetz mit CE = Entfernung (Kosten) (TSP: Hamilton-Kreis mit geringsten Kosten gesucht) I Straßennetz mit CE = Höchstgeschwindigkeit I Spielplan mit CV = Ereignisfeld-Beschreibung I Spielplan mit CE = Straßen-Bebauungszustand I Ablauf-Graphen mit CE = Options-Auswahl (z.B. Spielzug) I Formelbaum mit CV = Junktoren und Aussagevariablen I Multigraphen mit CE = \ {0} N 188 Eckenfärbung Graph G = (V , E ), Farben {1, . . . , n} f : V → {1, . . . , k} heißt (konfliktfreie) k-Färbung für G gdw. ∀u ∈ V ∀v ∈ V ((uv ∈ E ) → ¬(f (u) = f (v ))) (für keine Kante {u, v } ∈ E gilt f (u) = f (v )) Jede Eckenfärbung f : V → {1, . . . , n} definiert eine Zerlegung der Eckenmenge V {f −1 (i) | i ∈ {1, . . . , n}} G = (V , E ) heißt k-färbbar gdw. k-Färbung für G existiert. Beispiele: I C5 ist 5- ,4- und 3-färbbar, aber nicht 2-färbbar I K3,3 ist 2-färbbar, I I2 ∗ I2 ∗ I1 ist 3-färbbar, aber nicht 2-färbbar Anwendungen z.B. bei I Register-Zuteilung (Übersetzerbau) I kombinatorische Aufgaben, z.B. Sudoku 189 Modellierungsbeispiel Sudoku Aufgabe informal: I 9 × 9 Felder I einzutragen sind die Ziffern 1 bis 9 in alle leeren Felder I Startkonfiguration: einige Felder schon mit Ziffern belegt Bedingungen: keine Zahl mehrfach in I I I I I einer Zeile einer Spalte einem der neun 3 × 3-Blöcke Aufgabe: korrektes Eintragen von Ziffern in jedes freie Feld Idee: Repräsentation korrekter Lösungen als gefärbte Graphen mit Felder als Ecken des Graphen Zahlen {1, . . . , 9} als Farben für Knoten Bedingungen (Konflikte) als Kanten des Graphen Aufgabe: Finden einer konfliktfreien Färbung des Graphen 190 Modellierungsbeispiel Sudoku formal (Verallgemeinerung auf n2 × n2 -Feld): Graph G = (V , E ) mit V = {1, . . . , n2 }2 (n2 × n2 Felder) CV = {1, . . . , n2 } (n2 Zahlen als Farben) E = ((s, z), (s 0 , z 0 )) ∈ V 2 | (s = s 0 ) ∨ (z = z 0) 0 0 ∨ d ns e = d sn e ∧ d nz e = d zn e Beispiel für n = 2 (also 4 × 4-Feld und 4 Farben): 3 2 4 1 191 Chromatische Zahl chromatische Zahl des Graphen G : χ(G ) = min{k | G ist k-färbbar } Beispiele: I χ(C5 ) = 3 I für alle n ∈ I für alle n > 1 gilt χ(Pn ) = 2 I für alle n > 2 gilt N gilt χ(Kn ) = n I für alle n ∈ N gilt χ(In ) = 1 χ(Cn ) = I 2 falls n ≡ 0 3 falls n ≡ 1 mod 2 mod 2 für min(m, n) ≥ 1 gilt χ(Km,n ) = 2 192 Baum-Strukturen I Hierarchien I Komponenten-Strukturen I Familien-Stammbäume I Enscheidungsbäume I Formeln, arithmetische Ausdrücke sind spezielle Graphen I zusammenhängend I enthalten keine Kreise 193 Ungerichtete Bäume G = (V , E ) heißt Baum, wenn I G zusammenhängend ist und I kein Teilgraph von G ein echter Kreis ist. G = (V , E ) heißt Wald, wenn kein Teilgraph von G ein echter Kreis ist. v ∈ V mit grad(v ) ≤ 1 heißt Blatt Jeder Baum mit mindestens 2 Ecken hat mindestens 2 Blätter. In jedem Baum G = (V , E ) gilt |V | = |E | + 1 194 Charakterisierung der Bäume Für jeden Graphen G = (V , E ) sind folgenden Aussagen äquivalent: 1. G ist ein Baum. 2. Zwischen je zwei Ecken u, v ∈ V existiert genau ein Pfad in G . 3. G ist minimal zusammenhängend. (G ist zusammenhängend und für jede Kante uv ∈ E ist (V , E \ {uv }) nicht zusammenhängend) 4. G ist maximal kreisfrei. (G enthält keinen echten Kreis und für jede Kante uv ∈ V2 \ E enthält (V , E ∪ {uv }) einen echten Kreis) 195 Gerichtete Bäume Gerichteter Baum: gerichteter Graph G = (V , E ) mit 1. G enthält keinen Kreis als Teilgraphen 2. Es existiert genau ein v ∈ V mit gradi,G (v ) = 0 3. ∀u ∈ V u 6= v → gradi,G (u) = 1 (Wurzel) Modellierung durch gerichtete Bäume, z.B. I Hierarchien, Klassifikationen I Verzeichnis-Strukturen I Abstammung I Entscheidungsbäume I Wege in Graphen I Ableitungsbäume für Sprachen 196