Färben der Knoten von Graphen Speziell: 4-Farbenproblem
Gliederung Definition Knotenfärbung und 4-Farbensatz Historie des 4-Farbenproblems Ursprung Beweisfindung Lösungsstrategien Erschöpfende Suche Backtracking mögliche Implementierung Komplexität Anwendungsbeispiele Zusammenfassung Literaturhinweise
Definition ist G(V,E) ein ungerichteter Graph ohne Mehrfachkanten und eine Abbildung von V nach N, so nennt man eine Knotenfärbung von G Färbung ist gültig/zulässig, falls für 2 beliebige benach-barte Knoten gilt: (v1) (v2) G ist k-knotenfärbbar, falls es eine gültige Färbung gibt, so dass: v V : (v) < k für das kleinste k für das G k-knotenfärbbar ist, ist k die chromatische zahl א(G) 4-Farben-Satz: für einen planaren Graphen G ist die chromatische Zahl א(G) = 4
Historie Ursprung 1852 aufgestellte Vermutung durch Francis Guthrie beim Färben der Karte der Ländereien von England: 4 Farben genügen um die Länder einer Karte so zu färben, dass alle benachbarten Länder unterschiedliche Farben tragen Veröffentlichung des Problems durch Brief des Mathematik-Professors De Morgan an Hamilton
Historie Beweisfindung Beweise durch Kempe (1878) und Tait (1880) wurden 1890 bzw. 1891 widerlegt 1890 Formulierung des 5-Farben-Satzes durch Heawood → Existenz einer oberen Schranke bewiesen 60-er und 70-er Jahren Verfahren von Heesch zum Suchen eines Beweises per Computer - führte 1977 zum Beweis durch Ken Appel und Wolfgang Haken Beweis reduziert die problematischen Fälle von unendlich auf 1.936, später weniger, welche vom Computer geprüft wurden 2004 - Entwicklung eines formalen Beweises mittels Beweis-Assistenten COQ durch Werner und Gonthier
Lösungsstrategien Erschöpfende Suche Knoten werden nacheinander nummeriert Zählmethode Tachostand: Anzahl der Stellen = Anzahl der Knoten im Graph Wert = Farbe(0,1,2,3) des Knoten jeder Färbungszustand wird unmittelbar auf Gültigkeit geprüft
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche 1 2 3 4 5 6 7 8
Erschöpfende Suche im ungünstigsten Fall müssen fast alle Kombinationen durchprobiert werden Algorithmus zählt weiter obwohl klar ist, dass einige Kombinationen übersprungen werden können Nachteil: sehr hoher Zeitaufwand
Backtracking Knoten werden nummeriert ein Land färben und dann versuchen das nächste zu färben, so dass folgende Bedingungen erfüllt sind: die benachbarten bereits gefärbten Länder haben unterschiedliche Farben keines der benachbarten noch ungefärbten Länder wird unfärbbar Bedingungen können erfüllt sein, aber dennoch zu keiner Lösung führen (Sackgasse) Rückverfolgung des Pfades und setzen der nächst-möglichen Farbe – rekursiver Aufruf
Backtracking
Backtracking
Backtracking
Backtracking
Backtracking
Backtracking
Backtracking
Backtracking Vorteil: wesentlich effizienter als erschöpfende Suche Nachteil: abhängig von der Nummerierung, d.h. bei ungünstiger Nummerierung ist der Aufwand ebenfalls enorm hoch
Implementierung Länder sind Knoten in einem Graphen Knoten werden mit Kante verbunden, falls korrespondierende Länder benachbart sind Knoten sind Container, die neben den Referenzen der Nachbarknoten ein Array der Länge 4 enthält: Wert 1 an der Stelle i, signalisiert die Färbung des Knotens in der Farbe i Wert -1 signalisiert, dass die Knoten mit i gefärbt werden kann 0 signalisiert, dass der Knoten nicht mit i gefärbt werden kann Realisierung der Pfadrückverfolgung durch Rekursion
Komplexität Fällt in Klasse NP-schwer Exponentieller Aufwand: Anzahl der Kombinationen steigt exponentiell Anzahl der möglichen Sackgassen steigt ebenfalls exponentiell, allerdings abhängig von der Nummerierung, daher ist Backtracking oftmals deutlich schneller Gibt wahrscheinlich keinen effizienten Algorithmus
Anwendungen Stundenplanproblem Registerzuweisungs-Probleme Veranstaltungen = Knoten Veranst. die nicht gleichzeitig ablaufen können sind verbunden Anzahl der Farben = Anzahl der verschiedenen Zeitfenster Registerzuweisungs-Probleme Bandbreitenzuweisungs-Probleme Suche nach Wegen durch ein Labyrinth
Zusammenfassung 4-Farben-Satz konnte lange Zeit nicht korrekt bewiesen werden erstes Problem das mittels Computer bewiesen wurde es gibt keinen zuverlässig effizienten Lösungs-Algorithmus viele mathematische Probleme lassen sich als Knotenfärbe-Problem formulieren Algorithmen lassen sich sehr einfach implementieren
Literaturhinweise Reinhard Diestel: Graphentheorie. Springer-Verlag, Heidelberg, Deutschland, 2000. ISBN-3-540-67656-2 http://www.math.uni-hamburg.de/home/diestel/books/graphentheorie/ Anuj Mehrotra, Michael A. Trick: A column generation approach for graph coloring. INFORMS Journal on Computing Vol. 8, No. 4 (1996), Seiten 344-354 http://mat.gsia.cmu.edu/trick/color.ps Alessandro Tomazic: Graphenfärbung mit Hilfe linearer Programmierung, Diplomarbeit, Universität Augsburg, Deutschland, 2005 http://de.geocities.com/omarsharif_2000/Diplomarbeit.pdf