The Recursive Largest First (RLF) algorithm is a heuristic for the NP-hard graph coloring problem. It was originally proposed by Frank Leighton in 1979. The RLF algorithm assigns colors to a graph’s vertices by constructing each color class one at a time. It does this by identifying a maximal independent set of vertices in the graph, assigning these to the same color, and then removing these vertices from the graph. These actions are repeated on the remaining subgraph until no vertices remain. To form high-quality solutions (solutions using few colors), the RLF algorithm uses specialized heuristic rules to try to identify "good quality" independent sets. These heuristics make the RLF algorithm exact for bipartite, cycle, and wheel graphs. In general, however, the algorithm is approximate and may well return solutions that use more colors than the graph’s chromatic number.
Description The algorithm can be described by the following three steps. At the end of this process, S {\displaystyle {\mathcal {S}}} gives a partition of the vertices representing a feasible | S | {\displaystyle |{\mathcal {S}}|} -colouring of the graph G {\displaystyle G} .
Let S = ∅ {\displaystyle {\mathcal {S}}=\emptyset } be an empty solution. Also, let G = ( V , E ) {\displaystyle G=(V,E)} be the graph we wish to color, comprising a vertex set V {\displaystyle V} and an edge set E {\displaystyle E} . Identify a maximal independent set S ⊆ V {\displaystyle S\subseteq V} . To do this: The first vertex added to S {\displaystyle S} should be the vertex in G {\displaystyle G} that has the largest number of neighbors. Subsequent vertices added to S {\displaystyle S} should be chosen as those that (a) are not currently adjacent to any vertex in S {\displaystyle S} , and (b) have a maximal number of neighbors that are adjacent to vertices in S {\displaystyle S} . Ties in condition (b) can be broken by selecting the vertex with the minimum number of neighbors not in S {\displaystyle S} . Vertices are added to S {\displaystyle S} in this way until it is impossible to add further vertices. Now set S = S ∪ { S } {\displaystyle {\mathcal {S}}={\mathcal {S}}\cup \{S\}} and remove the vertices of S {\displaystyle S} from G {\displaystyle G} . If G {\displaystyle G} still contains vertices, then return to Step 2; otherwise end.
Example
Consider the graph G = ( V , E ) {\displaystyle G=(V,E)} shown on the right. This is a wheel graph and will therefore be optimally colored by RLF. Executing the algorithm results in the vertices being selected and colored in the following order:
Vertex g {\displaystyle g} (color 1) Vertex a {\displaystyle a} , c {\displaystyle c} , and then e {\displaystyle e} (color 2) Vertex b {\displaystyle b} , d {\displaystyle d} , and then f {\displaystyle f} (color 3) This gives the final three-colored solution S = { { g } , { a , c , e } , { b , d , f } } {\displaystyle {\mathcal {S}}=\{\{g\},\{a,c,e\},\{b,d,f\}\}} .
… excerpt ends here. Continue reading the full article.

