Eine Färbung eines ungerichteten Graphen ordnet jedem Knoten bzw. jeder Kante im Graphen eine Farbe zu. Eine Verallgemeinerung ist der Begriff der Listenfärbung, d. i. die Zuordnung von „Listen“ verfügbarer Farben, wobei der Graph nun eine gültige Färbung aus diesen Listen erhalten soll. Des Weiteren gibt es die Totalfärbung, die sowohl Kantenfärbung als auch Knotenfärbung umfasst.
In der Graphentheorie beschäftigt man sich meist nur mit sogenannten „zulässigen“ oder „gültigen“ Färbungen (siehe unten), und versucht, Algorithmen zu entwickeln, die für einen vorgegebenen Graphen eine gültige Färbung mit möglichst wenigen Farben finden. Probleme aus der diskreten Mathematik, aber auch außermathematische Fragestellungen lassen sich manchmal in ein Färbungsproblem übersetzen, daher ist die Existenz oder Nichtexistenz solcher Algorithmen auch außerhalb der Graphentheorie von Interesse.
Knotenfärbungen
Ist ein ungerichteter Graph ohne Mehrfachkanten und eine Abbildung der Knotenmenge in die Menge der natürlichen Zahlen, so nennt man eine Knotenfärbung von . Die Elemente aus werden Farben genannt. Teils werden auch Abbildungen in beliebige abzählbare Mengen und nicht in die natürlichen Zahlen betrachtet. Dies ist aber nicht wichtig, notwendig ist bloß die Unterscheidbarkeit der Farben. Man nennt gültig oder zulässig, wenn zwei mit einer Linie verbundene (benachbarte) Knoten, nicht die gleiche Farbe besitzen:
wobei die Menge der Nachbarn von bezeichnet.
In diesem Fall heißt k-knotenfärbbar, falls es eine gültige Knotenfärbung von gibt, so dass nur Farben verwendet werden, also .
Eine zulässige Knotenfärbung eines Graphen ist eine Partition seiner Knotenmenge in unabhängige Mengen. Eine Teilmenge der Knotenmenge eines Graphen heißt unabhängig, falls sie keine zwei benachbarten Knoten enthält.
Bei einer vollständigen Knotenfärbung existiert für jedes Paar von Farben eine Kante , sodass mit und mit gefärbt ist. Das heißt, für jedes Farbenpaar existieren benachbarte Knoten, die mit diesen Farben gefärbt sind.
Anzahl der Färbungen
Wenn ein Graph färbbar ist, gibt es eine kleinste Zahl , sodass der Graph -knotenfärbbar ist. Diese Zahl wird chromatische Zahl oder Knotenfärbungszahl des Graphen genannt und meist mit bezeichnet. Existiert für noch so viele Farben keine Färbung setzt man symbolisch .
Das chromatische Polynom eines Graphen gibt für jede Zahl die Anzahl der zulässigen -Färbungen an.
Bandbreite
Ist ein einfacher Graph mit Knoten und eine eineindeutige Färbung der Knoten, dann bezeichnet
die Bandbreite (englisch bandwidth) des Graphen bezüglich und
die Bandbreite des Graphen. Die Ermittlung der Bandbreite ist eines der wenigen graphentheoretischen Probleme, das auch für Bäume NP-vollständig ist.
Eigenschaften der chromatischen Zahl
Das Zuweisen unterschiedlicher Farben zu unterschiedlichen Knoten ergibt immer eine korrekte Färbung, also gilt
Die einzigen Graphen, die 1-färbbar sind, sind kantenlose Graphen. Ein vollständiger Graph mit Knoten erfordert Farben. Bei einer optimalen Färbung muss zwischen jedem Paar von Farbklassen mindestens eine der Kanten des Graphen vorhanden sein, also gilt
Wenn eine Clique der Größe enthält, werden mindestens Farben benötigt, um diese Clique zu färben, das heißt, die chromatische Zahl ist mindestens so groß wie die Cliquenzahl:
Jeder -partite Graph ist -knotenfärbbar, die Partitionsklassen entsprechen hier genau den Farben. Insbesondere sind alle bipartiten Graphen 2-färbbar. Jeder 2-färbbare Graph ist jedoch auch bipartit. Da man einen Graph in Polynomialzeit auf Bipartitheit testen kann, ist demnach auch das 2-Färbbarkeitsproblem in Polynomialzeit lösbar.
Nach dem Vier-Farben-Satz ist jeder planare Graph 4-färbbar.
Eine gierige Färbung zeigt, dass jeder Graph mit einer Farbe mehr als dem maximalen Knotengrad gefärbt werden kann:
Vollständige Graphen haben und , und ungerade Zyklen haben und , daher ist diese Grenze für diese Graphen die bestmögliche. In allen anderen Fällen kann die Grenze leicht verbessert werden. Der Satz von Brooks zeigt, dass dies auch die einzigen Beispiele sind: Für jeden zusammenhängenden Graphen, der weder vollständig noch ein Zyklus ungerader Länge ist, ist seine chromatische Zahl stets kleiner oder gleich dem Maximalgrad des Graphen.
Grenzen für die chromatische Zahl
Hoffmans Grenze
Sei eine reelle symmetrische Matrix, so dass ist, wenn keine Kante von ist. Definiert man , wobei und die größten und kleinsten Eigenwerte von sind. Definiert man , dann gilt:
Vektorchromatische Zahl
Sei eine positive semidefinitive Matrix, so dass , wenn eine Kante von ist. Definiert man als das kleinste , für das eine solche Matrix existiert. Dann gilt:
Lovász-Zahl
Die Lovász-Zahl eines komplementären Graphen ist auch eine Untergrenze für die chromatische Zahl:
Gebrochene chromatische Zahl
Die gebrochene chromatische Zahl eines Graphen ist auch eine Untergrenze für die chromatische Zahl:
Diese Grenzen sind wie folgt geordnet:
Topologische untere Schranken
Es gibt diverse topologische untere Schranken an die chromatische Zahl. Die wahrscheinlich bekannteste stammt von Lovász.
Grenzen für den chromatischen Index
Eine Kantenfärbung von ist eine Knotenfärbung seines Kantengraphen und umgekehrt, also gilt:
Es besteht eine starke Beziehung zwischen der Kantenfärbbarkeit und dem maximalen des Graphen. Da alle Kanten, die mit demselben Knoten verbunden sind, ihre eigene Farbe benötigen, gilt:
Außerdem gelten folgende Sätze:
Satz von König: , wenn bipartit ist.
Satz von Vizing: Ein Graph mit maximalem Grad hat die kantenchromatische Zahl oder .
Knotenfärbungen planarer Graphen
Eines der klassischen Probleme der Graphentheorie ist die Frage, wie viele Farben man minimal braucht, um eine Landkarte so zu färben, dass je zwei aneinandergrenzende Länder nicht dieselbe Farbe haben. Dieses Problem lässt sich leicht in ein Knotenfärbungsproblem überführen (siehe Abbildung). Die graphentheoretisch äquivalente Frage lautet also: Was ist die chromatische Zahl eines planaren Graphen? Der Vier-Farben-Satz besagt, dass die chromatische Zahl eines planaren Graphen höchstens 4 ist. Enthält der Graph kein Dreieck, so ist er sogar 3-Knoten-färbbar. Trotzdem ist auch für planare Graphen das Bestimmen der chromatischen Zahl NP-schwer.
Algorithmen
Die Bestimmung der chromatischen Zahl eines Graphen ist NP-schwer, das heißt, dass es – aus Sicht der Komplexitätstheorie – vermutlich keinen Algorithmus gibt, der dieses Problem effizient löst. Die Bestimmung der chromatischen Zahl ist auch eines der Probleme von Karps 21 NP-vollständigen Problemen und damit eines der ersten Probleme, für die die NP-Vollständigkeit gezeigt wurde. Ausnahmen sind bipartite Graphen und perfekte Graphen. Das Entscheidungsproblem, ob ein gegebener Graph bipartit ist, besitzt lineare Zeitkomplexität, und ist zum Beispiel mit Tiefensuche lösbar. Bei perfekten Graphen existieren Polynomialzeitalgorithmen zur Berechnung der chromatischen Zahl.
Das Knotenfärbungsproblem ist NP-vollständig.
Der zurzeit praktisch beste Algorithmus zur Bestimmung einer Knotenfärbung beruht auf einem Spalten-Generierungs-Ansatz (siehe Literatur). Weiterhin gibt es viele Färbungsheuristiken, die nach bestimmten Methoden gute Färbungen suchen und somit im Erfolgsfall eine obere Schranke für die chromatische Zahl liefern.
Anwendungen
Stundenplanprobleme lassen sich als Graphenfärbungsprobleme formulieren: Die Knoten des Graphen sind dabei die zu platzierenden Veranstaltungen, und eine Kante wird zwischen zwei Veranstaltungen eingefügt, die nicht gleichzeitig stattfinden können. In der Schule wären das z. B. Stunden, die von demselben Lehrer unterrichtet werden sowie Stunden in derselben Klasse. Die möglichen Farben entsprechen den zuteilbaren Zeitfenstern.
Der Rot-Schwarz-Baum wird durch Knotenfärbung balanciert.
In gleicher Weise können beispielsweise Register-Zuweisungsprobleme in Prozessoren, Bandbreiten-Zuweisungsprobleme und auch viele Probleme aus der Mathematik als Graphenfärbungsprobleme formuliert werden.
Literatur
- Reinhard Diestel: Graphentheorie. Springer-Verlag, Heidelberg, 2000. ISBN 3-540-67656-2.
- Anuj Mehrotra, Michael A. Trick: A column generation approach for graph coloring. In: INFORMS Journal on Computing. 8. Jahrgang, Nr. 4, 1996, S. 344–354, doi:10.1287/ijoc.8.4.344 (cmu.edu).
Weblinks
- Andy Theiler: PHP-Implementierung des Kantenfärbungs Algorithmus (Spielplan generieren)
Einzelnachweise
- ↑ Martin Hebenstreit: Einleitung, Abbildung 1.2: Modellierung durch zwei Graphen. (PDF) Färbung von Graphen Grundlagen, Algorithmen und Anwendungen. Universität Salzburg, 11. Juli 2018, S. 2, abgerufen am 20. Januar 2023.
- ↑ Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2006). Introduction to Automata Theory, Languages, and Computation (3rd ed.). Addison-Wesley. ISBN 8178083477, Seite 474.