Solution to Problem 0

Problem Statement

A coloring of the vertices of an undirected graph means that colors are assigned to the vertices such that adjacent vertices have different colors. Prove that if a graph has e edges, then that graph may be colored using at most colors.

Algorithm

We will present an algorithm which, given a graph with e edges, produces a coloring of the graph using colors.

Order the vertices of the graph in a list by decreasing degree (highest degree first).

is a set of colors.
is the vertex currently being examined.
contains colors of previously colored vertices adjacent to .

FOR i=1 TO n DO
BEGIN
Examine vertices adjacent to vertice , and collect their colors
into .

Choose a color from for that is not in .
END

Solution

We will show that the above algorithm produces a valid coloring of any graph G.

For any graph G, the total degree of all nodes is 2e. Intuitively, the nodes that are going to cause us to use too many colors (if any) are the nodes of highest degree. Let us separate the vertices into two categories: those with degree and those with degree .

Consider vertices with degree . The sum of the degrees of all vertices in a graph is 2e (because each edge is counted by vertices at both ends). How many vertices with degree can there be? Divide the total degrees, 2e, by , to obtain vertices.

Using colors, give each vertice with degree a different color. Now all that is left to color are vertices with degree .

A vertex v with degree has fewer than edges incident upon it, and so fewer than vertices can be adjacent to v. Thus the adjacent vertices of v can have used at most colors from ; but , meaning there is an available color from to color v. Finally, .

Solution to Problem 0: Terry Harvey Adapted from solution by: R. Vijayaraghavan