Given a graph G=(V,E), a coloring function C assigns an integer value C(i) to each node i∈V in such a way that the extremes of any edge {i,j}∈E cannot share the same color, i.e., C(i)≠C(j). Two different approaches to the graph coloring problem of a fuzzy graph Ğ = (V, &Ebreve;) are introduced in this paper. The classical concept of the (crisp) chromatic number of a graph is generalized for these approaches. The first approach is based on the successive coloring functions Cα of the crisp graphs Gα=(V,Eα), the α-cuts of Ğ; the traffic lights problem is analyzed following this approach. The second approach is based on an extension of the concept of coloring function by means of a distance defined between colors; a timetabling problem is analyzed within this approach. An exact algorithm for obtaining the chromatic number associated with the second approach is proposed, and some computational results on randomly generated fuzzy graphs are reported.