Algorithms for Colouring Random k-colourable Graphs
The k-colouring problem is to colour a given k-colourable graph with k colours. This problem is known to be NP-hard even for fixed k [gt-or-equal, slanted] 3. The best known polynomial time approximation algorithms require nδ (for a positive constant δ depending on k) colours to colour an arbitrary k-colourable n-vertex graph. The situation is entirely different if we look at the average performance of an algorithm rather than its worst-case performance. It is well known that a k-colourable graph drawn from certain classes of distributions can be k-coloured almost surely in polynomial time.
In this paper, we present further results in this direction. We consider k-colourable graphs drawn from the random model in which each allowed edge is chosen independently with probability p(n) after initially partitioning the vertex set into k colour classes. We present polynomial time algorithms of two different types. The first type of algorithm always runs in polynomial time and succeeds almost surely. Algorithms of this type have been proposed before, but our algorithms have provably exponentially small failure probabilities. The second type of algorithm always succeeds and has polynomial running time on average. Such algorithms are more useful and more difficult to obtain than the first type of algorithms. Our algorithms work as long as p(n) [gt-or-equal, slanted] n−1+ε where ε is a constant greater than 1/4.(Received March 24 1998)
(Revised October 25 1998)
1 This research was done while the author was a graduate student at the department of Computer Science and Automation, Indian Institute of Science, Bangalore, India.