# Färbung (Graphentheorie)

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 $G=(V,E)$ ein ungerichteter Graph ohne Mehrfachkanten und $f\colon V\rightarrow C\subseteq \mathbb {N} _{0}$ eine Abbildung der Knotenmenge in die Menge der natürlichen Zahlen, so nennt man $f$ eine Knotenfärbung von $G$. Die Elemente aus $C$ 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 $f$ gültig oder zulässig, wenn zwei mit einer Linie verbundene (benachbarte) Knoten, nicht die gleiche Farbe besitzen:
    $\forall v\in V:\forall w\in \Gamma (v):f(v)\neq f(w)\,,$
wobei $\Gamma (v)$ die Menge der Nachbarn von $v$ bezeichnet.
In diesem Fall heißt $G$ k-knotenfärbbar, falls es eine gültige Knotenfärbung von $G$ gibt, so dass nur $k$ Farben verwendet werden, also $\left|C\right|=k$.
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.
Bei einer vollständigen Knotenfärbung existiert für jedes Paar $\{i,j\}$ von Farben eine Kante $\{x,y\}\in E(G)$, sodass $x$ mit $i$ und $y$ mit $j$ 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 $k$, sodass der Graph $k$-knotenfärbbar ist. Diese Zahl wird chromatische Zahl oder Knotenfärbungszahl des Graphen genannt und meist mit $\chi$$(G)$ bezeichnet. Existiert für noch so viele Farben keine Färbung setzt man symbolisch $\chi (G)=\infty$.
Das chromatische Polynom eines Graphen gibt für jede Zahl $k$ die Anzahl der zulässigen $k$-Färbungen an.

### Bandbreite

Ist $(V,E)$ ein einfacher Graph mit $n$ Knoten und $f\colon V\to \{1,\ldots ,n\}$ eine eineindeutige Färbung der Knoten, dann bezeichnet
    $\max _{\{x,y\}\in E}|f(x)-f(y)|$
die Bandbreite (englisch bandwidth) des Graphen bezüglich $f$ und
    $\min _{f}\max _{\{x,y\}\in E}|f(x)-f(y)|$
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
    $1\leq \chi (G)\leq n$
Die einzigen Graphen, die 1-färbbar sind, sind kantenlose Graphen. Ein vollständiger Graph $K_{n}$ mit $n$ Knoten erfordert $\chi (K_{n})=n$ Farben. Bei einer optimalen Färbung muss zwischen jedem Paar von Farbklassen mindestens eine der $m$ Kanten des Graphen vorhanden sein, also gilt
    $\chi (G)(\chi (G)-1)\leq 2m$
    $\chi (G)\leq {\frac {1}{2}}+{\sqrt {2m+{\frac {1}{4}}}}$
Wenn $G$ eine Clique der Größe $k$ enthält, werden mindestens $k$ Farben benötigt, um diese Clique zu färben, das heißt, die chromatische Zahl ist mindestens so groß wie die Cliquenzahl:
    $\chi (G)\geq \omega (G)$
Jeder $k$-partite Graph ist $k$-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:
    $\chi (G)\leq \Delta (G)+1$
Vollständige Graphen haben $\chi (G)=n$ und $\Delta (G)=n-1$, und ungerade Zyklen haben $\chi (G)=3$ und $\Delta (G)=2$, 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 $W$ eine reelle symmetrische Matrix, so dass $W_{i,j}=0$ ist, wenn $(i,j)$ keine Kante von $G$ ist. Definiert man $\chi _{W}(G)=1-{\tfrac {\lambda _{\max }(W)}{\lambda _{\min }(W)}}$, wobei $\lambda _{\max }(W)$ und $\lambda _{\min }(W)$ die größten und kleinsten Eigenwerte von $W$ sind. Definiert man $\chi _{H}(G)=\max _{W}\chi _{W}(G)$, dann gilt:
    $\chi _{H}(G)\leq \chi (G)$

#### Vektorchromatische Zahl

Sei $W$ eine positive semidefinitive Matrix, so dass $W_{i,j}=0$, wenn $(i,j)$ eine Kante von $G$ ist. Definiert man $\chi _{V}(G)$ als das kleinste $k$, für das eine solche Matrix $W$ existiert. Dann gilt:
    $\chi _{V}(G)\leq \chi (G)$

#### Lovász-Zahl

Die Lovász-Zahl eines komplementären Graphen ist auch eine Untergrenze für die chromatische Zahl:
    $\vartheta ({\bar {G}})\leq \chi (G)$

#### Gebrochene chromatische Zahl

Die gebrochene chromatische Zahl eines Graphen ist auch eine Untergrenze für die chromatische Zahl:
    $\chi _{f}(G)\leq \chi (G)$
Diese Grenzen sind wie folgt geordnet:
    $\chi _{H}(G)\leq \chi _{V}(G)\leq \vartheta ({\bar {G}})\leq \chi _{f}(G)\leq \chi (G)$

#### 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 $G$ ist eine Knotenfärbung seines Kantengraphen $L(G)$ und umgekehrt, also gilt:
    $\chi '(G)=\chi (L(G))$
Es besteht eine starke Beziehung zwischen der Kantenfärbbarkeit und dem maximalen $\Delta (G)$ des Graphen. Da alle Kanten, die mit demselben Knoten verbunden sind, ihre eigene Farbe benötigen, gilt:
    $\chi '(G)\geq \Delta (G)$
Außerdem gelten folgende Sätze:
Satz von König: $\chi '(G)=\Delta (G)$, wenn $G$ bipartit ist.
Satz von Vizing: Ein Graph mit maximalem Grad $\Delta$ hat die kantenchromatische Zahl $\Delta$ oder $\Delta +1$.

## 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.