ConceptComplete

Vertex Coloring and Chromatic Number

Graph coloring assigns labels to vertices so that adjacent vertices receive different labels. The minimum number of colors needed -- the chromatic number -- is a fundamental and computationally hard graph invariant.


Basic Definitions

Definition5.1Proper Coloring and Chromatic Number

A proper kk-coloring of a graph GG is a function c:V(G)β†’{1,…,k}c: V(G) \to \{1, \ldots, k\} such that c(u)β‰ c(v)c(u) \neq c(v) whenever uv∈E(G)uv \in E(G). The chromatic number Ο‡(G)\chi(G) is the minimum kk for which a proper kk-coloring exists. A graph is kk-colorable if Ο‡(G)≀k\chi(G) \leq k, and kk-chromatic if Ο‡(G)=k\chi(G) = k. Determining Ο‡(G)\chi(G) is NP-hard in general, even deciding if Ο‡(G)≀3\chi(G) \leq 3.

Definition5.2Greedy Coloring and Degeneracy

The greedy algorithm processes vertices in some order v1,…,vnv_1, \ldots, v_n and assigns each viv_i the smallest color not used by its already-colored neighbors. This gives Ο‡(G)≀Δ(G)+1\chi(G) \leq \Delta(G) + 1 where Ξ”\Delta is the maximum degree. The degeneracy d(G)d(G) is the minimum kk such that every subgraph has a vertex of degree ≀k\leq k. Ordering vertices by repeatedly removing minimum-degree vertices gives Ο‡(G)≀d(G)+1\chi(G) \leq d(G) + 1. The degeneracy ordering is computable in O(n+m)O(n + m) time.


Bounds on Chromatic Number

ExampleClique Number vs. Chromatic Number

The clique number Ο‰(G)≀χ(G)\omega(G) \leq \chi(G) (a clique of size kk needs kk colors). Equality need not hold: the Mycielski construction builds triangle-free (Ο‰=2\omega = 2) graphs with arbitrarily large Ο‡\chi. The Kneser graph K(n,k)K(n,k) (vertices = kk-subsets of [n][n], edges = disjoint pairs) has Ο‡(K(n,k))=nβˆ’2k+2\chi(K(n,k)) = n - 2k + 2 (LovΓ‘sz, 1978, using topological methods) while Ο‰(K(n,k))=⌊n/kβŒ‹\omega(K(n,k)) = \lfloor n/k \rfloor.

RemarkBrooks' Theorem

Brooks' theorem: If GG is connected and not a complete graph or odd cycle, then Ο‡(G)≀Δ(G)\chi(G) \leq \Delta(G). The proof constructs a specific vertex ordering for greedy coloring: root a spanning tree, use BFS/DFS ordering, and ensure each vertex (except possibly the root) has a neighbor colored later, allowing the greedy algorithm to use at most Ξ”\Delta colors. The exceptions KnK_n and C2k+1C_{2k+1} genuinely need Ξ”+1\Delta + 1 colors.