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
A proper -coloring of a graph is a function such that whenever . The chromatic number is the minimum for which a proper -coloring exists. A graph is -colorable if , and -chromatic if . Determining is NP-hard in general, even deciding if .
The greedy algorithm processes vertices in some order and assigns each the smallest color not used by its already-colored neighbors. This gives where is the maximum degree. The degeneracy is the minimum such that every subgraph has a vertex of degree . Ordering vertices by repeatedly removing minimum-degree vertices gives . The degeneracy ordering is computable in time.
Bounds on Chromatic Number
The clique number (a clique of size needs colors). Equality need not hold: the Mycielski construction builds triangle-free () graphs with arbitrarily large . The Kneser graph (vertices = -subsets of , edges = disjoint pairs) has (LovΓ‘sz, 1978, using topological methods) while .
Brooks' theorem: If is connected and not a complete graph or odd cycle, then . 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 colors. The exceptions and genuinely need colors.