Beyond Brooks: -Coloring in Semi-Streaming
Abstract
Reed [J. Comb. Theory B, 1999] showed that graphs of maximum degree without -cliques are -colorable. We design a one-pass semi-streaming algorithm for computing such a coloring. Additionally, we prove that any one-pass -coloring algorithm for requires space.
Keywords and phrases:
Graph coloring, streaming algorithmCategory:
Track A: Algorithms, Complexity and GamesFunding:
Maxime Flin: Supported in part by the Research Council of Finland, Grants 359104 and 363558. Part of this work was done while M. Flin was working at Reykjavik University, funded by the Icelandic Research Fund, Grant 2310015-053.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Streaming, sublinear and near linear time algorithmsEditors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele PuppisSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Graph coloring is a central problem in combinatorics and theoretical computer science. Given a graph and an integer , a -coloring assigns a color from to each vertex so that adjacent vertices receive different colors. Coloring has been extensively studied in diverse computational models, including the classical RAM [45, 41], distributed message-passing [43, 10, 36, 19], sublinear models [3, 18, 22, 7], dynamic algorithms [13, 37, 14, 11], communication complexity [31, 20], and streaming models [3, 1, 12, 2, 17, 4, 7]. In semi-streaming, the algorithm must produce a coloring after processing the edges of an -vertex graph one at a time in an adversarial order while using space.
In this work, we study the streaming complexity of coloring with fewer than colors, where is the maximum degree. We give the first one-pass semi-streaming algorithm that outputs a -coloring for graphs with large enough degree and no -clique.
Coloring With or Colors.
The classic -coloring problem is easy sequentially because one can always extend a partial solution to a full solution. Notwithstanding, the greedy approach does not work in semi-streaming; thus to -color in semi-streaming, Assadi, Chen, and Khanna [3] had to invent the influential palette sparsification technique: if one samples colors from independently for each vertex, then with high probability, all vertices can be colored with a color from their list. It has been further leveraged in sublinear algorithms [1, 4, 7], distributed algorithms [34, 27], dynamic algorithms [11], and discrete mathematics [39, 40, 23].
By a theorem of Brooks [16], colors always suffice except for -cliques or odd cycles. Assadi, Kumar, and Mittal [4] gave a semi-streaming algorithm for -coloring, in spite of the fact that palette sparsification provably fails [3, Proposition C.2] and such an algorithm only exists when each edge appears at most once in the stream [4]. To that end, they introduced the novel sketching technique of sparse recovery.
In the scale of things, -coloring is conceptually easy. It has spawned a great many solutions, starting with [46, 44], including newer linear-time algorithms [8, 52]; see comprehensive treatments in [21] and the book of [53]. Modulo a single vertex, it can be greedily colored, as there is an order under which it suffices to assign each node an arbitrary available color. The -coloring problem does not have such a greedy or near-greedy property.
Beyond Brooks: -Coloring.
In [51], Reed showed that Brooks barely scratched the surface: in fact, as the size of the largest clique decreases, so does the chromatic number. Borodin and Kostochka [15] conjectured that every graph of maximum degree without a -clique is -colorable. Reed [50] proved the conjecture for . The conjecture is otherwise open, but holds for claw-free graphs [21]. Despite significant advances in - and even -coloring, going further in the semi-streaming model has remained elusive.
Unsurprisingly, Reed’s result is an order of magnitude more involved than the many simple proofs of Brooks’ theorem. Reed’s approach – based on technical structural observations and the probabilistic method – is highly non-trivial and remains (effectively) the only one known. As such, Reed’s theorem is not merely a quantitative improvement but an exhibit for the existence of a conceptual leap between -coloring and -coloring. Indeed, unlike proofs of Brooks’ Theorem (including that of [4]), Reed’s argument is far from being greedy: it begins by transforming the graph – specifically, by adding edges. Given the already strenuous effort necessary to obtain a -coloring and -coloring in semi-streaming and the technical depth of Reed’s theorem, it is natural to ask if -coloring is the best we can hope for in semi-streaming:
Does there exist a (one-pass) semi-streaming algorithm to color with fewer than colors any given graph of maximum degree (large enough) and no -cliques?
Even if such an algorithm exists, the concern is that removing one more color may require an explosion of cases, considering, e.g., the much larger number of cases in the -coloring algorithms [4, 26] than for -coloring [3, 35].
1.1 Our Contributions
The main technical contribution of this paper is a semi-streaming algorithm for -coloring graphs of sufficiently high degree. Concretely, we prove the following.
Theorem 1.
There exists a universal constant for which the following holds. There exists a randomized one-pass semi-streaming algorithm that given any graph with maximum degree and containing no -clique, outputs a -coloring of with high probability.
During the streaming pass, akin to [4], our algorithm samples -sized random lists and stores only the edges of the sparsified graph, meanwhile using their sparse recovery technique to learn about the densest regions of the graph. The coloring algorithm differs substantially: we begin by transforming the graph – both removing extremely dense subgraphs and carefully adding edges – and then leverage various kinds of probabilistic coloring arguments to construct a coloring.
Clearly, the impossibility results highlighted in [4] also apply to us. We therefore assume that each edge appears at most once in the stream. It is also worth noting that randomness is essential, as Assadi, Chen, and Sun [2] demonstrated that any deterministic semi-streaming algorithm requires colors.
As a final remark on Theorem 1, we observe that is in fact the smallest universal constant for which graphs of maximum degree and no -clique admit a -coloring. Reed proved in [50] that . For graphs of maximum degree , all edges in the graph can be stored, and an optimal coloring can be computed (although, not in polynomial time). We have not tried to reduce this constant; in [50, Section 5], Reed claims that also works with more care, while would need different techniques.
Using Fewer Colors.
A natural follow-up question from Theorem 1 is to what extent this can be pushed further. Molloy and Reed [48] gave a characterization of -colorable graphs in terms of forbidden local subgraphs, for all . This generalizes Reed’s result and suggests an alternative approach. However, their structural decomposition is delicate and obtained through phases of contracting vertices and computing optimal partitions. We prove that, in fact, computing a -coloring requires space, prohibiting semi-streaming algorithms for -coloring unless is polylogarithmic.
Theorem 2.
Let be non-negative integers such that . Any (possibly randomized) one-pass streaming algorithm that outputs a -coloring of given -colorable -vertex graph of maximum degree requires space.
Very recently, Assadi, Sundaresan, and Yazdanyar [5] studied the problem of distinguishing graphs of low chromatic number (e.g., constant) from those with a large chromatic number (e.g., ). They proved, amongst other things, that it requires space in adversarial streams. Theorem 2 is orthogonal to (and much simpler than) their results since it considers graphs whose chromatic number is one less than their clique number.
1.2 Organization of the Paper
In Section 2, we give an overview of the challenges and technical ideas necessary to obtain Theorem 1. At the end of Section 2, we also provide a more detailed comparison with [4, 29]. In Section 4, we detail the information stored during the streaming pass and describe the coloring algorithm in Section 5. Theorem 2 is presented in Section 6.
2 Technical Introduction
We give an overview of the ideas behind Theorem 1. First, we present the three components for constructing -colorings, followed by a description of the high-level algorithm that combines them. We then explain how to implement these components in semi-streaming. For a complete step-by-step description, see Section 5. In this introduction, various concepts are simplified to aid intuition.
Pre-/Post-Processing.
We start by identifying subgraphs in the graph that are easily colorable regardless of the coloring in the rest of the graph. During pre-processing, we remove those subgraphs and only color them at the very end during post-processing.
For instance, consider the -clique missing two disjoint edges, as illustrated in Figure 1(a). In any -coloring of such a subgraph, both endpoints of each anti-edge must be assigned the same color. Once these pairs of vertices are colored the same, the remaining vertices can be colored greedily. In general, the subgraphs shown in Figure 1 are such that any coloring of the outer vertices can be extended to a coloring of the inner vertices as well (they are, in fact, -choosable). This property allows us to defer their coloring to the very end of the algorithm.
To detect these subgraphs, during pre-processing, we decompose the graph into (locally) sparse vertices – which have many missing edges in their neighborhood – and almost-cliques – sets of vertices that can be turned into -cliques by modifying an -fraction of their edges and vertices. We look for those choosable subgraphs only in the densest almost-cliques, as the other vertices can be colored by other means. We then distinguish two main types of choosable components: the solitary ones are inscribed inside an almost-clique (as on Figures 1(a) and 1(b)), and the popular ones for which the choosable component contains some vertices outside the almost-clique (as on Figure 1(c)).
For the remainder of this technical introduction, we focus on the case of -regular nodes in disjoint -cliques, as this already captures the main challenges and intuition for -coloring.
Generating Slack Probabilistically.
Rather than directly attempting to color all vertices, many coloring algorithms begin by coloring a few vertices randomly. The hope is that uncolored vertices have neighbors that pick the same color, which increases the flexibility when completing the coloring.
Consider the following random coloring process. Each vertex flips a coin and, if it is heads, randomly picks a color. A vertex keeps its color only if no neighbor selects the same one. If is a vertex in a -clique such as the one in Figure 2(a), basic probabilistic analysis shows that has a constant probability of saving two colors – meaning that remains inactive, and both of its external neighbors retain colors used elsewhere in the clique. We say that was successful.
For a -clique with all (or most) of its external neighbors distinct, one can show that with high probability it contains two successful vertices. Then, we can defer the coloring of successful vertices and color the rest of the clique greedily. This technique generalizes to any almost-clique without an external node connected to most of its internal vertices.
Reed Transform.
The most difficult case occurs when a -clique has an external vertex – called a friend – with numerous neighbors in , yet lacks any structure that yields probabilistic slack or choosability. To illustrate the challenge, consider the situation where the vertices are adjacent to either or , but not both. If the probabilistic coloring procedure colors and the same (an event with probability ), then the coloring cannot be extended to the rest of (see Figure 2(b)). It is crucial to note that recoloring vertices might convert successful vertices into unsuccessful ones, rendering the approach infeasible.
To handle such cliques, we apply the Reed Transform, based on a construction from [50]. Identify a specific substructure in (vertices as in Figure 2(c)), delete from the graph, and add a single edge (in dashed gray in Figure 2(c)). Once the rest of the graph is colored – forcing and to have distinct colors – we reinsert and color by coloring as and as some anti-neighbor . Naturally, and must be chosen carefully to avoid creating a -clique when we connect them.
The Coloring Algorithm.
With this, we now describe the high-level structure of our -coloring algorithm. Despite our intricate analysis, each step is conceptually simple:
-
1.
Identify and remove choosable components (solitary and popular as in Figure 1);
-
2.
Apply the Reed Transform to troublesome -cliques;
-
3.
Use probabilistic slack to color the remaining graph greedily;
-
4.
Invert the Reed transform to color the removed cliques;
-
5.
Complete the coloring of the choosable components.
Note how the steps pair with each other and correspond to one of the aforementioned three ideas. For the remainder of this technical introduction, we outline how each step can be implemented in semi-streaming, discuss the challenges, and present our solutions.
Streaming Implementation.
We focus here on the implementation of our coloring algorithm after the streaming pass is done, for the streaming algorithm itself largely follows from [3, 4]: running palette sparsification and computing linear sketches. See Section 4.4 for a summary of the information recovered by the algorithm after the streaming pass.
First, we observe that we may focus on the densest almost-cliques, for the other ones can be colored by palette sparsification. Using the sparse-recovery technique of [4], we recover almost all the edges incident to the densest almost-cliques. In particular, it allows us to identify the choosable subgraphs and the -cliques that need to be removed by the Reed Transform. Implementing the Reed Transform requires that we avoid the creation of a -clique and that we preserve invertibility for later steps. We must also ensure that we do not densify sparse neighborhoods, as this could inadvertently create the dense subgraphs we sought to isolate in Step (1). Remarkably, simple downsampling suffices: it limits the number of edges added per vertex while preserving enough flexibility to avoid creating a -clique.
We avoid monochromatic edges by keeping a serene coloring: a coloring for which each node uses a color from its random list unless all its incident edges have been recovered, in which case it may choose its color freely. We frequently combine palette sparsification with sparse-recovery. For instance, when coloring popular almost-cliques, some nodes are colored using their random lists, while others are colored greedily, as in the classical setting. Overall, our algorithm makes significantly more use of the edges recovered by sparse recovery than [4]. Though subtle, this difference proves consequential: it frees us to focus more deeply on the graph’s structural properties.
The second major challenge is a technical one: proving concentration on the probabilistic guarantees of the randomized coloring procedure described earlier. Indeed, to invert the Reed Transform, we require that each friend has at least edges into the clique. Consequently, we can no longer guarantee that most external neighbors are distinct. At a high level, this undermines the apparent randomness of colors sampled outside the almost-clique – they may originate from too few vertices to provide sufficient diversity. Unfortunately, standard concentration inequalities fall short in capturing this behavior. Instead, we rely on a case analysis that combines multiple forms of slack-based concentration, sometimes even blending probabilistic and temporal slack to recover the guarantees we need.
Comparison with [4].
In [4], the authors design a semi-streaming algorithm for -coloring and, in particular, introduces the sparse-recovery technique used by our algorithm. In contrast, while [4] would use it to recover edges incident on at most two vertices for each of the densest cliques (see Definitions 4.6 and 4.7 of [4]), we heavily use that we can recover all edges incident on the densest cliques, most notably for implementing and inverting the Reed Transform.
Coloring with fewer than -colors.
Molloy and Reed [48] generalized Reed’s result to -colorable graphs, for all values of up to roughly . As shown in [9, 29], this can be obtained in the LOCAL model [43, 38] in a near-optimal round complexity of . The lower bound of Theorem 2 proves that -coloring is not attainable in semi-streaming unless .
Our work leaves open the question of -coloring in the streaming model for , specifically whether it can be achieved in space. Conceptually, as increases, the number of cases involving dense cliques grows rapidly, as it no longer suffices to track two anti-edges per dense clique.
To avoid this combinatorial explosion, the main alternative is to follow the approach of [48], which provides a systematic treatment for arbitrary via a generalization of the Reed transform. This framework starts from a coarse structural decomposition (akin to the almost-clique decomposition) and progressively refines it through increasingly intricate local transformations. These transformations appear to require the full knowledge of the local topology as they rely, among other things, on the optimal coloring of dense induced subgraphs. While it is conceivable that, using the sparse recovery technique with -sparse vectors (thus, space), one could recover most of the edges necessary to implement this intricate transformation, the feasibility of this approach remains open.
3 Preliminaries
Notation.
For an integer , we use to denote . For sets and , we write . For succinctness, we abuse notation slightly and write and for and respectively. For a function , let and where and respectively. We abuse notation slightly and occasionally write instead of when .
Let be a simple graph. We denote by and its respective number of vertices and edges. For a set , the induced subgraph is the graph on vertex set and all edges of between pairs of vertices in . The neighborhood of is and . The closed neighborhood of is . When is clear from context, we write and . The maximum degree of is denoted by . We refer to a pair as a non-edge or an anti-edge when no edge connects and . A -anti-matching is a set of anti-edges such that each vertex belongs to at most one anti-edge. A -independent set is a set of vertices that are not connected by any edge.
For an integer , a partial -coloring is a mapping such that or for all . The set of colored vertices is the domain . Given a partial coloring , the uncolored degree of is . Throughout the paper, we denote by the set of colors unused by neighbors of with respect to a (possibly partial) coloring . We say that a coloring is an extension of if for all .
We say that an event occurs with high probability (in ) if it occurs with probability at least , for a desirably large constant . An event occurs with exponentially high probability in if it occurs with probability at least . We abridge “with probability”, “with high probability” and “with exponentially high probability” as “w.p.”, “w.h.p.” and “w.e.h.p.” respectively.
3.1 Sparse-Dense Decomposition
We use the variant of the sparse-dense decomposition from [36, 3, 6, 4] (inspired by [51, 47]). It partitions vertices between (locally) sparse vertices – with many anti-edges in their neighborhood – and dense vertices clustered in almost-cliques – subgraphs that resemble a -clique.
Definition 3.
A vertex is -sparse in if contains at most edges.
Definition 4.
A set is an -almost-clique if
-
1.
,
-
2.
for all , and
-
3.
every has .
We stress that (3) is not always included as part of the definition of almost-clique (e.g., in [36, 3]). It is however essential for us that nodes outside an almost-clique have non-neighbor inside the almost-clique (we will always have ).
Let be a vertex in some almost-clique . We call external neighbors its neighbors outside . The vertices of that are not adjacent to are its anti-neighbors ; let be the anti-degree of . Part (2) in Definition 4 means that .
Definition 5.
For , an -almost-clique decomposition of is a vertex-partition such that
-
1.
every is -sparse;
-
2.
for every , the set is an -almost-clique.
Vertices of are called sparse, and those of are called dense. It follows almost directly from the definitions that dense vertices have sparsity proportional to their anti-degree and external-degree. For a proof, we refer readers to [33, Lemma 6.2] for the bound in terms of anti-degrees and to [28, Lemma 3.6] for the bound in terms of external degrees111In contrast to our definition, which includes sparse vertices as external neighbors, in [33], the authors count as external neighbors only vertices from other almost-cliques. The original proof of Lemma 6 is in a technical report [35]..
Lemma 6.
If is an -almost-clique decomposition, then every with is -sparse.
A semi-streaming algorithm for computing an almost-clique decomposition exists, as given by [4, Proposition 3.5].
Proposition 7.
There are universal constants such that the following holds. For any , there is a streaming algorithm using space that computes an -almost-clique decomposition.
3.2 Palette Sparsification
Our streaming algorithm uses the palette sparsification technique from [3] to color some almost-cliques. Assadi, Chen and Khanna view the coloring of an almost-clique as a perfect matching in a bipartite graph, where one side of the bipartition represents vertices and the other side the colors. An edge exists between a vertex and a color in this graph if the color is available to the vertex with respect to the current coloring. When we apply palette sparsification, each edge is retained in the graph independently with some probability, and they prove that, under the right assumptions, it is possible to match all vertices with high probability.
We use the following formulation of the statement, from [4, Lemma 3.10], in a black-box manner. We refer readers to [3, Section 3.5] for a detailed proof. We say that a matching is an -perfect matching iff it matches all vertices of .
Lemma 8.
Let be a bipartite graph with the following properties:
-
1.
and ;
-
2.
every vertex has ; and
-
3.
for every set with we have that .
For any , the subgraph obtained by sampling each edge in independently with probability at least contains an -perfect matching with probability at least .
As observed by [4], every almost-clique such that contains at least anti-edges (they call them holey) can be colored using palette sparsification. Note that the extension exists with high probability regardless of the coloring outside .
Lemma 9.
Let be an almost-clique inducing at least anti-edges and let be a list of random colors in for each . For any partial -coloring outside (i.e., ), there exists, w.h.p., an extension of the coloring to such that for every .
3.3 Concentration
We use the classic Chernoff Bound on sums of independent random variables:
Proposition 10 (Chernoff bounds, [24, Theorem 1.10.1 and 1.10.5]).
Let be a family of independent random variables with values in , and let . Suppose , then
| (1) | |||||
| (2) |
Let be boolean random variables (with values in ). We say they form a read- family if they can be expressed as a function of independent random variables such that each influences at most variables . More formally, there are sets for each such that: (1) for each , the variable is a function of and (2) for each .
Proposition 11 (read- bound, [32]).
Let be a read- family of boolean variables, and let be their sum. Then, for any ,
4 The Streaming Algorithm
In this section, we describe the information we collect during the streaming pass. This amounts to the almost-clique decomposition (Proposition 7), the sparsified graph (Section 4.1) and some linear sketches to recover edges in the densest regions of the graph (Section 4.3). Overall, we use space with high probability. In Section 4.2, we introduce structural definitions essential to our coloring algorithm.
Parameters.
Let us define some parameters:
| a conveniently large constant, | ||||
| the parameter of the almost-clique decomposition in Proposition 7 | ||||
| the sparsity threshold above which palette sparsification works, |
where the constant is large enough to have . We use the dependency on of in Section 5.4 to ensure that all dense vertices have two same-colored neighbors. At a high-level, the parameter is chosen so that we can color nodes with greater sparsity using palette sparsification, and those with less sparsity using information recovered from vectors with non-zero values. By choosing , the algorithm uses space while the probabilistic guarantees from slack generation and palette sparsification hold with high probability.
Assumption on .
We assume is known in advance and that so that and are at most . When is not known in advance, we run the algorithm times in parallel with set to each power of two. After the streaming pass, we know and we thus use the information from the streaming pass corresponding to the largest power of two smaller than . When , we can afford to store all edges of the graph and use that, by [50], a -coloring exists for , for some large enough universal constant .
4.1 Palette Sampling
To avoid storing all edges, our algorithm uses palette sparsification to color some of the vertices. Similarly to [3, 4], we partition the list of colors sampled by into multiple independent random lists. This is done to simplify the analysis by removing dependencies between the successive coloring steps. The exact sampling process for each of the is therefore chosen to be convenient in the analysis of Section 5, where the index corresponds to the step at which the coloring algorithm uses . For each vertex , let
-
: sample one color in uniformly at random,
-
: each color of is sampled w.p. ,
-
: each color of is sampled independently w.p. ,
-
: each color of is sampled independently w.p. ,
-
: each color of is sampled independently w.p. .
and is the union of those lists. The random lists of colors are sampled before the beginning of the streaming pass.
During the streaming pass, we store all the edges of the sparsified graph.
Definition 12.
For a graph and random lists , the sparsified graph is the subgraph of with vertex set and all edges such that is not empty.
The following lemma is direct by applications of the Chernoff Bound. We refer readers to [3, Lemma 4.1] for details. In particular, it shows that w.h.p. the sparsified graph requires only space to store.
Lemma 13.
W.h.p., each contains at most colors and the sparsified graph contains at most edges.
4.2 Structural Decomposition
First, partition almost-cliques based on their size.
Definition 14.
We say the almost-clique is large if , small if and critical otherwise.
Our algorithm focuses almost entirely on coloring critical almost-cliques. The large will be easy to color because they always contain some anti-edges. This motivates the following definition.
Definition 15.
The core of is a such that is a clique of maximal size. We say is solitary iff the core of has size at most .
If the largest clique of is not unique, we pick an arbitrary one as the core of . When is not solitary, the core is uniquely defined unless contains exactly one anti-edge. We call core-critical the vertices in the core of a critical almost-clique. When we have an almost-clique decomposition , we write for the core of for all . Since does not contain a -clique, a large almost-clique is solitary. What makes the solitary almost-cliques easy to color is the following fact.
Fact 15.
is solitary iff contains a 2-anti-matching or a 3-independent set.
Solitary almost-cliques are such that any coloring of can be extended to (see Figures 1(a) and 1(b)). The second criteria that determines how we color almost-cliques relates to how they are connected to the vertices outside (see Figure 1(c) for an example of a popular clique and Figures 2(b) and 2(c) for examples of friendly cliques, where , and are friends).
Definition 16.
Let be a non-solitary almost-clique with core , and . We say is a -friend of if it has at least neighbors in and at least one non-neighbor in .
If has two -friend and with a shared neighbor in and there exists such that and are not edges, we say that is -popular.
If has at least one -friend but is not -popular, we say that is -friendly.
4.3 Sparse Recovery
To color the densest regions of the graph, it is necessary to recover some of their structure. For a solitary , the information contained in the solitary helper structure allows us to extend any coloring of to .
Definition 17.
Let be a solitary almost-clique. A solitary helper structure for is one of the two following types of tuple:
-
such that is a 2-anti-matching of ; or
-
such that is a 3-independent set in .
We do not define other types of helper structure, for we can implicitly recover all the edges incident to the remaining dense vertices. Formally, we recover the following:
Lemma 18.
W.h.p., sparse-recovery uses memory and after the streaming pass, we recover
-
the sets and for every vertex with , and
-
a solitary helper structure for every non-small solitary almost-clique.
We say that “we know ” if we can iterate over the neighbors in time and space after the streaming pass. So, we know and where and are vertices from the solitary helper structure described in Definition 17. Lemma 18 implies that, w.h.p., we also know for every dense vertex such that . Indeed, to iterate over the neighbors of , it suffices to iterate over and then , which is possible since , and are stored in memory. We remark that we only store implicitly, and hence the space usage remains .
Since the sparse recovery is almost verbatim that of [4, Section 4.4], we skip details here and refer readers to [30, Appendix A]. Observe how using Lemma 18 allows us to recover all relevant information for non-small and popular almost-cliques.
Corollary 19.
Let with core be critical and not solitary. From sparse-recovery, we recover and for all vertices .
4.4 Summary of the Information Collected by the Algorithm
Before moving on with the analysis of our coloring algorithm, we recapitulate all the information gathered during the streaming pass. With high probability, at the end of the stream, we have the following information available:
-
the random lists of colors as described in Section 4.1,
-
all the edges of the sparsified graph defined in Definition 12,
-
a vertex partition as in Definition 5 (by Proposition 7),
-
the sets and for all with (by Lemma 18),
-
a solitary-helper structure for every non-small solitary almost-clique (by Lemma 18),
-
the core of every critical and not solitary almost-clique (by Corollary 19),
-
the sets of critical -popular and -friendly almost-cliques for all .
It is an easy observation that the set of -popular critical almost-cliques can be inferred, such cliques are not solitary and all the edges incident to their core are known.
5 The Coloring Algorithm
In this section, we explain how to color the graph after the streaming pass. We have two means to ensure that we do not create monochromatic edges when we color vertices. Either they use a color from their random list , and we can check for conflicts by looking at the edges of the sparsified graph (Definition 12). Or we color a vertex with a color that is not from its random list , in which case we must be able to iterate over all its neighbors. To emphasize that aspect, we define the notion of serene coloring and maintain that our coloring is one.
Definition 20.
We say that a (possibly partial) coloring is serene if for all vertices with , either or we know after the streaming pass.
Detailed Overview.
Let us explain the steps of our coloring algorithm.
-
Step 1: Reed Transform. First, we remove all non-small solitary and non-small -popular almost-cliques from and obtain the graph . Then, we remove all -friendly almost-cliques with a -clique, possibly adding some extra edges to the graph. The resulting graph is called and has the same almost-clique decomposition (apart from those that got removed), but contains no large, critical solitary, or critical -popular almost-clique, and the almost-cliques with a core of size are not -friendly.
-
Step 2: Slack Generation. Every vertex in gets activated with constant probability and samples a uniform color in . If that color was sampled by no neighbor, we color the vertex with it.
-
Step 3: Coloring Critical Almost-Cliques of . Recall that all edges incident to the core of critical almost-cliques are known. Hence, we color those vertices serenely without using palette sparsification. We argue that after slack generation, all critical almost-cliques have two vertices whose coloring can be delayed, because (1) they have two pairs of same-colored neighbors, or (2) they have one pair of same-colored neighbor and an uncolored neighbor whose coloring can be deferred even further. Because the coloring of some vertices must be delayed, we actually color critical almost-cliques in two steps.
-
Step 4: Coloring Sparse Vertices & Small Almost-Cliques. After Step 3, all critical almost-cliques have been colored. Observe that in Step 1, we removed all large almost-cliques from , because they are solitary. So it remains to color the small almost-cliques and the sparse vertices. The sparse vertices are colored as in [3]. Each dense vertex from this set gets pairs of same-colored neighbors from slack generation. As such, they can be colored using palette sparsification.
-
Step 5: Inverse Reed Transform. Steps 3 and 4 colored all vertices of . From a proper coloring of , we construct a coloring of . Step 5 focuses on inverting the Reed Transform, during which we removed -friendly almost-cliques with a -core from the graph, and possibly added some edge. By same-coloring two pairs of vertices manually, we can extend the coloring to all such almost-cliques. Note that, from then on, we may recolor vertices. In particular, the pairs of same-colored neighbors produced by slack generation are no longer guaranteed to exist.
-
Step 6: Coloring Non-Small Popular & Non-Small Solitary. We complete the coloring by handling the solitary and friendly almost-cliques removed during the phase 1 of the Reed Transform. Structurally, those almost-cliques have pairs of vertices that, if same-colored, allow us to extend the coloring greedily (recall Figure 1). Thanks to sparse recovery, we can identify those pairs and same-color them with colors from their random lists. Then, they can be colored using either a greedy algorithm or palette sparsification.
| Solitary | Popular | Friendly with a Core | Others | |
| Small | Step 4 | Step 4 | ||
| Large | Step 6 | |||
| Critical | Step 6 | Step 6 | Step 5 | Step 3 |
5.1 Step 1: Preprocessing and the Reed Transform
This first step removes from the graph all vertices that cannot be colored with slack generation. To ensure that the almost-cliques removed from the graph can be colored later, we may add some edges. The resulting graph is called .
Concretely, we construct the graph in two phases. First, a preprocessing phase computes the graph by removing from all almost-cliques that are either large, critical solitary, or critical -popular. This step is obvious from the information gathered during the streaming pass (Section 4.4) and needs not further discussion. Then, the Reed Transform computes the graph by removing from all -friendly almost-cliques that contain a -clique and adding selected edges. We choose the edges to add to in Algorithm 1.
Input: a graph with no large, critical solitary, or critical -popular almost-cliques.
Output: a graph such that: a) almost-cliques with are not -friendly and b) solitary and -popular almost-cliques are small.
For each -friendly almost-cliques with a -core (i.e., ), do:
-
i)
Let be a -friend of ; if , take inside .
-
ii)
Let be the set of neighbors of in .
-
iii)
For each , let denote the external neighbor of that is not , if any.
-
iv)
Sample each vertex into the set independently w.p. .
Let . -
v)
If all nodes of are of degree and is an independent set then
-
(a)
Sample each vertex of into a set w.p. .
-
(b)
Let be any pair of nodes in such that and are distinct, and not members of the same critical almost-clique.
-
(c)
Add the pair to the set and add into the set .
-
(a)
Return the graph where and .
Remark 21.
Some important observations about Algorithm 1 before we analyze it:
-
the random set is introduced in Algorithm 1 to break-symmetry and simplify the inversion of the Reed Transform; it ensures that an - or -vertex is not selected as a - or -vertex for some other almost-clique and vice versa;
-
the algorithm can be implemented after the streaming pass because the decomposition is known (Proposition 7) and the core as well as all edges incident to core vertices of non-small almost-cliques are known (Corollary 19).
Lemma 22.
Assume that and . Let be a graph with an -almost-clique decomposition , that has no large, critical solitary, or critical -popular almost-cliques. W.h.p., the graph produced by Algorithm 1 with the same vertex-partition restricted to is such that:
-
(RT.1)
it is an -almost-clique decomposition;
-
(RT.2)
all solitary or -popular almost-cliques in are small;
-
(RT.3)
no almost-clique in with a -core is -friendly; and
-
(RT.4)
has maximum degree and does not contain a -clique.
Proof.
We first verify that each of degree has exactly one external neighbor different from . Indeed, is in the -clique , thus has core neighbors. Since is of degree , it has one additional neighbor besides , which must be external because is the only vertex of (when ).
Fact 22.
Every with degree has exactly one external neighbor other than .
We need that a constant fraction of belong to , i.e., are in while their external neighbor is not. We show that this is a high probability event.
Claim 23.
W.h.p. over the randomness of , we have .
Proof of claim.
For , let be the indicator random variable of the event that and . We have and by the linearity of expectation their sum has expectation . The activation of affects only and the activation of a vertex in affects at most other vertices in , for would otherwise be -popular. So we may use the read- bound (Proposition 11) with and to show concentration as
where we use that .
Henceforth, fix such that Claim 23 holds and let .
In Item va, vertices are downsampled to ensure that the algorithm does not add an excessive number of edges to any single vertex.
Claim 24.
After Item va, over the randomness , we have that
-
i)
For each , we have that w.p. .
-
ii)
For each node , we have that w.p. .
-
iii)
For each , we have that w.p. .
Proof of claim.
Consider an almost-clique . Observe that is the sum of independent binary variables over the nodes in , each with probability . By linearity of expectation, , using Claim 23 and that . By Chernoff, , w.p. , establishing .
Consider an arbitrary vertex of the graph. Each neighbor , independently joins w.p. . Hence, by linearity of expectation, we have . By Chernoff, we get that is at most w.p. , establishing .
Each vertex of has at most two external neighbors, so . Each vertex of joins independently with probability at most so . By Chernoff, at most vertices of join w.p. . It implies because each external neighbor in maps to at most one vertex of through , i.e., .
We deduce that the algorithm is well-defined.
Claim 25.
W.h.p., for each , there is a pair as required in Item vb of Algorithm 1.
Proof of claim.
Let be any node in . If is in a critical almost-clique , then includes at most one other vertex because is an independent set and is not small, hence not solitary. Both and (if it exists) have at most neighbors in , for otherwise would be -popular. From Claim 24-, we have that , w.h.p. Thus, if we exclude from consideration the nodes in that map by to either or , we are left with suitable candidates (using that ). Any of these can be chosen as , thereby establishing the claim.
It is now easy to verify that RT.1 to RT.3 of Lemma 22 hold. It is immediate from Claim 24- that at most edges are added into that are incident on any given vertex. So, a vertex gains at most new neighbors and each of its previous neighbors gains at most incident edges (by Claim 24-. So the sparsity of decreases by at most , staying above . Similarly, we add few enough edges to ensure that Item 3 of Definition 5 continues to hold, up to a constant factor.
Using the properties of the almost-clique decomposition RT.1, we deduce that contains no -clique.
Claim 26.
The graph has maximum degree and contains no -clique.
Proof of claim.
The maximum degree remains at most , for each edge added incident to , another edge incident to is removed. So we focus on proving that contains no -clique.
A -clique in must be within an almost-clique, since its nodes must be dense, and it can’t involve nodes from different almost-cliques (by Definition 4 (2)). But the almost-clique decomposition did not change RT.1 and no edges were added inside critical almost-cliques (by Item vb), so the -clique would have to have been contained in , a contradiction. This concludes the proof of Lemma 22.
5.2 Step 2: Slack Generation
Formally, when we color some graph, the slack of a vertex is the difference between the number of colors it has available and its number of (uncolored) neighbors. For -coloring, vertices start with slack and each time we same-color a pair of neighbors, we increase the slack by one. We use a well-known technique for generating pairs of same-colored neighbors: let vertices pick random colors. The algorithm is as follows; recall that we run it on the graph obtained from Step 1.
Input: a graph
Output: a proper partial -coloring
-
i)
vertices join w.p. .
-
ii)
vertices222For consistency, set for every .of sample uniformly at random in .
-
iii)
if , then set to and otherwise let uncolored, i.e., .
To implement Algorithm 2 after the streaming pass, each vertex uses the one color from as the random color . It therefore suffices to look at the edges of the sparsified graph to know if a vertex retains its color.
The activation probability ensures that not too many vertices get colored by slack generation.
Fact 26.
After Algorithm 2, w.h.p., every contains at most colored vertices.
We use three flavors of slack generations. First, we have the well-known result (see, e.g., [47, 25, 33]) that -sparse vertices (cf. Definition 3) receive slack w.e.h.p. in . This explains why sparse vertices and small almost-cliques can be colored easily.
Proposition 27 ([33, Lemma 6.1]).
There exists a universal constant for which the following holds. Suppose is a graph of maximal degree . If is the coloring produced by Algorithm 2, then a -sparse vertex with has that
with probability at least .
In very dense critical almost-cliques, the sparsity of individual vertices is too small for Proposition 27 to provide vertices with extra colors (by same-coloring neighbors) with high enough probability. However, when the almost-clique has many different external neighbors, a very similar argument shows that many vertices of the almost-clique get one external neighbor colored the same as a vertex inside the almost-clique. For simplicity, we state the result for a clique , rather than an almost-clique.
Proposition 28 (Rephrasing Lemma 5.4 in [26]).
Let be a clique and a matching between and . After Algorithm 2, w.e.h.p. in , at least vertices in have two non-adjacent neighbors colored the same, i.e., one unit of slack.
We conclude this anthology of results about slack generation with one from Reed’s original paper on -coloring. It serves the same purpose as Proposition 28 except that it counts vertices that receive two units of slack. Consequently, instead of asking for a matching between and , we require a one-to-two matching. Formally, we define a triple for as a tuple such that , . We say that a set of triples is disjoint if no vertex belongs to more than one.
Proposition 29 ([50, Section 4] or [47, Chapter 11.3]).
For every , there is a universal constant for which the following holds. Let be an -almost-clique and be a set of disjoint triples for . Let be the random variable counting number of triples for which is uncolored, and and are colored the same as some vertex in by slack generation. Then,
Note that the concentration from Proposition 29 is effective only when is asymptotically larger than . This is a consequence of the fact that, contrary to Propositions 27 and 28, counting colors does not suffice to count the number of vertices with two-units of slack.
5.3 Step 3: Coloring Critical Cliques in
In this step, we prove that all critical almost-cliques of can be colored after slack generation. Since the formal argument is involved, let us provide first a bird’s-eye view of the proof. It is in three parts:
-
Firstly, we argue that if a subgraph of induced by a set of critical almost-cliques is such that each almost-clique has two adjacent vertices with respectively one and two units of slack, we can serenely color that subgraph greedily.
-
Then we analyze how the critical vertices of get slack from slack generation (Algorithm 2). The analysis is three-fold: when many low-degree vertices exist, or when many vertices have external neighbors with few edges to the almost-clique, or finally when most of the vertices have degree and external neighbors with many edges to the almost-clique. In the first two cases, we show that w.h.p. at least two vertices get slack. For the last case, we argue that w.h.p. the almost-clique has many vertices with one pair of same-colored neighbors and one uncolored external neighbor with edges to the almost-clique.
-
Finally, we color the critical vertices of in two stages. That is to ensure that, in the last type of critical almost-cliques, the uncolored external neighbors with neighbors in the almost-clique remain inactive while we color , thereby providing one more unit of slack. The trick is that such external neighbors, if dense, must have external neighbors. However, critical almost-cliques of , since they are not solitary, contain at most one such vertex.
In the end, we get the following result. For the proof, we refer the readers to the full version [30, Section 5.3].
Lemma 30.
Let be the graph obtained from Step 1 and be the coloring produced by Algorithm 2 in Step 2. With high probability over the randomness of and , there exists a serene extension of to all critical almost-cliques of .
5.4 Step 4: Coloring Sparse Vertices & Small Almost-Cliques
We color the non-critical vertices of in the following order: first, the sparse vertices; second, the small almost-cliques with fewer than anti-edges; last, the small almost-cliques with at least anti-edges. The treatment of sparse vertices and almost-cliques with many missing edges is the same as in [3]. For the small almost-clique with few missing edges, we observe that their nodes must be -sparse, and hence they can be colored by palette sparsification. We refer readers to [30, Section 5.4] for more details.
5.5 Step 5: Inverting the Reed Transform
In this step, we take the coloring of computed thus far and inverse the Reed Transform from Algorithm 1 to deduce a coloring of , i.e., of the all vertices except those in non-small solitary or non-small -popular almost-cliques. We emphasize that we may change colors given by slack generation (Algorithm 2), thus guarantees of Propositions 27, 28, and 29 do not apply henceforth.
The algorithm same-color two pairs of vertices in each almost-clique removed by the Reed Transform. This guarantees that the remaining vertices can be serenely colored (recall that we know the neighborhood of core-critical vertices). We argue that the pairs can be same-colored greedily, in fact they always have colors available. When certain pairs of vertices to same-color overlap, then we same-color entire independent sets at once.
Lemma 31.
Let be the graph from Algorithm 1. Suppose is a total proper serene coloring of . With high probability, we compute a serene coloring of , i.e., of the graph where all non-small solitary and non-small -popular almost-cliques are removed.
Proof.
The goal is to same-color all pairs of vertices and , where is an anti-neighbor of in . Then the coloring can be serenely extended to all -friendly critical almost-cliques with a -clique, by [30, Claim 5.14]. If a vertex in does not have degree , we do not have any vertices and ; same-coloring the pair suffices. If is not an independent set, we pick any pair such that and are adjacent in .
Denote by , , , and the set vertices respectively containing all , , , and . Recall that Algorithm 1 chooses and disjoint (because while ). For , call the set of for which . First, let us explain how we select the vertices. The proof can be found in the full version of this paper, see [30, Section 5.5].
Claim 32.
If , then there exist vertices for all and such that
is an independent set.
Call the vertex given by Claim 32 in and call the set of all vertices. Note that can overlap with and . The nodes in are core-critical but not those in . We same-color the pairs in the following order:
-
1.
uncolor all vertices of ,
-
2.
color all with where is colored,
-
3.
color all pairs and where , and finally
-
4.
color all remaining pairs , i.e., where and with .
Step (2) cannot create a color conflict because has at most one colored external neighbor (after uncoloring ) and (from the Reed Transform) contained an edge between and .
Let us explain how we perform Step (3). We form a virtual graph by contracting sets of vertices in . More precisely, for a set of disjoint sets of vertices , denote by the graph with vertex set and an edge between two vertices if the corresponding sets contain adjacent vertices in . Let be the sets of for all and . For a vertex of (i.e., ), let be the intersection of the lists of available colors in overall the vertices in , i.e., .
Since each is an independent set, a coloring of using lists induces a proper extension of the coloring to where vertices from the same are colored the same. Since each has at least uncolored neighbors, while each element other than gives rises to edges, we do obtain a -list-coloring instance. The proof can be found in the full version of this paper, see [30, Section 5.5].
Claim 33.
For all , we have that .
To implement this in streaming, recall that we know all edges incident to core-critical vertices, which include and . In particular, we can compute the sets described in Claim 32, which thereby implies that we know . We color vertices of greedily. When it comes to with , we claim that we can color with some color from with high probability. Indeed, by Claim 33, for any partial coloring of , the vertex still has available colors, thus
In particular, when we color vertices of with that color, the coloring remains serene because (1) is the only non-core-critical vertex of this set, and it gets a color from its random list, and (2) we know the neighborhood of all other vertices from sparse recovery.
The pairs that remain to be same-colored are of the form such that and for some . As such, it has at least available colors and at most two external neighbors. It can be that , in which case we must same color the three vertices , and . Note that and cannot be adjacent as is an independent set. Since the uncolored vertices in and belong to -cliques of which at most two vertices are colored, the vertices to same-color share at least available colors.
Claim 24- implies that for all because . Hence, the degree of virtual vertices is at most , and we can use -list-coloring. Recall that all the that remains are core-critical, hence we know their neighborhood and can serenely color them with any color.
5.6 Step 6: Post-processing
Finally, we assume that is a serene coloring of , i.e., of all the vertices except for the non-small solitary and non-small -popular almost-cliques. We iterate over such almost-cliques and apply either [30, Lemma 5.22] or [30, Lemma 5.23]. The full statement and proofs can be found in the full version of this paper, see [30, Section 5.6]. They start by same coloring some pairs of vertices (recall Figure 1) using colors from their random lists, w.h.p., and serenely extend the coloring to the rest of the almost-clique.
6 Lower bound for -Coloring in Semi-Streaming
Recall that by a result of Molloy and Reed [48], graphs of maximum degree (larger than some sufficiently large constant) that do not have certain forbidden local subgraphs can be -colored for all such that . Very recently, [29] proved that such a -coloring can be computed in rounds of Local for all such but the largest one (for which the problem requires rounds).
In this section, we show that such a result cannot be obtained in semi-streaming. See 2
The proof is via a reduction to the one-way communication complexity of the problem. In this problem, Alice is given a bit-string and Bob is given an index . Alice sends one message to Bob and so that Bob correctly outputs with probability at least . It is well-known that Alice needs to send bits to Bob (see [42, Theorem 3.7] or [49, Chapter 6] for a more recent treatment).
We construct a gadget with vertices such that Bob can infer the value of from a proper -coloring of that graph. The graph induced by is a -clique, and the graph induced by will be the complement of that induced by . We select pairs between and , but Alice includes the edge iff (and the corresponding edge between and is added iff ). Then Bob connects the endpoints of in , and he connects all the vertices of and the endpoints of to the endpoints of in . See Figure 3. The key observation is that the graph induced by plus the endpoints of in and form a -clique minus one of the edge in or , depending on whether or . Since any -coloring of this graph must same-color the endpoints of this missing edge, Bob recovers the value of from a proper -coloring of this gadget. It follows that -coloring this gadget requires bits. To obtain Theorem 2, we create parallel gadgets, each encoding a different contiguous block of bits from . A formal proof of Theorem 2 can be found in [30, Section 6].
References
- [1] Noga Alon and Sepehr Assadi. Palette sparsification beyond (+1) vertex coloring. In Jaroslaw Byrka and Raghu Meka, editors, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2020, August 17-19, 2020, Virtual Conference, volume 176 of LIPIcs, pages 6:1–6:22. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPIcs.APPROX/RANDOM.2020.6.
- [2] Sepehr Assadi, Andrew Chen, and Glenn Sun. Deterministic graph coloring in the streaming model. In Stefano Leonardi and Anupam Gupta, editors, STOC ’22: 54th Annual ACM SIGACT Symposium on Theory of Computing, Rome, Italy, June 20 - 24, 2022, pages 261–274. ACM, 2022. doi:10.1145/3519935.3520016.
- [3] Sepehr Assadi, Yu Chen, and Sanjeev Khanna. Sublinear algorithms for ( + 1) vertex coloring. In Timothy M. Chan, editor, Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019, San Diego, California, USA, January 6-9, 2019, pages 767–786. SIAM, 2019. doi:10.1137/1.9781611975482.48.
- [4] Sepehr Assadi, Pankaj Kumar, and Parth Mittal. Brooks’ theorem in graph streams: A single-pass semi-streaming algorithm for -coloring. TheoretiCS, 2, 2023. doi:10.46298/theoretics.23.9.
- [5] Sepehr Assadi, Janani Sundaresan, and Helia Yazdanyar. Coloring graphs with few colors in the streaming model. In Kasper Green Larsen and Barna Saha, editors, Proceedings of the 2026 Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2026, pages 6065–6132. SIAM, 2026. doi:10.1137/1.9781611978971.217.
- [6] Sepehr Assadi and Chen Wang. Sublinear time and space algorithms for correlation clustering via sparse-dense decompositions. In Mark Braverman, editor, 13th Innovations in Theoretical Computer Science Conference, ITCS 2022, January 31 - February 3, 2022, Berkeley, CA, USA, volume 215 of LIPIcs, pages 10:1–10:20. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPIcs.ITCS.2022.10.
- [7] Sepehr Assadi and Helia Yazdanyar. Simple sublinear algorithms for ( + 1) vertex coloring via asymmetric palette sparsification. In Ioana Oriana Bercea and Rasmus Pagh, editors, 2025 Symposium on Simplicity in Algorithms, SOSA 2025, New Orleans, LA, USA, January 13-15, 2025, pages 1–8. SIAM, 2025. doi:10.1137/1.9781611978315.1.
- [8] Bradley Baetz and David R Wood. Brooks’ vertex-colouring theorem in linear time, 2014. doi:10.48550/arXiv.1401.8023.
- [9] Étienne Bamas and Louis Esperet. Distributed coloring of graphs with an optimal number of colors. In Rolf Niedermeier and Christophe Paul, editors, 36th International Symposium on Theoretical Aspects of Computer Science, STACS 2019, March 13-16, 2019, Berlin, Germany, volume 126 of LIPIcs, pages 10:1–10:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPIcs.STACS.2019.10.
- [10] Leonid Barenboim, Michael Elkin, Seth Pettie, and Johannes Schneider. The locality of distributed symmetry breaking. J. ACM, 63(3):20:1–20:45, 2016. doi:10.1145/2903137.
- [11] Soheil Behnezhad, Rajmohan Rajaraman, and Omer Wasim. Fully dynamic ( + 1)-coloring against adaptive adversaries. In Yossi Azar and Debmalya Panigrahi, editors, Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2025, New Orleans, LA, USA, January 12-15, 2025, pages 4983–5026. SIAM, 2025. doi:10.1137/1.9781611978322.169.
- [12] Anup Bhattacharya, Arijit Bishnu, Gopinath Mishra, and Anannya Upasana. Even the easiest(?) graph coloring problem is not easy in streaming! In James R. Lee, editor, 12th Innovations in Theoretical Computer Science Conference, ITCS 2021, January 6-8, 2021, Virtual Conference, volume 185 of LIPIcs, pages 15:1–15:19. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPIcs.ITCS.2021.15.
- [13] Sayan Bhattacharya, Deeparnab Chakrabarty, Monika Henzinger, and Danupon Nanongkai. Dynamic algorithms for graph coloring. In Artur Czumaj, editor, Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2018, New Orleans, LA, USA, January 7-10, 2018, pages 1–20. SIAM, 2018. doi:10.1137/1.9781611975031.1.
- [14] Sayan Bhattacharya, Fabrizio Grandoni, Janardhan Kulkarni, Quanquan C. Liu, and Shay Solomon. Fully dynamic ( +1)-coloring in O(1) update time. ACM Trans. Algorithms, 18(2):10:1–10:25, 2022. doi:10.1145/3494539.
- [15] Oleg V Borodin and Alexandr V Kostochka. On an upper bound of a graph’s chromatic number, depending on the graph’s degree and density. Journal of Combinatorial Theory, Series B, 23(2-3):247–250, 1977. doi:10.1016/0095-8956(77)90037-5.
- [16] Rowland Leonard Brooks. On colouring the nodes of a network. Mathematical Proceedings of the Cambridge Philosophical Society, 37(2):194–197, 1941. doi:10.1017/S030500410002168X.
- [17] Amit Chakrabarti, Prantar Ghosh, and Manuel Stoeckl. Adversarially robust coloring for graph streams. In Mark Braverman, editor, 13th Innovations in Theoretical Computer Science Conference, ITCS 2022, January 31 - February 3, 2022, Berkeley, CA, USA, volume 215 of LIPIcs, pages 37:1–37:23. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPIcs.ITCS.2022.37.
- [18] Yi-Jun Chang, Manuela Fischer, Mohsen Ghaffari, Jara Uitto, and Yufan Zheng. The complexity of (+1) coloring in congested clique, massively parallel computation, and centralized local computation. In Peter Robinson and Faith Ellen, editors, Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC 2019, Toronto, ON, Canada, July 29 - August 2, 2019, pages 471–480. ACM, 2019. doi:10.1145/3293611.3331607.
- [19] Yi-Jun Chang, Wenzheng Li, and Seth Pettie. Distributed (+1)-coloring via ultrafast graph shattering. SIAM J. Comput., 49(3):497–539, 2020. doi:10.1137/19M1249527.
- [20] Yi-Jun Chang, Gopinath Mishra, Hung Thuan Nguyen, and Farrel D. Salim. Round and communication efficient graph coloring. In Alkida Balliu and Fabian Kuhn, editors, Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2025, Hotel Las Brisas Huatulco, Huatulco, Mexico, June 16-20, 2025, pages 360–371. ACM, 2025. doi:10.1145/3732772.3733508.
- [21] Daniel W. Cranston and Landon Rabern. Coloring claw-free graphs with delta-1 colors. SIAM J. Discret. Math., 27(1):534–549, 2013. doi:10.1137/12088015X.
- [22] Artur Czumaj, Peter Davies, and Merav Parter. Simple, deterministic, constant-round coloring in congested clique and MPC. SIAM J. Comput., 50(5):1603–1626, 2021. doi:10.1137/20M1366502.
- [23] Abhishek Dhawan. Palette sparsification for graphs with sparse neighborhoods. arXiv preprint arXiv:2408.08256, 2024. doi:10.48550/arXiv.2408.08256.
- [24] Benjamin Doerr. Probabilistic tools for the analysis of randomized optimization heuristics. In Benjamin Doerr and Frank Neumann, editors, Theory of Evolutionary Computation - Recent Developments in Discrete Optimization, Natural Computing Series, pages 1–87. Springer, 2020. doi:10.1007/978-3-030-29414-4_1.
- [25] Michael Elkin, Seth Pettie, and Hsin-Hao Su. (2 - l)-edge-coloring is much easier than maximal matching in the distributed setting. In Piotr Indyk, editor, Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2015, San Diego, CA, USA, January 4-6, 2015, pages 355–370. SIAM, 2015. doi:10.1137/1.9781611973730.26.
- [26] Manuela Fischer, Magnús M. Halldórsson, and Yannic Maus. Fast distributed brooks’ theorem. In Nikhil Bansal and Viswanath Nagarajan, editors, Proceedings of the 2023 ACM-SIAM Symposium on Discrete Algorithms, SODA 2023, Florence, Italy, January 22-25, 2023, pages 2567–2588. SIAM, 2023. doi:10.1137/1.9781611977554.ch98.
- [27] Maxime Flin, Mohsen Ghaffari, Magnús M. Halldórsson, Fabian Kuhn, and Alexandre Nolin. A distributed palette sparsification theorem. In Proceedings of the 2024 ACM-SIAM Symposium on Discrete Algorithms, SODA 2024, Alexandria, VA, USA, January 7-10, 2024. SIAM, 2024. doi:10.1137/1.9781611977912.142.
- [28] Maxime Flin and Magnús M. Halldórsson. Faster dynamic (+1)-coloring against adaptive adversaries. In 52nd International Colloquium on Automata, Languages, and Programming, ICALP 2025, Aarhus, Denmark, July 8-11, 2025, volume 334 of LIPIcs, pages 79:1–79:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPIcs.ICALP.2025.79.
- [29] Maxime Flin, Magnús M. Halldórsson, Manuel Jakob, and Yannic Maus. Sublogarithmic distributed vertex coloring with optimal number of colors, 2026. To appear at STOC 2026. doi:10.48550/arXiv.2603.28637.
- [30] Maxime Flin and Magnús M. Halldórsson. Beyond brooks: (-1)-coloring in semi-streaming, 2026. arXiv:2605.07774.
- [31] Maxime Flin and Parth Mittal. ( + 1) vertex coloring in o(n) communication. Distributed Comput., 38(1):19–29, 2025. doi:10.1007/s00446-024-00475-3.
- [32] Dmitry Gavinsky, Shachar Lovett, Michael E. Saks, and Srikanth Srinivasan. A tail bound for read-k families of functions. Random Struct. Algorithms, 47(1):99–108, 2015. doi:10.1002/rsa.20532.
- [33] Magnús M. Halldórsson, Fabian Kuhn, Yannic Maus, and Tigran Tonoyan. Efficient randomized distributed coloring in CONGEST. In Samir Khuller and Virginia Vassilevska Williams, editors, STOC ’21: 53rd Annual ACM SIGACT Symposium on Theory of Computing, Virtual Event, Italy, June 21-25, 2021, pages 1180–1193. ACM, 2021. doi:10.1145/3406325.3451089.
- [34] Magnús M. Halldórsson, Fabian Kuhn, Alexandre Nolin, and Tigran Tonoyan. Near-optimal distributed degree+1 coloring. In Stefano Leonardi and Anupam Gupta, editors, STOC ’22: 54th Annual ACM SIGACT Symposium on Theory of Computing, Rome, Italy, June 20 - 24, 2022, pages 450–463. ACM, 2022. doi:10.1145/3519935.3520023.
- [35] Magnús M. Halldórsson, Alexandre Nolin, and Tigran Tonoyan. Ultrafast distributed coloring of high degree graphs, 2021. doi:10.48550/arXiv.2105.04700.
- [36] David G. Harris, Johannes Schneider, and Hsin-Hao Su. Distributed ( +1)-coloring in sublogarithmic rounds. J. ACM, 65(4):19:1–19:21, 2018. doi:10.1145/3178120.
- [37] Monika Henzinger and Pan Peng. Constant-time dynamic ( +1)-coloring. ACM Trans. Algorithms, 18(2):16:1–16:21, 2022. doi:10.1145/3501403.
- [38] Juho Hirvonen and Jukka Suomela. Distributed Algorithms. Aalto University, 2020. URL: https://jukkasuomela.fi/da2020/.
- [39] Jeff Kahn and Charles Kenney. Asymptotics for palette sparsification. arXiv preprint arXiv:2306.00171, 2023. doi:10.48550/arXiv.2306.00171.
- [40] Jeff Kahn and Charles Kenney. Asymptotics for palette sparsification from variable lists. arXiv preprint arXiv:2407.07928, 2024. doi:10.48550/arXiv.2407.07928.
- [41] Sanjeev Khanna, Nathan Linial, and Shmuel Safra. On the hardness of approximating the chromatic number. Combinatorica, 20(3):393–415, 2000. doi:10.1007/s004930070013.
- [42] Ilan Kremer, Noam Nisan, and Dana Ron. On randomized one-round communication complexity. Comput. Complex., 8(1):21–49, 1999. doi:10.1007/s000370050018.
- [43] Nathan Linial. Locality in distributed graph algorithms. SIAM J. Comput., 21(1):193–201, 1992. doi:10.1137/0221015.
- [44] László Lovász. Three short proofs in graph theory. Journal of Combinatorial Theory, Series B, 19(3):269–271, 1975. doi:10.1016/0095-8956(75)90089-1.
- [45] Carsten Lund and Mihalis Yannakakis. On the hardness of approximating minimization problems. J. Assoc. Comput. Mach., 41(5):960–981, 1994. doi:10.1145/185675.306789.
- [46] L. S. Melnikov and V. G. Vizing. New proof of brooks’ theorem. Journal of Combinatorial Theory, 7(4):289–290, 1969. doi:10.1016/S0021-9800(69)80057-8.
- [47] Michael Molloy and Bruce Reed. Graph colouring and the probabilistic method, volume 23 of Algorithms and Combinatorics. Springer, 2002. doi:10.1007/978-3-642-04016-0.
- [48] Michael Molloy and Bruce A. Reed. Colouring graphs when the number of colours is almost the maximum degree. J. Comb. Theory B, 109:134–195, 2014. doi:10.1016/j.jctb.2014.06.004.
- [49] Anup Rao and Amir Yehudayoff. Communication Complexity: and Applications. Cambridge University Press, 2020. doi:10.1017/9781108671644.
- [50] Bruce Reed. A strengthening of brooks’ theorem. Journal of Combinatorial Theory, Series B, 76(2):136–149, 1999. doi:10.1006/jctb.1998.1891.
- [51] Bruce A. Reed. , , and . J. Graph Theory, 27(4):177–212, 1998. doi:10.1002/(SICI)1097-0118(199804)27:4\%3C177::AID-JGT1\%3E3.0.CO;2-K.
- [52] Gopalan Sajith and Sanjeev Saxena. On brooks’ theorem, 2022. doi:10.48550/arXiv.2208.02186.
- [53] Michael Stiebitz and Bjarne Toft. Brooks’ theorem. In Lowell W. Beineke and Robin J. Wilson, editors, Topics in Chromatic Graph Theory, pages 36–55. Cambridge University Press, 2015. doi:10.1017/CBO9781139519793.005.
