Improved Distributed $\Delta$-Coloring

We present a randomized distributed algorithm that computes a $\Delta$-coloring in any non-complete graph with maximum degree $\Delta \geq 4$ in $O(\log \Delta) + 2^{O(\sqrt{\log\log n})}$ rounds, as well as a randomized algorithm that computes a $\Delta$-coloring in $O((\log \log n)^2)$ rounds when $\Delta \in [3, O(1)]$. Both these algorithms improve on an $O(\log^3 n/\log \Delta)$-round algorithm of Panconesi and Srinivasan~[STOC'1993], which has remained the state of the art for the past 25 years. Moreover, the latter algorithm gets (exponentially) closer to an $\Omega(\log\log n)$ round lower bound of Brandt et al.~[STOC'16].


Introduction and Related Work
This paper presents faster distributed algorithms, in the LOCAL model, for computing a ∆-coloring of any non-clique graph with maximum degree ∆ ≥ 3. Moreover, we also provide certain structural results on the locality of the ∆-coloring problem. To formally present our results and put them in the context of the area, let us start with recalling the model.
The LOCAL Model of distributed computing [Lin92,Pel00]. The graph is abstracted as an n-node network G = (V, E) with maximum degree at most ∆. Communications happen in synchronous rounds. Per round, each node can send one (unbounded size) message to each of its neighbors. At the end, each node should know its own part of the output, e.g., its own color.

Background and State of the Art
Graph coloring-assigning colors to the vertices of the graph such that no two adjacent vertices have the same color-has been a central problem in the study of distributed graph algorithms. We refer to the Distributed Graph Coloring book by Barenboim and Elkin [BE13].
Much of the focus in this area has been on computing a coloring with ∆ + 1 colors. Notice that any graph has a (∆ + 1) coloring, which can be computed via a trivial sequential greedy method. Hence, in a sense, distributed ∆+1 coloring algorithms can all be viewed as attempts at parallelizing this greedy method. We are getting a better and better understanding of the complexity of this problem, see e.g., the very recent work of Chang et al. [CLPar], which provides a 2 O( √ log log n) -round algorithm for (∆ + 1)-coloring, and the references therein.
On the other hand, ∆-coloring is a problem of a very different nature. By a beautiful result of Brooks from 1941 [Bro09], every connected graph admits a ∆ coloring, unless it is exactly a complete graph or an odd cycle. The proof is of course far less trivial compared to that of (∆ + 1)-coloring. See the 1975 work of Lovász [Lov75] for a simplified proof, which also supplies a polynomial-time centralized algorithm for computing a ∆-coloring.
Why should we care about ∆-coloring? General Aspects. One can argue that this single color of difference between ∆-coloring and (∆ + 1)-coloring is not relevant in practice. While that is probably true, we believe that there is a strong enough theoretical interest in investigating ∆coloring. We view ∆-coloring as a clean and classic graph problem which reaches just outside the problems that we understand, and thus hopefully enables us to extend our understanding of the LOCAL model and to develop new algorithmic tools and techniques for it. The study of ∆-coloring has previously provided theoretical insight: (1) In the existential sense, Brooks' theorem and proofs of it are widely studied and covered throughout graph theory textbooks (see e.g., [MR13,Theorem 1.4] and [BM76,Theorem 14.4]), while (∆ + 1)-coloring is usually passed over as a triviality. (2) There is a sizable literature on sequential and also parallel (PRAM) algorithms for computing (∆) colorings. However, the sequential variant of (∆ + 1)-coloring is again ignored as being a mere triviality. Moreover, the study of (∆ + 1)-coloring in the PRAM model effectively stopped with the MIS algorithms of Luby [Lub86] and Alon et al. [ABI86], which led to an O(log n)-round algorithm for (∆ + 1)-coloring.
We also note that the relation between (∆ + 1)-coloring and ∆-coloring is similar to the relation between the two problems of ∆(1 + o(1))-coloring and (∆ + 1)-coloring. One can argue that practically both are equally useful. However, the former can be solved easily in 2 O( √ log log n) rounds using methods of Barenboim et al. [BEPS12], while there is still ongoing research on (∆ + 1)coloring [HSS16,CLPar], which only very recently led to a 2 O( √ log log n) -round algorithm [CLPar].

Our Results
Our first result is tailored to ∆-coloring constant-degree graphs.
Theorem 1. There is a randomized distributed algorithm that, in any non-complete graph with maximum degree ∆ ≥ 3, computes a ∆-coloring in O √ ∆ log ∆ · log * ∆ · log 2 log n rounds, w.h.p. ‡ Theorem 1 immediately implies an O (log log n) 2 round algorithm for constant-degree graphs. ‡ As standard, we use the phrase with high probability(w.h.p.) to indicate that an event happens with probability 1 − 1/n c for a desirably large constant c ≥ 2 Corollary 2. There is a randomized distributed algorithm that, in any non-complete graph G with maximum degree ∆ ∈ [3, O(1)], computes a ∆-coloring of G in O((log log n) 2 ) rounds, w.h.p..
We comment that the condition of ∆ ≥ 3 is necessary as 2-coloring graphs with ∆ = 2 may need Ω(n) rounds, even if possible, e.g., in the case of an even cycle. The round complexity of Corollary 2 gets significantly closer to the Ω(log log n) round lower bound of Brandt et al. [BFH + 16]. Even in constant-degree graphs, the previous best known bound was the O(log 2 n)-round algorithm § of Panconesi and Srinivasan [PS92,PS95].
Our second result applies to all graphs with ∆ ≥ 4 and improves on the O(log 3 n/ log ∆) round complexity of Panconesi and Srinivasan [PS92,PS95]: Theorem 3. There is a randomized distributed algorithm that, in any non- We also improve the deterministic complexity of ∆-coloring for graphs with ∆ = 2 o( √ log n) .

Our Methods
Our algorithms are based on a structural result that essentially says that either a graph is easy to ∆-color locally, or it expands locally. This also yields a new proof of the distributed Brooks' Theorem by Panconesi and Srinivasan.
Theorem 5 (Distributed Brooks' Theorem [PS95]). Let G be a graph that is not a clique with maximum degree ∆ ≥ 3, and let G be ∆-colored except for one node v. Now G can be ∆-colored by fixing the coloring inside the (2 log ∆−1 n)-neighborhood of v.
Our algorithms are based on a layering technique. In this technique we carefully choose a base layer B 0 ⊆ V that is easy to color, and layers B 1 , . . . , B s where B i consists of the nodes in distance i to B 0 . To ∆-color all layers one can iteratively color the layers in reverse order while always respecting the already fixed colors. To ∆-color layer B i , i = 0 we solve list coloring on the graph G[B i ]. Lists are of size (deg +1) as each node has an uncolored neighbor on a lower index layer. At the end layer B 0 is (usually) colored with different techniques.
The best way to understand the technique is the algorithm for Theorem 4. There the base layer B 0 consists of the nodes of a ruling set of G with large enough distance between nodes. The ruling property of B 0 implies that we only need few layers to cover the whole graph and due to their large distance the nodes in B 0 can be colored independently with Theorem 5.
In our algorithms we find such layers and remove them from the graph. Let H denote the graph of remaining nodes. Optimally H is empty, as it is in the algorithm explained above. In our randomized algorithms the layers do not always cover the whole graph. However, the base layer is chosen such that our structural results (cf. Section 2.2) show that H expands: In particular, we identify all small node-induced subgraphs that are colorable regardless of colors outside the subgraphs, compute a ruling set of these subgraphs and put their nodes in the base layer B 0 . Then the remaining graph H does not have any small subgraphs that are easy to color and our structural § The original algorithm runs in time O(∆ log 3 n) due to a slower coloring algorithm used to recompute a coloring every time tokens move. Reusing the same coloring to schedule the movement of tokens improves the running time by a factor of O(log n) in bounded-degree graphs.
results show that H has to expand. We leverage the expansion by randomly placing 'slack' in the graph, i.e., so called T -nodes and by removing -again with the layering technique -all nodes that find slack close by. Due to the expansion we can show that the probability to remain after the slack placement is 1/n c for constant ∆, and otherwise 1/poly(∆) for a suitable polynomial. In the second case standard shattering techniques (cf. Lemma 24) show that only small connected components remain which we color with a similar layering technique.
In the end we color the removed layers in reverse order via (deg +1) list colorings as explained in the layering technique. The base layer B 0 can be colored fast by definition as it consists of independent small and easy colorable subgraphs.
We emphasize that -to the best of our knowledge -our shattering is different from all previous shattering algorithms. Previous shattering algorithms compute a partial solution to shatter the graph into small unsolved components which are then solved to complete the partial solution. Here, the nodes in the small components are the last nodes to compute their output. Our algorithms shatter in a fundamentally different way. We shatter the graph by removing nodes from it. The nodes in remaining components are the first to compute their output. Only afterwards we add the removed nodes to the graph and let them compute their output last.

Graph Colorability and Structural Results
In this section we study structural properties of graphs that are not degree-list colorable, at least locally. We will show several structural results about such graphs, which essentially tell that these graphs must expand exponentially. This will lead to a simplified proof of the "distributed" Brooks' theorem due to Panconesi and Srinivasan [PS95] in Section 2.3.

Definitions
Definition 6 (degree-choosability). A graph G is degree-choosable, if for every assignment of lists L, such that |L(v)| ≥ deg(v) for all v, there exists a proper coloring of G with colors from L.
Definition 7 (Gallai-trees). A graph is a Gallai-tree if all of its maximal 2-connected components are either cliques or odd cycles.
Gallai-trees are exactly those graphs which are not degree-choosable.
Theorem 8 ( [ERT79,Viz76]). A graph is not degree-choosable if and only if it is a Gallai-tree.
Now consider the problem of ∆-coloring. If we color the graph partially, but leave a 2-connected subgraph, that is not a clique nor an odd cycle, uncolored, then the coloring can be completed in this subgraph due to Theorem 8. These subgraphs are called degree-choosable components.
Definition 9 (degree-choosable component). A node-induced subgraph is a degree-choosable component if it is 2-connected and not a clique nor an odd cycle.
We often write DCC instead of degree choosable component and the usual definitions for graphs can be extended to degree-choosable components. For example, the diameter of a degree-choosable component is the diameter of the node-induced subgraph.
A connected graph is a nice graph if it is neither a path, a cycle, nor a clique [PS95]. All nice graphs are ∆-colorable and we assume that all graphs throughout the paper are nice graphs.
A T -node is a node with two neighbors with the same color. In a partially colored graph, node u is a T -node of v if u is a T -node and there is an uncolored path from u to v.

Structure of Graphs with no Small Degree-Choosable Components
In this section we study graphs with no small degree-choosable components. Our goal is to prove that if such graphs are locally regular (and thus not easy to color locally), then these graphs must expand. Our general tool is to count the number of nodes in breadth-first search trees inside these graphs. Given a BFS tree BFS(v) rooted at node v of a graph G, we denote by B t (v) the set of nodes at distance t from v in this tree and for two nodes u, w of a BFS tree let P u,w denote the unique path from u to w in the BFS tree.
Lemma 10 (Unique BFS tree). Let G be a graph with no degree-choosable components of radius r or less. The depth-r BFS tree rooted at an arbitrary v ∈ V (G) is unique. In particular, any node u = v on level t ≤ r has exactly one edge to the nodes on level t − 1 of the BFS tree.
Proof of Lemma 10. It is immediate that the zero and depth one BFS trees are unique. For larger depth consider the following proof by contradiction. For t < r assume that u and u ′ are two nodes on the t-th level of the BFS tree that connect to the same node w / ∈ B t−1 ∪ B t , i.e., we assume that the next level of the BFS tree cannot be built uniquely. Then w is on level t + 1. Let v ′ be the last common ancestor of u and u ′ . Then there is the even cycle {w, u ′ }, P u ′ ,v ′ , P v ′ ,u , {u, w} that does not induce a clique as the nodes u, w, u ′ and w ′ lie on three different levels, a contradiction.
For a node u in a BFS tree let d(u) denote the number of children of u in the BFS tree.
Lemma 11 (BFS expansion lemma). Let G be a graph without any DCC of radius at most r and BF S(v) the unique depth-r BFS tree rooted at some node v ∈ V (G). Let u ′ be a node of BF S(v) with deg(u ′ ) ≥ 3 and u its immediate ancestor.
Proof. Let u be on some level j ≤ r − 1 of the BFS tree and u ′ on level j + 1 ≤ r. If u = v the statement holds trivially as d(u) = deg(u). So assume that u = v. Due to the uniqueness of the BFS tree (cf. Lemma 10) u = v has a single neighbor on level j −1 and deg(u)−1 neighbors on level j and j + 1. Similarly u is the only neighbor of u ′ on level j. For two nodes u, u ′ of the BFS tree let P (u, u ′ ) denote the unique path in the BFS tree between u and u ′ . Let α = min{deg(u), deg(u ′ )}. The result holds if d(u) ≥ α. We consider two cases for d(u) < α. Case d(u) = α − 1: Assume that u ′ has one neighbor u ′′ in N (u). We show that u ′ does not have a neighbor on its level that is not connected to u. So assume that u ′ also has a neighbor w on level j + 1 that is not a child of u. Let v ′ denote the last common ancestor of u ′ and w in the BFS tree. The subgraph induced by the union of is a DCC of radius at most r, a contradiction. Thus if, u ′ has one neighbor in N (u) it has at most α − 2 neighbors on its own level and we have d( Now assume that u ′ has no neighbor in N (u). We show that it can have at most one neighbor on its own level. Assume that it has two neighbors w, w ′ on its own level. Let v ′ denote the last common ancestor of w and w ′ . Then the union of edges P forms an even cycle that does not induce a clique, a contradiction. In this case we have d Case d(u) < α − 1: Because d(u) < deg(u) − 1 node u must have a neighbor on level j that we denote with w. We first prove the following subclaim.
Claim: Node u ′ has no neighbor on level j + 1 which is not connected to u.
Proof. Assume by contradiction that such a neighbor denoted with w ′ exists. Note that the edge {w, w ′ } does not exist because otherwise the nodes u, u ′ , w ′ and w would form a 4-cycle which does not induce a clique as {u, w ′ } / ∈ E. Let v ′ be the last common ancestor of u, w, u ′ and w ′ .
forms an even cycle. The path P w ′ v ′ neither goes through w nor through u as the edges {w, w ′ } and {u, w ′ } do not exist. Thus the even cycle actually is a proper cycle and does not collapse. Furthermore it does not induce a clique as the nodes u, u ′ , w and w ′ lie on three different levels of the BFS tree. Thus it induces a short even cycle, i.e., a DCC with radius at most r, a contradiction.
Due to the claim all neighbors of u ′ in G that are on the same level as u ′ in the BFS tree are also connected to u in the BFS tree. As u has at most d(u) children u ′ has at most d(u)− 1 neighbors on the same level and one neighbor in the level above. This implies Informally, this lemma holds because if there are too many edges inside the local neighborhood of a node, then these edges must create a degree-choosable component.
Marking process. In our algorithms we apply the following marking process. Each node selects itself independently and uniformly at random with some probability p. Then, if there is another selected node within distance b (the backoff distance), the node unselects itself. Otherwise it picks two non-adjacent neighbors and colors them with color one. We call these neighbors marked. The selected node becomes a T -node. The following lemma shows that if we apply the marking process, the graph of the unmarked nodes expands deterministically. The proof is based on the previous Lemma 11. Due to the backoff distance b marked nodes cannot exist too close to each other if they do not form a T -node. Thus for every node on a level of the BFS tree that is blocked from expanding due to a marked node, there are many other nodes that are not blocked.
Lemma 12. Let ∆ ≥ 4 and G = (V, E) be a graph such that G does not contain any DCCs of radius at most r, for an even r. Apply the marking process to G with b = 6 and remove all marked nodes to obtain graph H. Consider an arbitrary node v ∈ V (H). If ∆ − 1 ≤ deg(u) ≤ ∆ for each u ∈ N r (v), then the r-hop BFS tree around node v ∈ V has at least (∆ − 2) r/2 nodes on level r.
Proof of Lemma 12. Consider the BFS tree around an arbitrary node v. By Lemma 10 this BFS tree is unique and by Lemma 11, for each u and its child u ′ it holds that d(u) Since each node has a unique parent in the BFS tree, we can lower bound the number of nodes by counting the number of new nodes in the BFS tree.
The root v has at least ∆ − 1 neighbors. Let B r (v) denote the set of nodes at distance t from v in the BFS tree. The proof is divided into two cases based on the nodes' outdegree in the BFS tree.
However, for each such u at level r of the BFS tree, there are exactly ∆ − 2 other nodes u ′ at level r in a ∆-clique with u, and with deg(u ′ ) = ∆ and d(u ′ ) = 1 by our assumption. Now we apply Lemma 11 to each u ′ each of their children u ′′ : since b = 6 we have that deg(u ′′ ) = ∆ and that d(u ′′ ) ≥ ∆ − d(u ′ ) = ∆ − 1. Therefore these nodes contribute a total of at least (∆ − 1)(∆ − 2) nodes to the BFS tree.
(2) d(u) ≥ 1. There are two subcases based on whether the children of u form a clique of size ∆ − 1.
If they do, then by assumption at most one of these nodes has degree ∆ − 1. It cannot be u, since u has an edge to its parent in the BFS tree, and ∆ − 1 edges to its children. One child u ′ of u might have d(u ′ ) = 0, but the other ∆ − 2 children will have outdegree 1 by the choice of b = 6, contributing ∆ − 2 new nodes to the BFS tree at level r + 2.
Now assume that the children of u do not form a (∆ − 1)-clique. Instead, let C 1 , C 2 , . . . , C k form the maximal cliques formed by the children of u. There are no edges between any C i and C j as this would form a degree-choosable component. In addition, if |C i | ≥ 2, there cannot be any edges from C i to other nodes on the same level of the BFS tree. There can be at most one C i of size 1 such that it closes an odd cycle, thus having 1 edge to another node on the same level.
Each C i has size at most ∆−2 by assumption. Each node u ′ in a given C i has deg(u ′ ) ≥ ∆−1, and there are at most |C i |−1 ≤ ∆−3 edges inside level r+1 (the edges inside the clique), and exactly one edge to level r (to u). There are no edges from the cliques to the rest of the same level, since this would form a DCC. Therefore and since it cannot be inside a clique and on an odd cycle that are both connected to u. A singular node contributes at least If deg(u) = ∆, a singular clique contributes at least ∆ − 3 nodes, and the remaining clique contribute nodes to the BFS tree at level r + 2. If deg(u) = ∆ − 1, a singular clique contributes at least ∆ − 2 nodes.
The number of nodes contributed per descendant of u is minimized when we set |C i | = ∆−2 and there is no singular clique. Therefore we get that Let x denote the number of nodes of the second type in B t (v). We have that The following simple but useful result shows that the neighborhood of a node decomposes into cliques if there are no small degree-choosable components.
Lemma 13. Let G be a graph with no degree-choosable components of radius 1.
Proof. Let u 1 , u 2 and w neighbors of v with {u 1 , u 2 } ∈ E. If {u 2 , w} ∈ E we also have that {u 1 , w} ∈ E as otherwise the graph induced by v, u 1 , u 2 and w would be a degree choosable component of radius one, a contradiction.
We show that expansion also holds for ∆ = 3 if the backoff distance b between selected nodes is increased to 12.
Lemma 14. Let ∆ = 3 and G = (V, E) be a graph such that G does not contain any DCCs of radius at most r, for an r divisible by 6. Apply the marking process to G with b = 12 and remove all marked nodes to obtain graph H r . Consider an arbitrary node v ∈ V (H r ). If 2 ≤ deg(u) ≤ 3 for each u ∈ N r (v), then the r-hop BFS tree around node v ∈ V has at least 4 r/6 nodes on level r.
Proof. The proof is by induction on the levels of the BFS tree, similar to the proof of Lemma 12. By the degree restriction there are no T -nodes.
Base case: at least (∆ − 1) 3 nodes on level 6. If node v is selected, it is a T -node. If one of its neighbors is selected, it either gets a T -node (and has degree 1) or is marked.
Therefore at most one of the neighbors of the root is marked. The root therefore has at least ∆ − 1 descendants in B 2 (v). Since at most one node can be selected in the 6-neighborhood of the root, we have that |B 6 (v)| ≥ (∆ − 1) 3 = 8.
Inductive step. Consider the set B t (v) for some t ≥ 6. We split the proof in three cases: for Case d(u) = 2. We must have that deg(u) = 3. Since we chose b = 12, at most one of the subtrees rooted at the children of u can contain a node of smaller degree. By Lemma 15, the other subtree contributes at least (∆ − 1) 2 = 4 nodes to B r+6 .
Case d(u) = 1. Now we have two subcases. If deg(u) = 2, then the child u ′ of u must have d(u ′ ) ≥ 1, since its child be cannot marked by the same node that marked a neighbor of u. The subtree of rooted u ′ contains no marked nodes, so we apply Lemma 15 to see that u contributes at least 4 nodes to B r+6 .
If deg(u) = 3, the subtree rooted at u may contain a marked node. If it does not, it contributes at least (∆ − 1) 3 = 8 nodes to B r+6 . If it does, node u must have a neighbor u ′ on levelr such that the subtree rooted at u ′ contains no marked nodes in G. Therefore u and u ′ contribute (∆ − 1) 3 = 8 nodes to B r+6 (v).
Case d(u) = 0. In this case node u must have a marked neighbor in G and a neighbor u ′ on level r. Since the subtree of u ′ contains no marked nodes in G, by Lemma 15, node u ′ contributes Let x 2 and x 3 denote the number of nodes of cases 2 and 3, respectively, in B r (v). We get that the number of nodes in B r+6 is

A Simplified Proof for the Distributed Brooks' Theorem
Panconesi and Srinivasan proved a distributed version of Brooks' Theorem (cf. Theorem 5). The goal of this section is to provide a simplified proof of the result. We begin by observing that if a graph does not have any small degree-choosable components, it is locally expanding. This result is easier to prove than Lemma 12 as it does not include the marking process.
Lemma 15. Let G be a graph and v ∈ V (G) be a node such that inside the r-radius neighborhood of v there are no degree-choosable components and every node has degree ∆. Then for each even r there are at least (∆ − 1) r/2 nodes at distance r from v.
Proof. Consider the BFS tree around node v. The 1-hop neighborhood of v consists of disjoint cliques due to Lemma 13. This implies that |B 2 (v)| ≥ 2(∆ − 1). Now consider some level t. For each node u ∈ B t (v), we get via Lemma 11 that the number of descendants of u in B t+2 (v) is at least Since each node has a unique ancestor in the BFS tree, we get that |B t+2 (v)| ≥ (∆ − 1)|B t (v)|. Now we can use previous lemmas to show that the uncolored node in the statement of Theorem 5 can fix its color as it sees a degree-choosable component or a node of degree < ∆ inside its O(log ∆ n)neighborhood.
Lemma 16. Let G be a graph with maximum degree ∆ ≥ 3. The (2 log ∆−1 n)-neighborhood of any node contains a degree-choosable component or it contains a node of degree < ∆.
Proof. Fix a node v ∈ V (G) and assume that its r = 2 log ∆−1 n neighborhood does not contain a degree-choosable component and that nodes in this neighborhood have degree ∆. By Lemma 15, the BFS tree has |B r (v)| ≥ (∆ − 1) r/2 ≥ n nodes. Therefore the BFS tree cannot expand, and there is an edge to a lower level of BFS(v) from B r (v), or there is a node of degree < ∆ in B r (v). Now we are ready for the proof of the distributed Brooks' theorem.
Proof of Theorem 5. Let c denote the partial coloring G, with c(v) = ⊥. We say that v has a token. We can always do the following operation: let u be an arbitrary neighbor of v. If v does not have a free color, that is, all of its ∆ neighbors have different colors, then we can move the token to u and color the node v with color c(u). Now, if the (2 log ∆−1 n)-neighborhood of v contains a node of smaller degree, we can move the token to that node, and it is guaranteed to have a free color. Now assume that no such node exists. By Lemma 16, there exists a degree-choosable component in the (2 log ∆−1 n)-neighborhood of v. Let u be one of the closest nodes to v in the degree-choosable component B. We move the token from v to u by the shortest path. Next we uncolor the whole of B. By definition there exists a ∆-coloring of B compatible with the existing coloring in the rest of the graph.

Deterministic ∆-coloring
In this section we present our deterministic ∆-coloring algorithm, exemplifying our layering technique.
Layering technique. In the layering technique there is a carefully chosen base layer B 0 that is easy to color and layers B 1 , . . . , B s where B i consists of the nodes in distance i to B 0 . This is particularly helpful for ∆-coloring as we can ∆-color the layers in reverse order while respecting the colored neighbors in layers with a larger index. To ∆-color layer B i , i = 0 we need to solve a (deg +1) list coloring on the graph G[B i ]: A node v ∈ B i builds its list by removing the colors of neighbors in B i+1 ∪ . . . B s from the set {1, . . . , ∆}. The size of this list is at least deg G[B i ] (v) + 1 as v has one neighbor in layer B i−1 . Then layer B 0 is colored after all other layers with different techniques as ∆-coloring B 0 while respecting already colored neighbors might not be a deg +1 list coloring instance. To make sure that we can still ∆-color B 0 efficiently (we might have to recolor previously colored nodes) it has to be chosen carefully.
This section uses the technique in a simple setting. We continue with list coloring results. In the (deg +1) list coloring problem each node v has a list L(v) of available colors with |L(v)| ≥ deg(v)+1. The objective is to properly color the graph such that each node picks a color from its list.
We also use ruling set algorithms several times. A (α, β) ruling set of a graph G is a subset M ⊆ V (G) of the nodes such that dist(v, M \ {v}) ≥ α for all v ∈ M and dist(v, M ) ≤ β for all v ∈ V . The following lemma summarizes the known distributed ruling set algorithms that we use.
Lemma 20. For any integers k, β ≥ 1 there are the following ruling set algorithms. ( Proof of Lemma 20. We only provide a proof for the deterministic (k, k 2 β) algorithm which is alike the words in [BEPS16, Section 1.1]. Consider G k−1 and note that ∆(G k−1 ≤ ∆ k . Then apply 20 on G k−1 with β ′ = kβ. Note that each step of the algorithm can be executed in k steps in G leading to a runtime of O(k · β ′ ∆ 2k/β ′ + log * n) = O(k 2 · β∆ 2/β + k · log * n).
The following algorithm improves the deterministic complexity of distributed ∆-coloring (cf. Theorem 4). Its proof is based on the layering technique with O(log 2 n) layers and Theorem 5. The layer B 0 is chosen to be a ruling set such that Theorem 5 can be applied to color the nodes in B 0 independently. The runtime is dominated by the O(log 2 n) iterations of list coloring due to the layering technique.
Algorithm First, color all nodes of G with O(∆ 2 ) colors with Linial's algorithm [Lin92]. These colors are only used for symmetry breaking when applying list coloring algorithms and do in no way coincide with the desired ∆-coloring. Let R := 4 log ∆−1 n + 1 ≤ 7 log n/ log ∆ and z = 4 · R 2 .
(1) (Build layer B 0 ) Compute a (R, z) ruling forest of G with Lemma 20, (2). Add all nodes of the ruling set to layer B 0 .
(2) (Remove layers B 0 , . . . , B z ) Define layers B 1 , . . . , B z where v ∈ B i if the distance of v to B 0 is i. Remove all layers from the graph.
(3) (Color layers B z , . . . , B 1 ) Add the layers B z , . . . , B 1 to the graph one by one: When adding layer B i color the nodes of B i such that G ↑i = G[ z j=i B j ] is validly ∆-colored.
Step i = z, . . . , 1 is a deg +1 list coloring instance on G i = G[B i ] because a node v ∈ B i has an uncolored neighbor in B i−1 . We use Theorem 18 to solve each list coloring instance.
(4) (Color layer B 0 ) Use Theorem 5 to independently color the nodes in B 0 through recoloring nodes in distance at most 2 log ∆−1 n < R/2.
Proof of Theorem 4. By the definition of a ruling set every node of G is in distance at most z from its root in the ruling forest. Thus every node is contained in the z + 1 layers and is colored. We formally show that coloring each layer is an instance of deg +1 list coloring in the graph G i . Assume that we are in step i and want to color the nodes of B i such that G ↑i is validly ∆colored. Pick a node v ∈ B i . The list of available colors of v is {1, . . . , ∆} \ F v where F v is the set of colors that have already been chosen by v's colored neighbors in G ↑i . The size of F v is at most deg G ↑i (v) − deg G i (v). The degree deg G ↑i (v) is upper bounded by ∆ − 1 because at least one of v's neighbors in G is contained in L i−1 . Thus the list of available colors of v has size at least The runtime of the first step and the second step is O R 2 · √ ∆ + R · log * n + z + log * n = O R 2 · √ ∆ . The third step takes O( √ ∆ log ∆ log * ∆) rounds for each of the z = O(R 2 ) = O(log 2 ∆ n) iterations. The fourth step takes O(R) rounds. In total the runtime is dominated by the third step.
The following theorem appeared as [PS95, Theorem 5]. Our techniques can be used to give an alternative proof.

Randomized ∆-Coloring (Proof of Theorem 1 and 3)
In this section we present our algorithm. The algorithm is split into two slightly different versions based on ∆: one version can handle any ∆ ≥ 4 and the other any 3 ≤ ∆ = O(1). We refer to these two versions as the large-∆ version and the small-∆ version. In this section we present the algorithms of Theorems 1 and 3 and their proofs.

The Randomized ∆-Coloring Algorithms
First, we remove all degree-choosable components of radius r or less from the graph. This implies that the graph must expand locally (Lemma 16). The two versions differ in the radius r: in the small version we choose r = O(log log n) and in the large version r = O(1). Let b = 6 and p = ∆ −b . First, color all nodes of G with O(∆ 2 ) colors with Linial's algorithm [Lin92]. These colors are only used for symmetry breaking when applying list coloring algorithms and do in no way coincide with the desired ∆-coloring.

I Removing Degree Choosable Components with Small Radius
(1) Each node that is contained in at least one degree choosable subgraph with radius at most r selects one such subgraph. Let G DCC be the virtual graph that has a node for each selected degree choosable subgraph, and two subgraphs in V (G DCC ) are connected in G DCC by an edge if they share a vertex or if they are connected by an edge in G. The graph G DCC has at most n nodes, maximum degree at most ∆ 2r+1 ≤ ∆ 3r , and one round of a distributed algorithm in it can be simulated in O(r) rounds in G. Runtime: O(r).
(2) (Build layer B 0 ) Find a (2, β)   Note that (besides potentially some other nodes) in particular all nodes that are in a degree choosable component with radius at most r are removed from the graph after phase (3).

II Shattering of the Remaining Graph
(4) (Random T -node creation) Consider the remaining graph H = G \ s i=0 B i . Each node of H becomes selected independently with probability p. Then, if there is another selected node within distance b, it becomes unselected. If not, it picks two random non-adjacent neigbors and colors them with color one. We call these neighbors marked. Runtime: O(1).
(5) (Remove layers C 0 , . . . , C 2r ) We call a node happy if it has an uncolored path to a T -node in its r-neighborhood. By this definition we assign each happy node to its closest T -node in its r-neighborhood.
We define the boundary of graph H as the set of nodes with degree less than ∆ in H. Nodes that are colored and have distance at most r steps away from the boundary now remove their color and each such node is assigned to its closest boundary node, breaking ties using identifiers. Now it might happen that a node v that is r ≤ ℓ < 2r steps away from the boundary was assigned to a node w in the first round of assigning and that w is at most r − 1 steps away from the boundary. Due to the uncoloring w might not be a T -node anymore. However, w is assigned to a node w ′ on the boundary. Then there is an uncolored path of length at most 2r from v to w ′ through w and we assign v to w ′ as well. Define layers C 0 , . . . , C 2r , where C i consists of nodes of H that are at distance i from their respective assigned node. The layer C 0 consists of T -nodes, and all nodes that have degree < ∆ in H. Remove the layers C 0 , . . . , C 2r and the marked nodes from the graph. In Section 4.4 we show that in the algorithm for small ∆, all nodes are removes after this phase with high probability. Hence this algorithm proceeds directly to Phase (7). (6) (Color Small Components) Consider the remaining graph L = H \(C 0 ∪. . .∪C 2r ∪C ′ ) where C ′ are the marked nodes. In Section 4.2 we show that the probability for a node of H to remain in L is small and then the standard shattering technique (cf., e.g., [BEPS16] or Lemma 24) implies that L consists of small connected components of size at most N := poly∆ · log ∆ n . Section 4.3 explains in detail how to color these small components. The core idea is that we can again handle the small components by crafting layers D 0 , . . . , D α where α = O(log 2 log n).
Besides some other nodes layer D 0 contains the nodes that have an uncolored neighbor in the layers C 0 ∪ C 1 ∪ . . . ∪ C 2r , i.e., they just did not get removed because the closest T -node was a little bit too far away. One can show that layer D  Runtime for small ∆: O(log log n( √ ∆ log ∆ · log * ∆)) with Theorem 18.

Shattering of the Remaining Graph (Phases (4)-(6))
In this section we show that the process of phase (4) and (5) produce a graph with remaining components of size O(poly(∆) · log n). In Section 4.3 we show how to color these small components fast. The nodes that are put into the layers in phase (5) are colored later in phase (7). For a node v let E v be the event that v is removed in the graph in phases (4)-(5). Let t be the radius such that the event E v only depends on the random bits of nodes in radius t of v. The standard shattering technique (cf. Lemma 24) shows that the connected components of non-removed nodes are small if the probability of E v is upper bounded by 1/poly(∆) where the polynomial depends on the radius t.
To show that the probability of E v is small enough we show that the BFS tree of uncolored nodes around v expands exponentially. Thus after O(1) steps of expansion we see uncolored paths to enough nodes that independently form a T -node with probability Θ(p) and the probability that none of them actually is a T−node will be at most 1/poly(∆) for a sufficiently small polynomial. Now, we upper bound the probability that a given node does not become happy after the shattering process. Due to Lemma 12 the BFS tree around a node expands deterministically even after the marking process which implies the next lemma.
Lemma 22. For every 0 < t ≤ r and after the selection and marking process the t-neighborhood of every node v contains a boundary node or a set of nodes S v with the following properties: (2) all nodes in S v are reachable through uncolored nodes from v , (3) for each u ∈ S v the probability that it is selected and creates a T -node that does not block the path to v is at least 1/3 · p(1 − p) ∆ 6 . The events are independent for distinct u ∈ S v , (4) For each u ∈ S v the event that it forms a T -node of the above type only depends on the random bits of nodes in radius t + 7 around v.
Proof of Lemma 22. For a fixed node and due to Lemma 12 the BFS tree around v restricted to unmarked nodes contains at least (∆ − 2) t/2 nodes on level t. Let A v be the set of these nodes. For each node u ∈ A v whose children in the BFS tree form a ∆ − 1 clique we remove u from A and add one of its children u ′ in the BFS tree to A v . As the child has the ∆ − 2 nodes of the clique on its own level and u as parent it has only one child in the BFS tree. Thus the children of u ′ in the BFS tree cannot form a ∆ − 1 clique. Furthermore u ′ is distinct from all other nodes in A v as the BFS tree is unique. Now, we greedily add nodes of A v to S v . When we add a node u ∈ A v to S v we remove the nodes from A v that are in the 6-neighborhood of u; these are at most ∆ 6 many. Thus the size of S v is at least |A v | · ∆ −6 = (∆ − 2) t/2 · ∆ −6 and nodes in S v have pairwise distance at least 7.
We now compute the probability that a node u ∈ S v is selected and creates a T -node that does not block the path to v. To ensure that the path to v is not blocked we (1) condition on the event that certain nodes in the BFS tree around v are not uncolored (through the usage of Lemma 12) and (2) we ensure that none of the two nodes that u colors is the single neighbor u ′ of u that lies on the unique path in the BFS tree to v. Node u is selected with probability p and stays selected if no neighbor in its 6-neighborhood is selected, i.e., at least with probability (1 − p) ∆ 6 . As u does not have a ∆ − 1 clique on the next level of the BFS tree there are at least two non adjacent neighbors u 1 and u 2 of u that are distinct from u ′ . So the probability that u does not mark u ′ is at least 1/3.
In this whole process we expanded for t steps to obtain the set A v . The set S v contains nodes in distance at most t + 1 from v and we use that nodes in distance 6 to nodes in S v are not selected, i.e., the probabilities only depend on the t + 7 radius of v. The event whether distinct nodes in S v can generate T−nodes are independent as they have pairwise distance at least 7.
For any node v Lemma 22 provides a large set of independent nodes that have uncolored paths to v. Thus we can upper bound the probability that a node remains after the shattering process.
Lemma 23 (Shattering Probability). Let ∆ ≥ 4. There is an r = O(1) such that every node finds an uncolored path of length at most r − 7 to a T -node with probability at least 1 − 1 ∆ 4r+4 using only the randomness in its t neighborhood. The constant r is independent from the graph.
Proof. Let v be a node in H. Apply Lemma 22 with t = r − 7 and obtain a set S v in which each node independently forms a T -node that is reachable from v through an uncolored path with probability 1/3 · p(1 − p) ∆ 6 . The probability that v remains after phase (5) is upper bounded by where ( * ) is satisfied if the exponent −12 −1 (∆ − 2) t/2 · ∆ −12 is smaller than −(4t + 32) · ln ∆ which holds for some t = O(1) and implies an r = O(1) that is independent from v and the graph.
The following lemma is the most important result of the standard shattering technique.
Lemma 24 (The Shattering Lemma, [FG17], cf. [BEPS16]). Let H = (V, E) be a graph with maximum degree ∆. Consider a process which generates a random subset B ⊆ V where P (v ∈ B) ≤ ∆ −c 1 , for some constant c 1 ≥ 1, and that the random variables 1(v ∈ B) depend only on the randomness of nodes within at most c 2 hops from v, for all v ∈ V , for some constant c 2 ≥ 1. Moreover, let Z = H[2c 2 + 1, 4c 2 + 2] be the graph which contains an edge between u and v iff their distance in H is between 2c 2 + 1 and 4c 2 + 2. Let L = H[B]. Then with probability at least 1 − n −c 3 , for any constant c 3 satisfying c 1 > c 3 + 4c 2 + 2, we have the following three properties: (P2) Each connected component of L has size at most O(log ∆ n · ∆ 2c 2 ∆ ).
(P3) L admits a (λ, O(log 1/λ n · log 2 log n)) network decomposition, for any integer λ ≥ 1, which can be computed by a randomized algorithm in O λ log 1/λ n · 2 O( Proof of Lemma 24. (P 1)-(P 3) are proven in [FG17]. The proof of (P 4) is along similar lines as the proof of (P 3) in [FG17] and we only provide a sketch here: First one computes a ruling set M with parameters 2c 2 + 1, Θ(log log n) on L R with the randomized algorithm Lemma 20,  . To obtain a network decomposition of L R we add each non ruling set node of B to the cluster of its closest ruling set node. This increases the diameter of each cluster by at most a factor Θ(log log n).
Remark 25. The computation of the single network decomposition in (P 3) (or in (P 4)) only uses randomness for the ruling set computation in the first step. In contrast to the deterministic network decomposition algorithm that is computed on each component separately and in parallel this randomized step is not performed on each component separately but on the whole graph. In particular its runtime and failure probability depend on n where n is the size of the original graph. The same holds for the network decompositions and ruling sets that are computed to color the small components (cf. Section 4.3).
Lemmas 23 and 24 imply that the graph L that remains after phase (5) consists of connected components of size at most poly∆ · log ∆ n. Section 4.3 explains in detail how these components can be ∆-colored while respecting the nodes colored with color one in phase (4).

Shattering: Coloring Small Remaining Components
We now explain how one can solve the small components that are left after the shattering process. Let C be a small component with size at most N := poly(∆) · log ∆ n. Call a node in C free if it has degree < ∆ or at least one neighbor outside of C that is not colored with the first color after the shattering process.We color the nodes of C with the following algorithm where R = 2 log ∆−2 N + 1 = O(log log n). The algorithm is explained from the view of a single component.
(1) Each free node selects itself. Further, each node that is contained in at least one DCC with radius at most R selects one of these subgraphs. Let C DCC be the virtual graph that has a node for each selected node and degree choosable subgraph. Any two subgraphs (or nodes) of C DCC are connected in C DCC if they share a vertex or are connected by an edge in G.
The maximum degree of C DCC is min{N, O(∆ O(R) )} and it has at most |C| = N nodes. One round of an algorithm on C DCC can be executed in O(R) steps in G.
(2) Find a (2, γ) ruling set M ′ of C DCC where γ = O(R) such that ∆(C DCC ) 2/γ ≤ ∆ 1/2 . (3) For i = 0, ..., γ · (R + 1) + R define layers D i where D i consists of the nodes that are at distance i to the closest node that is contained in a component in M ′ .

Runtime
(4) We color the layers in order i = γ · (R + 1) + R, . . . , 1; each layer is a deg +1 list coloring instance. There are R 2 + 2R layers and we obtain the following runtimes. Lemma 26. If D 0 is not empty each node of the component is in one of the layers.
Proof. The layers D 0 , . . . , D γ·(R+1) contain all free nodes, all nodes that are in a DCC with radius at most R and all nodes that have degree smaller ∆. The layers D 0 , . . . , D γ·(R+1)+R additionally contain the nodes that have such a DCC or such a node in distance at most R. To show that all nodes are removed we assume that there is a node v ∈ C that is in none of the layers. In particular it does not have a DCC or a free node in distance R, all nodes in its R-neighborhood have degree ∆ or ∆ − 1. As the R-neighborhood of v does not contain a free node it can only hit the boundary of C at colored nodes, i.e., its R-neighborhood can be obtained from the marking process as described in Section 2.2. Thus we can apply Lemma 12 and obtain that the BFS tree around v and within the component expands and contains at least (∆ − 2) R/2 > N nodes, a contradiction.
Lemma 27. D 0 is not empty.
Proof. Assume that D 0 is empty. Let v be an arbitrary node of C. Its R-neighborhood neither contains a DCC of radius at most R nor a free node and all its nodes have degree ∆ or ∆ − 1.
As the R-neighborhood of v does not contain a free node it can only hit the boundary of C at colored nodes, i.e., its R-neighborhood can be obtained from the marking process as described in Section 2.2. Thus we can apply Lemma 12 and obtain that the BFS tree around v and within the component expands and contains at least (∆ − 2) R/2 > N nodes, a contradiction.
The runtimes of the above algorithm provide the following lemma.
Proof. Lemmas 26 and 27 imply that each node is colored. The proof that coloring a single layer in phase (4) is a a deg +1 list coloring instance is along similar lines as in the proof of Theorem 4. The components and free nodes in D 0 can be colored independently because the stem from the independent set M ′ . In both variants the runtime is dominated by phase (4) step which implies the result.
Remark 29. The algorithm to solve the small components only uses randomization if it computes the network decomposition (Lemma 24 and Remark 25).

Global Success After Marking Process for Small ∆
We will assume that locally all nodes in the remainder graph H have degree ∆ = O(1), since nodes close to the boundary of H automatically become happy. Lemmas 12 and 14 imply that for ∆ = O(1) we can choose an r = Θ(log log n) such that for an arbitrarily large constant c, we have |B r (v)| ≥ c log ∆ n after the marking process.
Lemma 30. Let u be a node such that there is an unmarked, unselected path from u to v. Then u or its child u ′ becomes a T -node of v with a constant probability.
Note that the following analysis is done for b = 12. For ∆ ≥ 4 we could equally well use b = 6 to optimize the constants.
Proof Sketch. A node u can become a T -node to node v if it has two non-adjacent neighbors that are also not on the path from u to v. Assume first that this is the case.
The children of u form at least two distinct cliques (including single nodes). There are ∆ − 1 pairs that include the parent of u and at least ∆ − 2 pairs that do not. Therefore if u can become a T -node of v and if it is selected it becomes one with probability at least 1/3. Node u succeeds with probability at least p ′ = (p/3)(1 − p) ∆ 12 = Θ(1), since ∆ = O(1). Now if the children of u form a clique, u cannot become a T -node of v. Its children must have a successor in the BFS tree, and therefore can become a T -node for v. The events that u or a child of u succeed are not independent but are disjoint, so the claim holds.
Note that the event in Lemma 30 depends on randomness at distance at most 13.
Lemma 31. The marking process generates a T -node for every node of the remainder graph H with high probability.
Proof. Consider an arbitrary node v ∈ V (H). By Lemmas 12 and 14, for any c > 0 we can choose r = O(log log n) such that at distance t from the root of any BFS tree, there are at least c/p ′ ∆ 13 ln n nodes such that their path to u is unmarked and unselected. From this set find a set S of nodes as in Lemma 30, of size c/p ′ ln n such that they are at pairwise distance of at least 13 and can each produce a T -node for v with probability p ′ .
The events that each u ∈ S become a T -node of v are independent due to the pairwise distance of the ndoes. Therefore no node of S becomes a T -node of v with probability at most (1 − p ′ ) c/p ′ ln n ≤ e −c ln n ≤ n −c .
With a union bound over all nodes, all nodes of H are happy with probability at least 1−1/n c−1 .