The distributed (δ + 1)-coloring problem is one of the most fundamental and wellstudied problems in distributed algorithms. Starting with the work of Cole and Vishkin in 1986, a long line of gradually improving algorithms has been published. The state-of-the-art running time, prior to our work, is O(δ logδ + log * n), due to Kuhn and Wattenhofer [Proceedings of the 25th Annual ACM Symposium on Principles of Distributed Computing, Denver, CO, 2006, pp. 7-15]. Linial [Proceedings of the 28th Annual IEEE Symposium on Foundation of Computer Science, Los Angeles, CA, 1987, pp. 331-335] proved a lower bound of 1 2 log * n for the problem, and Szegedy and Vishwanathan [Proceedings of the 25th Annual ACM Symposium on Theory of Computing, San Diego, CA, 1993, pp. 201-207] provided a heuristic argument that shows that algorithms from a wide family of locally iterative algorithms are unlikely to achieve a running time smaller than T(δ logδ). We present a deterministic (δ+1)-coloring distributed algorithm with running time O(δ)+ 1 2 log * n. We also present a trade-off between the running time and the number of colors, and devise an O(δ·δ)- coloring algorithm, with running time O(δ/δ + log * n), for any parameter δ > 1. Our algorithm breaks the heuristic barrier of Szegedy and Vishwanathan and achieves running time which is linear in the maximum degree ?. On the other hand, the conjecture of Szegedy and Vishwanathan may still be true, as our algorithm does not belong to the family of locally iterative algorithms. On the way to this result we study a generalization of the notion of graph coloring, which is called defective coloring [L. Cowen, R. Cowen, and D. Woodall, J. Graph Theory, 10 (1986), pp. 187-195]. In an m-defective p-coloring the vertices are colored with p colors so that each vertex has up to m neighbors with the same color. We show that an m-defective p-coloring with reasonably small m and p can be computed very efficiently in the distributed setting. We also develop a technique to employ multiple defective colorings of various subgraphs of the original graph G for computing a (δ + 1)-coloring of G. We believe that these techniques are of independent interest.
- Distributed algorithms