- Graphfärbung
-
Eine Färbung eines ungerichteten Graphen ordnet jedem Knoten bzw. jeder Kante im Graphen eine Farbe zu.
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 wenig 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.
Inhaltsverzeichnis
Knotenfärbungen
Ist G = (V,E) ein ungerichteter Graph ohne Mehrfachkanten und f eine Abbildung von V in die Menge der natürlichen Zahlen , so nennt man f eine Knotenfärbung von G. Man nennt f gültig oder zulässig, falls für je zwei beliebige benachbarte Knoten v1 und v2 gilt f(v1)≠f(v2) und sagt G ist k-knotenfärbbar, falls es eine gültige Knotenfärbung von G gibt, so dass für alle v aus V gilt: f(v)<k. Das kleinste k, für das G k-knotenfärbbar ist, nennt man die chromatische Zahl oder die Knotenfärbungszahl des Graphen G und wird meist mit χ(G) bezeichnet.
Eine zulässige Knotenfärbung eines Graphen ist eine Partition seiner Knotenmenge in unabhängige Mengen (eine Teilmenge der Knotenmenge V eines Graphen heißt unabhängig, falls sie keine zwei benachbarten Knoten enthält).
Kantenfärbungen
Ist G=(V,E) ein ungerichteter Graph ohne Mehrfachkanten und f eine Abbildung von E in die Menge der natürlichen Zahlen , so nennt man f eine Kantenfärbung von G. Man nennt f gültig oder zulässig, falls für je zwei beliebige benachbarte Kanten e1 und e2 gilt f(e1)≠f(e2) und sagt G ist k-kantenfärbbar, falls es eine gültige Kantenfärbung von G gibt, so dass für alle e aus E gilt: f(e)<k. Das kleinste k, für das G k-kantenfärbbar ist, nennt man den chromatischer Index oder die Kantenfärbungszahl des Graphen G und wird meist mit χ'(G) bezeichnet.
Die Kantenfärbung eines Graphen G lässt sich als Knotenfärbung des Kantengraphen L(G) betrachten. Daraus folgt dass χ'(G) = χ(L(G)).
Der Satz von Vizing besagt, dass der chromatische Index eines Graphen mindestens so groß wie sein Maximalgrad aber höchstens eins größer als dieser ist, also formal:
Obwohl der Maximalgrad leicht zu bestimmen ist und der chromatische Index nur einen von zwei möglichen Werten annehmen kann, ist das Problem, für einen gegebenen Graphen genau diesen einen Wert zu bestimmen, ebenfalls NP-schwer.
Der allgemeine Fall
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.
Der zur Zeit praktisch beste Algorithmus 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.
Spezialfälle
Der Vier-Farben-Satz besagt, dass die chromatische Zahl eines planaren Graphen höchstens 4 ist. Trotzdem ist auch für planare Graphen das Bestimmen der chromatischen Zahl NP-schwer.
Das Entscheidungsproblem, ob ein gegebener Graph bipartit ist, besitzt lineare Zeitkomplexität, und ist zum Beispiel mit Tiefensuche lösbar. (Bipartite Graphen sind genau die Graphen mit chromatischer Zahl höchstens 2.)
Für perfekte Graphen existieren Polynomialzeitalgorithmen zur Berechnung der chromatischen Zahl.
Weitere Sätze
Der Greedy-Algorithmus liefert als obere Schranke für die chromatische Zahl eines Graphen den Maximalgrad des Graphen plus 1. Beispiele, die zeigen, dass diese Abschätzung bestmöglich ist, sind Kreise ungerader Länge und vollständige Graphen. Der Satz von Brooks zeigt aber, dass dies auch die einzigen Beispiele sind. Für jeden zusammenhängenden Graphen, der keine Kreise ungerader Länge enthält oder nicht vollständig ist, ist seine chromatische Zahl stets kleiner oder gleich dem Maximalgrad des Graphen.
Anwendungen
Stundenplanprobleme lassen sich als Graphfä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.
In gleicher Weise können beispielsweise Register-Zuweisungs-Probleme in Prozessoren, Bandbreiten-Zuweisung-Probleme und auch viele Probleme aus der Mathematik als Graphenfärbungsprobleme formuliert werden.
Chromatisches Polynom
Siehe dazu: Chromatisches Polynom
Literatur
- Reinhard Diestel: Graphentheorie. Springer-Verlag, Heidelberg, Deutschland, 2000. ISBN3-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. Online: 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
Wikimedia Foundation.