Multi-coloring a graph G is an NP-complete problem that attempts to define a minimum number of colors for the nodes of a graph where no adjacent nodes are assigned the same color [8,11]. A greedy heuristic can yield an optimal ordering if the vertices are visited in the correct order. We selected the saturation degree ordering algorithm [8], but modified it to include load-balancing. The saturation degree ordering algorithm selects a node in the graph that has the largest number of differently colored neighbors. We have added the capability to the saturation degree ordering algorithm to select the color for a node in a manner that equalizes the number of nodes with a particular color. We simply select the consistent color with the fewest number of nodes.
We present our version of the saturation degree ordering-based graph
multi-coloring algorithm in figure 5. The computational
complexity of this algorithm is
,
where
defines the set of nodes in
adjacent to
. The graphs encountered for
coloring in this work were very sparse, generally with no more than
three nodes adjacent to any single node.
Figure 5: The Graph Multi-Coloring Algorithm