Deterministic Distributed Vertex Coloring in Polylogarithmic Time

Consider an n-vertex graph G = (V, E) of maximum degree Δ, and suppose that each vertex v ∈ V hosts a processor. The processors are allowed to communicate only with their neighbors in G. The communication is synchronous, that is, it proceeds in discrete rounds. In the distributed vertex coloring problem, the objective is to color G with Δ + 1, or slightly more than Δ + 1, colors using as few rounds of communication as possible. (The number of rounds of communication will be henceforth referred to as running time.) Efficient randomized algorithms for this problem are known for more than twenty years [Alon et al. 1986; Luby 1986]. Specifically, these algorithms produce a (Δ + 1)-coloring within O(log n) time, with high probability. On the other hand, the best known deterministic algorithm that requires polylogarithmic time employs O(Δ2) colors. This algorithm was devised in a seminal FOCS’87 paper by Linial [1987]. Its running time is O(log* n). In the same article, Linial asked whether one can color with significantly less than Δ2 colors in deterministic polylogarithmic time. By now, this question of Linial became one of the most central long-standing open questions in this area. In this article, we answer this question in the affirmative, and devise a deterministic algorithm that employs Δ1+o(1) colors, and runs in polylogarithmic time. Specifically, the running time of our algorithm is O(f(Δ)log Δ log n), for an arbitrarily slow-growing function f(Δ) = ω(1). We can also produce an O(Δ1+η)-coloring in O(log Δ log n)-time, for an arbitrarily small constant η > 0, and an O(Δ)-coloring in O(Δe log n) time, for an arbitrarily small constant e > 0. Our results are, in fact, far more general than this. In particular, for a graph of arboricity a, our algorithm produces an O(a1+η)-coloring, for an arbitrarily small constant η > 0, in time O(log a log n).

[1]  Fabian Kuhn Weak graph colorings: distributed algorithms and applications , 2009, SPAA '09.

[2]  Sundar Vishwanathan,et al.  Locality based graph coloring , 1993, STOC.

[3]  Roger Wattenhofer,et al.  A new technique for distributed symmetry breaking , 2010, PODC '10.

[4]  Andrew V. Goldberg,et al.  Parallel Symmetry-Breaking in Sparse Graphs , 1988, SIAM J. Discret. Math..

[5]  N Linial,et al.  Low diameter graph decompositions , 1993, Comb..

[6]  Roger Wattenhofer,et al.  On the complexity of distributed graph coloring , 2006, PODC '06.

[7]  Nathan Linial,et al.  Distributive graph algorithms Global solutions from local data , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[8]  Michael Luby A Simple Parallel Algorithm for the Maximal Independent Set Problem , 1986, SIAM J. Comput..

[9]  Noga Alon,et al.  A Fast and Simple Randomized Parallel Algorithm for the Maximal Independent Set Problem , 1985, J. Algorithms.

[10]  Leonid Barenboim,et al.  Sublogarithmic distributed MIS algorithm for sparse graphs using Nash-Williams decomposition , 2008, PODC '08.

[11]  Richard Cole,et al.  Deterministic Coin Tossing with Applications to Optimal Parallel List Ranking , 2018, Inf. Control..

[12]  Aravind Srinivasan,et al.  On the Complexity of Distributed Network Decomposition , 1996, J. Algorithms.

[13]  Andrew V. Goldberg,et al.  Network decomposition and locality in distributed computation , 1989, 30th Annual Symposium on Foundations of Computer Science.

[14]  Leonid Barenboim,et al.  Distributed (δ+1)-coloring in linear (in δ) time , 2009, STOC '09.

[15]  Douglas R. Woodall,et al.  Defective colorings of graphs in surfaces: Partitions into subgraphs of bounded valency , 1986, J. Graph Theory.

[16]  Christian Scheideler,et al.  Distributed coloring in O/spl tilde/(/spl radic/(log n)) bit rounds , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[17]  David Eppstein,et al.  Arboricity and Bipartite Subgraph Listing Algorithms , 1994, Inf. Process. Lett..

[18]  Nathan Linial,et al.  Locality in Distributed Graph Algorithms , 1992, SIAM J. Comput..