Algorithms for graph coloring