Barenboim L., Elkin M. (2011) Combinatorial Algorithms for Distributed Graph Coloring. In: Peleg D. (eds) Distributed Computing. DISC 2011. Lecture Notes in Computer Science, vol 6950. Springer, Berlin, Heidelberg
Numerous problems in Theoretical Computer Science can be solved very efficiently using powerful algebraic constructions. Computing shortest paths, constructing expanders, and proving the PCP Theorem, are just a few examples of this phenomenon. The quest for combinatorial algorithms that do not use heavy algebraic machinery, but have the same (or better) efficiency has become a central field of study in this area. Combinatorial algorithms are often simpler than their algebraic counterparts. Moreover, in many cases, combinatorial algorithms and proofs provide additional understanding of studied problems. In this paper we initiate the study of combinatorial algorithms for Distributed Graph Coloring problems. In a distributed setting a communication network is modeled by a graph G = (V,E) of maximum degree Δ. The vertices of G host the processors, and communication is performed over the edges of G. The goal of distributed vertex coloring is to color V with (Δ + 1) colors such that any two neighbors are colored with distinct colors. Currently, efficient algorithms for vertex coloring that require O(Δ + log*n) time are based on the algebraic algorithm of Linial  that employs set-systems. The best currently-known combinatorial set-system free algorithm, due to Goldberg, Plotkin, and Shannon , requires O(Δ2 + log*n) time. We significantly improve over this by devising a combinatorial (Δ + 1)-coloring algorithm that runs in O(Δ + log*n) time. This exactly matches the running time of the best-known algebraic algorithm. In addition, we devise a tradeoff for computing O(Δ·t)-coloring in O(Δ/t + log*n) time, for almost the entire range 1 < t < Δ. We also compute a Maximal Independent Set in O(Δ + log*n) time on general graphs, and in O(logn/ loglogn) time on graphs of bounded arboricity. Prior to our work, these results could be only achieved using algebraic techniques. We believe that our algorithms are more suitable for real-life networks with limited resources, such as sensor, ad-hoc, and mobile networks.