Graph Coloring

Vast applications in timetabling, scheduling, register allocation, frequency assignment, etc. but coloring is a NP-complete problem. → Everyday need of efficient heuristic algorithms! First step: Understanding the average computational complexity on random graphs. Observations: • COLorable/UNCOLorable phase transition: There exists a connectivity cs such that a large random graphs is almost surely colorable if c < cs and almost surely uncolorable when c > cs. • Very hard to find colorings near to the colorable threshold cs. • For large number of colors: Many algorithms proven to work in polynomial time for c < q log q, no algorithm known for c = (1 + ")q log q.