Tutorials › Graph Theory (Undergraduate) › Degeneracy Bounds for List Coloring

Perfect Graphs and Special Colorings · Tutorial 414 of 799

Degeneracy Bounds for List Coloring

Use a degeneracy ordering to prove that lists of size \(d+1\) always suffice for a \(d\)-degenerate graph, and practise the method on explicit graphs.

Advanced 11 min read

What You'll Learn

  • Define d-degeneracy by degree conditions on every nonempty subgraph.
  • Recognize a degeneracy ordering and relate it to the subgraph definition.
  • Prove the list-coloring bound by greedily coloring in reverse order.
  • Apply the method with explicit lists and check the resulting colorings.
  • Identify why a valid ordering can fail when used in the wrong direction.
  • See why the bound cannot be improved for all d-degenerate graphs.

Degeneracy as an Ordering Condition

List coloring asks for more than an ordinary coloring: each vertex has its own permitted set of colors, and the color assigned to that vertex must come from that set. A useful way to guarantee a coloring is to order the vertices so that each one has only a few neighbors still to be considered. The direction of coloring then matters: color in reverse order, so each vertex has few neighbors whose colors have already been chosen.

Throughout, graphs are finite and simple. A subgraph is formed by taking some vertices and some of the edges between them. A list assignment \(L\) gives each vertex \(v\) a finite set \(L(v)\) of available colors. A proper list coloring is a choice of a color \(c(v)\in L(v)\) for every vertex such that \(c(u)\ne c(v)\) whenever \(uv\) is an edge.

Definition: For an integer \(d\ge 0\), a graph \(G\) is \(d\)-degenerate if every nonempty subgraph of \(G\) has a vertex of degree at most \(d\). An ordering \(v_1,\ldots,v_n\) of its vertices is a \(d\)-degeneracy ordering if, for every \(i\), the vertex \(v_i\) has at most \(d\) neighbors among \(v_{i+1},\ldots,v_n\). The empty graph is \(d\)-degenerate for every \(d\ge0\), vacuously.

The ordering condition expresses the same restriction as the subgraph definition. To build such an ordering, repeatedly remove a vertex of degree at most \(d\) from the graph that remains. Record the vertices in removal order. Conversely, from a valid ordering, any nonempty subgraph contains a vertex with the smallest index among its vertices; all its neighbors in that subgraph have larger indices, so there are at most \(d\) of them.

Theorem: A graph is \(d\)-degenerate if and only if it has a \(d\)-degeneracy ordering.

Proof. Suppose first that \(G\) is \(d\)-degenerate. If \(G\) is empty, its empty ordering has the required property. Otherwise, choose a vertex \(v_1\) of degree at most \(d\) in \(G\), which exists by the definition. Remove it. If vertices remain, the remaining graph is a nonempty subgraph of \(G\), so it has a vertex \(v_2\) of degree at most \(d\). Continue in this way until no vertices remain. When \(v_i\) was removed, its neighbors still present were precisely its neighbors later in the recorded ordering. Thus it has at most \(d\) later neighbors, as required.

Conversely, suppose \(v_1,\ldots,v_n\) is a \(d\)-degeneracy ordering, and let \(H\) be any nonempty subgraph of \(G\). Choose the vertex \(v_i\) of \(H\) with the smallest index. Every neighbor of \(v_i\) in \(H\) has a larger index, since no vertex of \(H\) has a smaller index. The ordering condition gives at most \(d\) such neighbors in \(G\), and hence at most \(d\) in \(H\). Therefore \(H\) has a vertex of degree at most \(d\). This holds for every nonempty subgraph, so \(G\) is \(d\)-degenerate. \(\square\)

The List-Coloring Bound

Theorem: If \(G\) is \(d\)-degenerate and every vertex \(v\) has a list \(L(v)\) with \(|L(v)|\ge d+1\), then \(G\) has a proper list coloring.

Proof. For the empty graph, the empty assignment is a proper list coloring. Otherwise, take a \(d\)-degeneracy ordering \(v_1,\ldots,v_n\), whose existence follows from the characterization just proved. Color the vertices in the order \(v_n,v_{n-1},\ldots,v_1\). When coloring \(v_i\), only its neighbors with larger indices have already been colored. There are at most \(d\) such neighbors, so their colors can exclude at most \(d\) colors from \(L(v_i)\). Since \(|L(v_i)|\ge d+1\), at least one color in \(L(v_i)\) remains available. Choose one of those colors.

To check that the final coloring is proper, consider any edge \(v_iv_j\), where \(i<j\). The vertex \(v_j\) was colored before \(v_i\), and its color was therefore excluded when \(v_i\) was colored. The endpoints receive different colors. This applies to every edge, proving the coloring is proper. \(\square\)

The bound is guaranteed for arbitrary lists, even when lists at adjacent vertices differ. It depends on the number of later neighbors in a suitable ordering, not on the maximum degree. In particular, a vertex may have many neighbors in the original graph but still be colored after most of them have been removed from consideration.

Worked Example: Coloring a Path from Lists of Size Two

Let \(G=(V,E)\), where \(V=\{1,2,3,4,5\}\) and \(E=\{12,23,34,45\}\). This is the path \(P_5\). It is \(1\)-degenerate: every nonempty subgraph is a union of paths and isolated vertices, so it has a vertex of degree at most \(1\). The graph itself has degree-\(1\) endpoints, so it is not \(0\)-degenerate.

Use the ordering \(1,2,3,4,5\). The numbers of later neighbors, in order, are \(1,1,1,1,0\): vertex \(1\) has later neighbor \(2\); vertex \(2\) has later neighbor \(3\); vertex \(3\) has later neighbor \(4\); vertex \(4\) has later neighbor \(5\); and vertex \(5\) has none. Thus this is a \(1\)-degeneracy ordering.

Give the vertices the lists \(L(1)=\{\text{red},\text{blue}\}\), \(L(2)=\{\text{blue},\text{green}\}\), \(L(3)=\{\text{red},\text{green}\}\), \(L(4)=\{\text{red},\text{blue}\}\), and \(L(5)=\{\text{blue},\text{green}\}\). Color in reverse order. Vertex \(5\) has no colored neighbors, so choose blue. Vertex \(4\) cannot use blue and chooses red. Vertex \(3\) cannot use red and chooses green. Vertex \(2\) cannot use green and chooses blue. Vertex \(1\) cannot use blue and chooses red.

Check: the colors on edges \(12,23,34,45\) are respectively red-blue, blue-green, green-red and red-blue. Each edge has different endpoint colors, and each chosen color belongs to its vertex’s list.

Worked Example: A 2-Degenerate Graph with Maximum Degree Three

Let \(G=(V,E)\), where \(V=\{a,b,c,d\}\) and \(E=\{ab,ac,ad,bc,bd\}\). The degrees in \(G\) are \(\deg(a)=3\), \(\deg(b)=3\), \(\deg(c)=2\) and \(\deg(d)=2\). Use the ordering \(c,d,a,b\). The later-neighbor counts are \(2,2,1,0\): \(c\) has later neighbors \(a,b\); \(d\) has later neighbors \(a,b\); \(a\) has later neighbor \(b\); and \(b\) has none. This proves that the ordering is a \(2\)-degeneracy ordering. The graph is not \(1\)-degenerate because the graph itself has no vertex of degree at most \(1\). Its maximum degree is \(3\), so its degeneracy is smaller than its maximum degree.

Give each vertex the list \(\{\text{red},\text{blue},\text{green}\}\). Color in reverse order \(b,a,d,c\). Choose red for \(b\). Vertex \(a\), adjacent to \(b\), chooses blue. Vertex \(d\) is adjacent to \(a\) and \(b\), so red and blue are unavailable and it chooses green. Vertex \(c\) is also adjacent to \(a\) and \(b\), so it chooses green.

Check: the five edges \(ab,ac,ad,bc,bd\) have endpoint colors red-blue, blue-green, blue-green, green-red and green-red, respectively. Each pair differs. There is no edge \(cd\), so assigning green to both \(c\) and \(d\) causes no conflict.

Worked Example: The Zero-Degenerate Case

Let \(G=(V,E)\), where \(V=\{p,q,r\}\) and \(E=\varnothing\). Every nonempty subgraph has a vertex of degree \(0\), so the graph is \(0\)-degenerate. The ordering \(p,q,r\) has zero later neighbors for each vertex. Give every vertex the one-element list \(\{\text{amber}\}\). Reverse-order coloring assigns amber to \(r\), then \(q\), then \(p\); no colored neighbor can exclude a color because there are no edges.

Check: the chosen color is in each list, and the proper-coloring condition is satisfied because there are no adjacent pairs to check. This also illustrates why the empty graph presents no exception to the theorem: its empty coloring satisfies the condition without making any choices.

Why the Bound Is Best Possible

The list size \(d+1\) cannot be replaced by \(d\) as a guarantee for every \(d\)-degenerate graph. For any integer \(d\ge0\), the complete graph \(K_{d+1}\) is \(d\)-degenerate: a nonempty subgraph with \(k\) vertices has every degree at most \(k-1\le d\). Give each vertex the same list of \(d\) colors. A proper coloring of \(K_{d+1}\) needs \(d+1\) distinct colors, because every pair of its vertices is adjacent, but only \(d\) colors are available.

For \(d=0\), this example is \(K_1\) with an empty list: its single vertex cannot be assigned a color. Thus the failure also holds in the boundary case. This example shows that the theorem is a universal guarantee about list sizes; a particular graph or particular assignment may still be colorable from smaller lists.

Common Pitfall: Coloring in the Wrong Direction

A degeneracy ordering bounds the number of neighbors later in that ordering. It does not bound the number of already-colored neighbors if the ordering is used forward. For a concrete failure, let \(G\) be the star with \(V=\{x_1,x_2,x_3,c\}\) and \(E=\{x_1c,x_2c,x_3c\}\). It is \(1\)-degenerate: the ordering \(x_1,x_2,x_3,c\) has later-neighbor counts \(1,1,1,0\).

Give all four vertices the list \(\{\text{red},\text{blue}\}\). If one incorrectly colors forward in that ordering, one possible sequence is \(x_1=\text{red}\), \(x_2=\text{blue}\), \(x_3=\text{red}\). At \(c\), both colors are forbidden by its three colored neighbors, so this procedure gets stuck. The failure does not contradict the theorem; the procedure used the wrong direction.

In the required reverse order \(c,x_3,x_2,x_1\), choose red for \(c\). Each leaf is adjacent only to \(c\), so each can be assigned blue. All lists contain the chosen colors, and every edge joins a red center to a blue leaf. The key check is therefore not simply that an ordering exists, but that vertices are colored in reverse of the order that bounds their later neighbors.

Check Your Understanding

For each question, justify the ordering or coloring claim using the definitions and argument in this tutorial.

  1. For \(V=\{1,2,3,4\}\) and \(E=\{12,23,34,41\}\), give a \(2\)-degeneracy ordering and write down its later-neighbor counts.
  2. Explain why the ordering condition implies that every nonempty subgraph has a vertex of degree at most \(d\).
  3. In the list-coloring proof, why are at most \(d\) colors unavailable when a vertex is colored?
  4. Give lists of size \(2\) on the star in the pitfall example and describe a proper list coloring.
  5. Why does \(K_{d+1}\) show that lists of size \(d\) do not suffice as a guarantee for all \(d\)-degenerate graphs?