Abstract 1 Introduction 2 Preliminaries 3 The Main Algorithm 4 Open Problems References

Faster Deterministic Streaming Vertex Coloring

Shiri Chechik Tel Aviv University, Israel    Hongyi Chen State Key Laboratory for Novel Software Technology, Nanjing University, China    Tianyi Zhang ORCID State Key Laboratory for Novel Software Technology, Nanjing University, China
Abstract

Graph coloring is a fundamental problem in computer science. In the semi-streaming model, an input graph G on n vertices and maximum degree Δ is presented as a stream of edges, and the goal is to compute a vertex coloring using a small number of colors while storing only O~(n) bits of memory.

Recent work has revealed an exponential separation between randomized and deterministic approaches in this setting: while randomized algorithms can achieve a (Δ+1)-coloring in a single pass [Assadi, Chen, and Khanna, 2019], any single-pass deterministic algorithm requires exp(ΔΩ(1)) colors [Assadi, Chen, and Sun, 2022]. Consequently, deterministic algorithms that use few colors must necessarily make multiple passes over the stream. Prior to this work, the best known deterministic trade-offs were: an O(Δ2)-coloring in 2 passes, an O(Δ)-coloring in O(logΔ) passes [Assadi, Chen, and Sun, 2022], and a (Δ+1)-coloring in O(logΔloglogΔ) passes [Assadi, Chakrabarti, Ghosh, and Stoeckl, 2023]. It remained open whether better trade-offs – particularly with sub-logarithmic pass complexity and linear-in-Δ palette size – were achievable.

In this paper, we present a new deterministic semi-streaming algorithm that computes an O(Δ)-coloring in O(logΔ) passes. This is the first deterministic streaming algorithm to achieve a coloring with palette size linear-in-Δ using sublogarithmic-in-Δ passes.

Keywords and phrases:
vertex coloring, streaming
Category:
Track A: Algorithms, Complexity and Games
Funding:
Shiri Chechik: Shiri Chechik is supported by the European Research Council (ERC) under the European Union’s Horizon 2020 Research and Innovation program, grant agreement No. 803118 “The Power of Randomization in Uncertain Environments”.
Copyright and License:
[Uncaptioned image] © Shiri Chechik, Hongyi Chen, and Tianyi Zhang; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Streaming, sublinear and near linear time algorithms
; Theory of computation Graph algorithms analysis
Related Version:
Full Version: https://arxiv.org/abs/2605.07644
Funding:
Hongyi Chen and Tianyi Zhang are supported by the Fundamental and Interdisciplinary Disciplines Breakthrough Plan of the Ministry of Education of China (No. JYB2025XDXM118) and the “111 Center” (No. B26023).
Editors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele Puppis

1 Introduction

Graph coloring is a fundamental problem in graph theory and computer science. Given an n-vertex undirected graph G=(V,E) with a maximum degree of Δ, the goal is to assign each vertex a color such that no edge connects two vertices of the same color. Beyond its combinatorial interest, graph coloring has many applications, including scheduling, register allocation, and resource assignment.

In this work, we focus on vertex coloring in the semi-streaming model, which is designed for processing massive graphs. In this model, the edges of the input graph arrive sequentially as a stream, the algorithm can make only a limited number of passes over the stream, and the allowed working memory is constrained to O~(n) bits111O~ hides poly-logarithmic factors.. The semi-streaming model has inspired numerous algorithmic developments and lower bound results for fundamental graph problems. Our goal is to design streaming algorithms that, within these constraints, can output a proper vertex coloring while keeping the palette size (the total number of colors) and the number of passes to a minimum.

Similar to the classical sequential model, obtaining an optimal or near-optimal coloring in the streaming model is infeasible. Consequently, previous work on graph streaming algorithms has focused on obtaining colorings whose size is bounded by structural parameters of the input graph, such as the maximum degree Δ, degeneracy, or arboricity. This question was first studied in [5], where the authors presented a breakthrough randomized semi-streaming algorithm that computes a (Δ+1)-coloring in a single pass over the graph stream. Additionally, a contemporary result in [11] achieved a randomized one-pass O(Δ)-coloring, followed by subsequent work in [10] that provided a (1+o(1))κ-coloring, where κ represents the degeneracy of graph G. Later, the study of randomized streaming vertex coloring culminated in [7] with a one-pass Δ-coloring algorithm.

All the algorithms mentioned above are randomized. In sharp contrast, it was proven in [4] that any single-pass deterministic algorithm requires exp(ΔΩ(1)) colors, indicating that multiple passes are essential for deterministic streaming algorithms that utilize a small number of colors, such as poly(Δ) colors. As a complementary result, the authors of [4] further demonstrated that allowing multiple passes enables deterministic algorithms to achieve significantly better performance, including O(Δ2)-colorings in 2 passes or O(Δ)-colorings in O(logΔ) passes. In a follow-up work [3], the authors improved the color count from O(Δ) to Δ+1 by slightly increasing the number of passes to O(logΔloglogΔ).

Notably, there are currently no established lower bounds against deterministic multi-pass algorithms, leaving it unclear what the best vertex colorings computable in 2 passes are. Conversely, the question of the best pass complexity for O(Δ)-colorings (or even (Δ+1)-colorings) remains open. Below, we would like to highlight the following question:

Question 1.

What is the smallest number of passes required for computing O(Δ)-colorings deterministically in the semi-streaming setting?

1.1 Our Result

Our main result is a deterministic semi-streaming algorithm that achieves an O(Δ)-coloring of a graph in O(logΔ) passes, which circumvents the logarithmic pass complexities in [4, 3] and makes progress towards a better understanding of Question 1.

Theorem 2.

Let G=(V,E) be an input graph on n vertices with maximum degree Δ accessible via a data stream. For any constant η(0,1), there is a deterministic streaming algorithm that finds an (1+η)Δ-coloring of G using O(1ηlogΔ) passes and O~(n) bits of space.

Compared to O(Δ)-coloring studied in [4], we have optimized the constant coefficient in front of Δ in the number of colors from O(1) to 1+η for any constant parameter η(0,1), but this is not a major improvement and it comes with a minor adjustment of a subroutine in [4].

1.2 Related Work

Ben-Eliezer et al. [9] introduced the adversarially robust streaming model which lies conceptually between deterministic and randomized streaming algorithms. In this model, the adversary can adaptively generate the stream: at any time, it may request the algorithm to produce an output and then choose the next input based on the entire history (the transcript of past inputs and outputs). The algorithm must produce correct outputs with high probability, at all times and against any adaptive adversary.

Graph coloring in the adversarially robust streaming model was first studied by Chakrabarti et al. [14], who established a one-pass lower bound: any valid K-coloring algorithm must use at least Ω(nΔ2/K) bits of space. In particular, a semi-streaming algorithm would require Ω(Δ2) colors. On the algorithmic side, the same work presented an O(Δ2)-coloring algorithm using O(nΔ) space and an O(Δ3)-coloring algorithm using O(n) space, both assuming oracle access to O(nΔ) random bits. Subsequently, Assadi et al. [3] improved these results, showing that an O(Δ5/2)-coloring can be achieved with oracle access to O(nΔ) random bits, and that an adversarially robust O(Δ3)-coloring is possible in semi-streaming space even when the randomness used by the algorithm is counted toward its space usage. Despite these advances, a polynomial gap remains between the best known lower and upper bounds in the adversarially robust setting.

1.3 Technical Overview

Previous Approach

We begin by reviewing the approach of [4]. Their algorithm maintains a partial coloring ϕ:V[O(Δ)]{} ( means uncolored) of the graph G and gradually extends it to reduce the number of uncolored vertices over multiple passes. Initially, it starts with an empty coloring where all vertices are uncolored. Then, they show that in every O(1) passes over the input stream, one could reduce the number of uncolored vertices by a constant factor. So, in the end, the total number of passes would be O(logΔ). Morally speaking, imagine that we could use randomness and in each round we draw a uniformly random color c(v) from O(Δ) to each uncolored vertex vϕ1(). Then, we can argue that for each vertex vϕ1(), the probability that c(v) conflicts with some neighboring c(u) or ϕ(w) is bounded away from 1, or more precisely:

Pr[uN(v)ϕ1(),c(v)=c(u)]+Pr[wN(v)ϕ1(),c(v)=ϕ(w)]<1Ω(1) (1)

Then, we can extend the partial coloring ϕ by assigning c(v) to each uncolored vertex v without any conflicts with its neighbors, which would reduce the number of uncolored vertices by a constant factor. Derandomizing this approach can be done using universal hash functions instead of independent random colors; this is because we only need to upper bound the total number of vertex conflicts, and so we can choose the hash function with the minimum number of conflicts to extend ϕ.

Some Natural Attempts

To reduce the number of passes, a natural observation is that the v’s conflict probability (the first term in Equation 1):

Pr[uN(v)ϕ1(),c(v)=c(u)]

becomes smaller when the number of uncolored vertices shrinks. To see this, imagine that at the moment |ϕ1()|=ϵn for some ϵ(0,1). Then hopefully each vertex vϕ1() has only ϵΔ neighbors in vertex set ϕ1() (proportional to the size of ϕ1() compared to V). If we could draw a uniformly random color for each vϕ1() from all v’s available colors [O(Δ)]{ϕ(u)uN(v)}, then we could completely avoid the second conflict probability term in Equation 1:

Pr[wN(v)ϕ1(),c(v)=ϕ(w)]

and then the conflict probability of v would be at most:

Pr[uN(v)ϕ1(),c(v)=c(u)]ϵΔO(1Δ)=O(ϵ)

So, under a random color extension (which always draws available colors) to ϕ, in expectation a proportion of 1Ω(ϵ) would be colored, leaving O(ϵ2n) uncolored vertices; in other words, the ratio |ϕ1()|/n would drop quadratically. Therefore, the total number of passes would be at most O(loglogΔ).

The main difficulty of implementing this natural attempt is that we do not have direct access to the available colors of each vertex vϕ1() which is [O(Δ)]{ϕ(u)uN(v)}; that is, those colors not yet used by any of v’s neighbor under color assignment ϕ. Instead, what we do have access to is only a data stream of unavailable colors {ϕ(u)uN(v)} for each vϕ1() converted from the input graph stream. This task of accessing available colors given a data stream of unavailable colors can be viewed as a missing item problem. In the standard formulation of the missing item problem, the algorithm is given a stream of integers x1,x2,xN[M], and the goal is usually to find some or (approximately) count all elements in [M]{x1,x2,,xN}. This problem was studied in [29] and the author showed a deterministic space lower bound of Ω~(N) against any streaming algorithm that outputs any single missing item. In our case, N is as large as Δ, and so we would need to allocate Ω~(Δ) space for each vϕ1() which is infeasible.

Vertex and Color Partitions

As hinted by the impossibility result from [29], it is generally hard to assume access to the set of available colors [O(Δ)]{ϕ(u)uN(v)} and bypass the conflicts with neighbors that are already colored, which is the main source of technical difficulty, without using space of palette size O(Δ), per uncolored vertex v.

To circumvent the O(Δ) space requirement per uncolored vertex while still avoiding the conflicts with colored neighbors, the basic idea is to reduce the palette size. More concretely, we are going to partition the palette into much smaller sub-palettes:

[O(Δ)]=C1C2Cl

and also partition the uncolored vertex set into vertex subsets:

ϕ1()=B1B2Bl

such that it is possible to assign colors from Ci to all vertices in Bi in a valid manner, 1il. If all the sub-palettes Ci are small, and the union of the induced subgraphs G[Bi] fits in O~(n) bits of memory, then we can compute and store all the available colors and the subgraphs in memory over a single pass, and then complete the color extension.

This vertex and color partitioning approach has been previously adopted in some recent distributed graph coloring literature [15, 27, 28, 19, 18], in which we found [19] particularly helpful for our reference. The authors of [19] worked on the problem of computing a (Δ+1)-coloring in the congested clique model. Their main algorithm can deterministically compute a pair of vertex and color partitions but with an extra bad vertex subset:

V =B1B2Bl=Δ0.9Bbad
[Δ+1] =C1C2Cl=Δ0.9

such that for every vertex vBi,1il, the size of Ci is strictly larger than the number of its neighbors in Bi, or more formally |Ci|>degG[Bi](v) (note that they directly compute a full coloring in one shot after partitioning, and they do not repeatedly use color extensions like us, so they do not need to exclude any unavailable colors from sub-palette Ci). Here the set Bbad will be a small vertex set of size O(n/Δ) collecting all the vertices that violate this inequality. In the end, they show that each induced subgraph G[Bbad],G[Bi],1il has size O(n) which fits in the local memory of a single machine, so they could compute the whole coloring using O(n) machines in O(1) communication rounds.

Deterministic Partitions via Almost 𝒌-Wise Independence

To deterministically compute a good pair of vertex and color partitions, the authors of [19] used O(1)-wise independent hash families to map vertices and colors to their subsets and sub-palettes. More specifically, they build two O(1)-wise independent hash families 1,2 where 1 contains functions h:V[Δ0.9] and 2 contains functions h:[Δ+1][Δ0.9]; in reality, the exponent of range is a much smaller constant (say, 0.1 instead of 0.9), and the actual algorithm needs to repeat the partitions for O(1) times [19]. Then, they used the method of conditional expectation to find a good pair of hash functions (h1,h2)1×2 which is used as their vertex and color partitions.

It turns out that in our streaming setting, as opposed to the congested clique setting, it is rather prohibitive to find a good hash function out of an O(1)-wise independent hash family. According to standard literature [26, 1, 17], 1,2 have sizes polynomial in terms of their domains which are nO(1),ΔO(1), respectively. To decide if a hash function pair (h1,h2)1×2 induces a good partition for any specific vertex vϕ1(), we need to count its degree in the same bin which is |{h1(v)=h1(u)uN(v)}|, as well as estimate its available colors which is {ch2(c)=h1(v)}{ϕ(u)uN(v)}. This requires maintaining a counter for each pair (h1,h2) and each vertex vϕ1() during one stream pass, and this totals a space usage of O(|ϕ1()|(nO(1)+ΔO(1)))=n1+O(1).

In order to reduce the space, instead of relying on O(1)-wise independence, we will switch to almost O(1)-wise independence [2, 25] where the hash family only has size roughly MO(1)logO(1)N with N,M being the domain and range sizes. Plugging in our setting, N=n so the memory requirement would be O~(|ϕ1()|MO(1)). Still, we cannot use the same domain size of M=ΔΩ(1) as in [19]. This leads to the following modifications in algorithm parameters.

  • To make |ϕ1()| moderately small, we can run the color extension method of [4] for logΔ rounds as a preprocessing step. This takes O(logΔ) passes over the data stream and brings down the number of uncolored vertices to |ϕ1()|n/2Ω(logΔ).

  • Set the range size of hash functions M=2Θ(logΔ) which keeps the total memory requirement below O~(n). Since in the end we want a color partition of small size so that we can deterministically compute all the available colors around each uncolored vertex, we will recursively partition each sub-palette for logMΔ=O(logΔ) rounds.

Pruning Frequent Neighbor Colors

Let us focus on a single round where we are given a pair of partitions:

ϕ1() =B1B2BlBbad
[O(Δ)] =C1C2Cl

and our goal is to refine this partition further so that the sizes of sub-palettes Ci and subgraphs G[Bi] become smaller by a factor of 2Ω(logΔ). As discussed above, we will use almost O(1)-wise independent hash families 1,2 that map uncolored vertices and colors to the range [M] for some M=2Ω(logΔ). Each vertex vBi will compute some statistics during a single pass over the stream for each pair of hash functions (h1,h2)1×2:

  1. (i)

    the number of neighbors under h1, namely the size of the set {uh1(u)=h1(v),uBi};

  2. (ii)

    the (approximate) number of available colors in the color set:

    {ch2(c)=h1(v),cCi}{ϕ(u)uN(v)}

If the value of (ii) is larger than (i), then v would give one vote to the pair (h1,h2). In the end, we hope that there exists a good pair (h1,h2) which receives votes from a proportion of at least 12Ω(logΔ) uncolored vertices. If so, we would take this pair (h1,h2) to generate a partition refinement, and all vertices which did not vote to (h1,h2) would move to Bbad. After O(logΔ) rounds of partition refinement, we will be able to color all vertices in Bi’s using colors from Ci’s in one pass, as Ci’s will be small enough, leaving a very small uncolored vertex set Bbad.

Assume inductively that v has more available colors in Ci than its neighbors in Bi. To preserve this property for a refined partition, we argue that both (i)(ii) will concentrate around their expectations using concentration inequalities for almost k-wise independence; such concentration bounds were previously studied in [20] but in the context of cryptography with a somewhat different definition of almost k-wise independence from ours, we provide the full proof of our concentration bound in the full version of this paper. (See Lemma 10 for the formal statement).

By the concentration bound, we know that for most vertices vBi, it should vote for most pairs (h1,h2). The main difficulty arises from verifying which pairs (h1,h2) are good. Computing (i) is straightforward, whereas computing (ii) is much more challenging because it is still a missing item problem which is hard according to [29]. The difference is that here we only need a lower bound estimation of the number of the available colors, not output any specific available color. A basic idea is to lower bound (ii) by:

|{ch2(c)=h1(v),cCi}{ϕ(u)uN(v)}| (2)
= |{ch2(c)=h1(v),cCi}||{ϕ(u)uN(v),h2(ϕ(u))=h1(v),ϕ(u)Ci}| (3)
|{ch2(c)=h1(v),cCi}||{uN(v)h2(ϕ(u))=h1(v),ϕ(u)Ci}| (4)

The second term (which will be our main focus) |{ϕ(u)uN(v),h2(ϕ(u))=h1(v),ϕ(u)Ci}| counts the number of distinct colors used by v’s neighbors, while the set {uN(v)h2(ϕ(u))=h1(v),ϕ(u)Ci} is what the algorithm sees in the data stream. Ideally, if we could directly compute the number of distinct neighbor colors, then we could use Equation 3 as our lower bound which aligns well with concentration inequalities. However, this is impossible for deterministic algorithms without using Ω~(Δ) space [22], and we could only use the linear estimator Equation 4 as our lower bound; this linear estimator was also used in [3] for deterministic streaming (Δ+1)-coloring.

Unfortunately, concentration bounds of the linear estimation

|{uN(v)h2(ϕ(u))=h1(v),ϕ(u)Ci}|

of distinct neighbor colors could be very poor. Imagine that all colored neighbors of v are only using M/2 different colors of Ci, with all these colors assigned evenly. Then, every such color itself would destroy a single vertex bin, and so the right-hand side of Equation 4 would be negative for nearly half of h1. To fix this issue, we will first prune all those frequent neighbor colors away in a preprocessing step using a folklore deterministic algorithm for finding frequent items from [24]. Then, we show that the concentration bounds could work after such pruning steps.

2 Preliminaries

2.1 Streaming Vertex Coloring

All logarithms in the main text will take base 2 by default when we do not specify the base. For each positive value x1, let x2 be the largest integer power of 2 less or equal to x. The input graph is denoted by G=(V,E) on n vertices and maximum degree Δ. For each vertex vV, let N(v) be the set of neighbors around v in G.

We are working in the semi-streaming model where the edges of G are read one-by-one in an arbitrary order, and the algorithm has O~(n) bits of space. Our goal is to compute a (1+η)Δ-coloring of G for any fixed constant η(0,1) (without loss of generality, let us assume ηΔ is an integer by rounding downward).

Definition 3 (partial coloring).

A partial coloring of a graph G=(V,E) is a mapping ϕ:V[(1+η)Δ]{}, where ϕ(v)= indicates that vertex v is currently uncolored. We require that for every edge (u,v)E with both endpoints colored, ϕ(u)ϕ(v), i.e., the coloring induces no monochromatic edge among colored vertices. For an uncolored vertex vV and a color c, we say c is available to v if c is not assigned to any of v’s neighbors under ϕ.

Definition 4 ((deg+1)-list coloring).

In a (deg+1)-list coloring problem, for each vertex v in the input graph G, we are given a list Lx of at least degG(x)+1 available colors for v, and the goal is to compute a proper vertex coloring of G such that each vertex v chooses one color from its own list Lv.

It is a folklore that a (deg+1)-list coloring can be found in a greedy manner once the whole input is stored in memory.

Lemma 5 ([4]).

Let G be an n-vertex graph with maximum degree Δ, presented in an insertion-only stream, and let ϕ be a partial coloring using at most (1+η)Δ colors. There exists a deterministic algorithm that, using O(1) passes and O~(n) bits of space, extends ϕ to a new coloring ϕ such that |ϕ1()|<(1Ω(η))|ϕ1()|; in other words, the number of uncolored vertices drops by a 1Ω(η) factor.

The original statement in [4] only focused on 6Δ-coloring and did not optimize the constant in front of Δ, so we will verify this statement in the full version of this paper.

2.2 Streaming Frequent Items

We will also apply a simple deterministic algorithm for finding frequent items in a data stream which originally appeared in [24].

Lemma 6 ([13, 24]).

Given a data stream x1,x2,,xN[M]. Then, for any positive integer k1, there is a deterministic algorithm using O(klogN) space outputs a list of s items y1,y2,,yk[M] such that any integer y which appears in the stream more than N/k times is included in the list {y1,y2,,yk}.

2.3 Almost 𝒌-Wise Independence

Definition 7 (almost k-wise independence).

​​​A sequence of random variables X1,X2,,XN[M] is (k,ϵ)-wise independent, if for any k different indices 1i1,i2,,ikN and k values y1,y2,,yk[M], we have:

|Pr[Xij=yj,1jk]1Mk|ϵ
Definition 8 (almost k-wise independent hash functions).

A family of functions h:[N][M] is (k,ϵ)-wise independent, if the random sequence h(1),h(2),,h(N) is (k,ϵ)-wise independent when h is drawn uniformly at random from .

The following statement is implicit in [2], and we provide a proof in the full version of this paper.

Lemma 9 ([2]).

For any tuple of (k,ϵ,N,M) where M is an integer power of 2, there exists a (k,ϵ)-wise independent hash family k,ϵ,N,M mapping from [N] to [M] of size at most

|k,ϵ,N,M|O((1ϵ)3M3klog3N)

We need a concentration inequality for almost k-wise independent variables. This question was previously studied in [20] motivated by some applications in cryptography, but we cannot apply their results directly in our scenario because their definitions of almost k-wise independence are technically different from ours, and we provide a proof of the following statement in the full version of this paper.

Lemma 10.

Consider a sequence of random variables X1,X2,,XN[M] which is (k,ϵ)-wise independent for some even integer k, along with a sequence of non-negative weights

w1,w2,,wNW

Define random variables Yi=𝟏[Xi=1]. Then for any δ, we have:

Pr[|i=1NwiYi1Mi=1Nwi|>δWNM](MkδN)k+ϵ(2M2/δ)k

3 The Main Algorithm

Throughout the algorithm we maintain a partial coloring ϕ of the graph using at most (1+η)Δ colors. As a preprocessing step, we apply the algorithm of Lemma 5 iteratively for O(αηlogΔ) rounds, where α=200 is a constant parameter. After these rounds, the number of uncolored vertices reduces geometrically, leaving at most n/22αlogΔ uncolored vertices. After the preprocessing, the main technical part of the algorithm is summarized as the following statement.

Lemma 11.

Let ϕ be a partial coloring with (1+η)Δ colors such that |ϕ1()|n/s2 for a size parameter s2αlogΔ (s does not need to be an integer). There exists a deterministic algorithm that, using O(logΔlogs) passes and O~(n) bits of space, extends ϕ to a new coloring ϕ satisfying |ϕ1()|<|ϕ1()|s1/10.

By iteratively applying Lemma 11, we can decrease the total number of uncolored vertices from n/22αlogΔ to O(n/Δ) within O(loglogΔ) iterations. Once the number of remaining uncolored vertices is sufficiently small, all vertices and their incident edges can be collected into memory and colored using any list coloring algorithm.

Proof of Theorem 2.

We combine the preprocessing step (Lemma 5), the iterative color extension step (Lemma 11), and a final coloring step to conclude the theorem.

Step 1: Preprocessing.

As said before, we will repeatedly apply Lemma 5 for O(αηlogΔ) rounds reduces the number of uncolored vertices from n to at most n/22αlogΔ. This step uses O(logΔ) passes and O~(n) bits of space.

Step 2: Color Extension.

Let ϕ0 be the partial coloring right after the preprocessing step. The algorithm will iteratively apply O(loglogΔ) times Lemma 11 to reduce the number of uncolored vertices starting with ϕ0. Let Ut=ϕt1() denote the set of uncolored vertices after the t-th iteration, where ϕt is the partial coloring after the t-th iteration. Assume st=n/|ϕt1()|, so initially we have s02αlogΔ. Then, in the (t+1)-th iteration, apply Lemma 11 on the partial coloring ϕt and size parameter st, and define ϕt+1=ϕt to be the extended coloring output by Lemma 11. We will argue that this iterative process shall terminate after O(loglogΔ) iterations and the total number of passes over the data stream is bounded by O(logΔ).

Claim 12.

After the t-th iteration, we have: st2(2120)tαlogΔ.

Proof of claim.

This is proved by a direct induction on t. As the basis, we already know that s02αlogΔ. As for the inductive step, according to the statement of Lemma 11, we have:

|ϕt+11()||ϕt1()|/st1/10n/st21/10

By definition of st+1, we have: st+1st21/202(2120)t+1αlogΔ.

According to Lemma 11, as the number of passes in the t-th iteration is bounded by O(logΔlogst)=O((2021)tlogΔ), the total number of passes throughout all O(loglogΔ) iterations is bounded by O(logΔ).

Step 3: In-Memory Coloring.

After Step 2, when t=Ω(loglogΔ), only O(n/Δ) vertices remain uncolored. We devote one additional pass to finish the coloring offline. During this pass, for each vertex vϕ1() we maintain its current set of available colors. Whenever an edge incident on v appears in the stream, we store it in memory and update the available colors accordingly. Because the remaining subgraph has only O(n/Δ) vertices, maximum degree at most Δ, and each vertex stores a list of at most O(Δ) colors, the data structure fits in O(nlogn) space.

After processing all the edges, we have stored in memory the induced subgraph G[ϕ1()] and all the available colors of each uncolored vertex. Then we can apply the standard greedy (deg+1)-list coloring algorithm to complete the coloring of the remaining vertices.

3.1 Algorithm Description

The rest of this section is devoted to Lemma 11. The algorithm consists of O(logΔlogs) rounds. Throughout the rounds, the algorithm maintains the following set of information.

  • Vertex Partition. A partition of the uncolored vertex set ϕ1()=BbadB1B2Bl, for some parameter l. Each vertex set Bj will be called a bin of ϕ1().

  • Color Partition. A partition of the color set [(1+η)Δ]=CbadC1C2Cl. Each color set Cj will be called a palette.

  • Frequent Colors. For each vertex vϕ1(), a set of colors Fv[(1+η)Δ]. We will make sure that the total size vϕ1()Fv fits in the memory of semi-streaming. Intuitively, the set Fv stores colors that are frequently used by neighbors of v under the current partial coloring ϕ.

At the beginning of the first round, we set l=1, Bbad=Cbad=, B1=ϕ1(), and C1=[(1+η)Δ]. In the t-th round, we will divide all the sets among vertex and color partitions further. We will ensure the following invariants at the beginning of the t-th round.

Invariant 13.

Define parameter M=s1/2002. For any 1il, we have:

|Ci|(1+η)Δ(1+1logΔ)t/Mt

More importantly, for each vBi,1il, we have:

|CiFv|(|{uN(v)uBi}|+|{uN(v)ϕ(u)CiFv}|)ηΔ(11logΔ)t/Mt

This implies that the number of available colors in CiFv (colors that are not used by neighbors of v under ϕ) is much larger than the number of neighbors in set Bi.

Next, we are going to describe how to refine the vertex and color partitions in each round which consists of several steps.

Pruning Frequent Colors

The purpose of this procedure is to collect all the colors in CiFv that are currently used frequently by v’s neighbors under partial coloring ϕ, which is done as following. For each vertex vBi,1il, make a pass over the graph stream and consider all the neighbors uN(v) such that ϕ(u)CiFv. Apply Lemma 6 on the sub-stream of edges {ϕ(u)CiFvuN(v)} with space parameter k=s2. This generates a list of colors Lv={cCiFv} of at most s2 elements. Since there are at most n/s2 uncolored vertices under ϕ, we can run all instances of the frequent item algorithm for all vϕ1() at the same time in a single pass over the input graph stream.After that, merge the list FvFvLv.

Refining Vertex and Color Partitions

We are going to use almost k-wise independent hash functions to partition each bin Bi and palette Ci further. According to Lemma 9, by setting the parameters

k1=10,ϵ1=ϵ=(110M5)k1,N1=|ϕ1()|,M1=M=s1/2002

we can find a (k1,ϵ1)-wise independent hash family 1 of size at most

(1ϵ1)3M13k1log3N1=O(slog3n)

Similarly, by setting the parameters

k2=10,ϵ2=ϵ=(110M5)k2,N2=(1+η)Δ,M2=M=s1/2002

we can find a (k2,ϵ2)-wise independent hash family 2 of size at most

(1ϵ2)3M23k2log3N2=O(slog3Δ)

Our goal is to find a good pair of hash functions (h1,h2)1×2 and partition each bin Bj and palette Cj as

Bi=Bi,h11Bi,h12Bi,h1M
Ci=Ci,h21Ci,h22Ci,h2M

where Bi,h1j={vBih1(v)=j},Ci,h2j={cCih2(c)=j}, such that we can verify Invariant 13 with the refined partitions.

Definition 14.

For any pair of hash functions (h1,h2)1×2, a vertex vBi,1il is good (otherwise bad) if Invariant 13 holds for v; that is,

|Ci,h2h1(v)Fv|(|{uN(v)uBi,h1h1(v)}|+|{uN(v)ϕ(u)Ci,h2h1(v)Fv}|)
ηΔ(11logΔ)t+1/Mt+1

as well as

|Ci,h2h1(v)|(1+η)Δ(1+1logΔ)t+1/Mt+1

This pair (h1,h2) is good if the fraction of bad vertices is less than s1/9.

The algorithm tries to find a good pair (h1,h2)1×2 in the straightforward manner. Basically, the algorithm makes one pass over the input graph stream, and each vertex keeps a counter 𝖼𝗇𝗍(v,h1,h2) for every pair (h1,h2)1×2 which is equal to the value of
𝖼𝗇𝗍(v,h1,h2)=|Ci,h2h1(v)Fv|(|{uN(v)uBi,h1h1(v)}|+|{uN(v)ϕ(u)Ci,h2h1(v)Fv}|)

Maintaining the counter 𝖼𝗇𝗍(v,h1,h2) is straightforward: when an edge (u,v) from the input stream is read, we check if uBi,h1h1(v) and ϕ(u)Ci,h2h1(v)Fv respectively and update 𝖼𝗇𝗍(v,h1,h2) accordingly. Besides, we also check whether the second inequality is preserved under (h1,h2) for v:

|Ci,h2h1(v)|(1+η)Δ(1+1logΔ)t+1/Mt+1

This decides whether a vertex is good or bad with respect to any pair (h1,h2), so in the end we can find one good pair (h1,h2) if it exists. The total required would be |1||2|=O(s2log6n) for each pair, so the overall space would be O~(n) since |ϕ1()|n/s2.

After we have found a good pair (h1,h2)1×2 whose existence will be proven later, add all the bad vertices to Bbad, and update the vertex partition as:

ϕ1()=Bbadi=1lj=1MB~i,h1j

where B~i,h1j={vBi,h1jv is good}.

As for the color partition, if some sub-palette Ci,h2j has size larger than

(1+η)Δ(1+1logΔ)t+1/Mt+1

then merge it with Cbad. All other sub-palettes Ci,h2j stay in the partition:

[(1+η)Δ]=Cbadi=1l1jM,|Ci,h2j|(1+η)Δ(1+1logΔ)t+1/Mt+1Ci,h2j

In-Memory Coloring

Assume Invariant 13 is preserved at the beginning of every round. Let t be the smallest integer such that

(1+η)Δ(1+1logΔ)t/Mts2

By definition, M=s1/2002>0.52logΔ, and so t=O(logΔlogM)=O(logΔlogs). Then, after the (t1)-th round, in the color partition [(1+η)Δ]=CbadC1Cl, for each 1il we have:

|Ci|(1+η)Δ(1+1logΔ)t/Mts2

Also, in the vertex partition ϕ1()=BbadB1Bl, for each 1il and vBi, we have:

|CiFv|(|{uN(v)uBi}|+|{uN(v)ϕ(u)CiFv}|)
ηΔ(11logΔ)t/Mt>0

Consequently, we have:

|(CiFv){uN(v)ϕ(u)CiFv}|>|{uN(v)uBi}|

This means that the total number of neighbors uN(v) that are in the same bin Bi as v is strictly less than the number of available colors of v in (CiFv){uN(v)ϕ(u)CiFv}. So, there exists a color extension ϕ of ϕ which assigns a color from CiFv to v for each vBi,1il. To find such a valid color extension ϕ, it suffices to store all the color lists CiFv as well as all edges (u,v)E[Bi],1il in memory. Since the sets (CiFv){uN(v)ϕ(u)CiFv} and {uN(v)uBi} all have sizes at most s2, we can compute and store them in memory in one pass over the data stream. The whole algorithm is summarized in Algorithm 1.

Algorithm 1 𝖢𝗈𝗅𝗈𝗋𝖤𝗑𝗍𝖾𝗇𝖽(ϕ).

3.2 Proof of Correctness

We first show that by merging the list Lv with Fv, we have removed all the frequent colors from consideration.

Lemma 15.

Let vBi,i1 be any vertex. After the algorithm merges the lists Lv with sets Fv, for any color cCiFv, we have:

|{uN(v)ϕ(u)=c}||CiFv|s+2

At the same time, we also have:

|CiFv|(|{uN(v)uBi}|+|{uN(v)ϕ(u)CiFv}|)η3s2s
Proof.

According to Lemma 6, Lv contains at most s elements but it includes all elements in CiFv (before merging Lv with Fv) such that |{uN(v)ϕ(u)=c}|>|CiFv|s. Therefore, after merging Fv with Lv, we have:

|{uN(v)ϕ(u)=c}||CiFv|+ss|CiFv|s+2

Also, by Invariant 13 and that |Lv|s, we have:

|CiFv|(|{uN(v)uBi}|+|{uN(v)ϕ(u)CiFv}|)
ηΔ(11logΔ)t/Mts
=η1+η(logΔ1logΔ+1)t(1+η)Δ(1+1logΔ)t/Mts
η3s2s

The last inequality has utilized the fact that 11+η(logΔ1logΔ+1)t1(1+η)e>η3 when η<0.1, as well as the fact that (1+η)Δ(1+1logΔ)t/Mt>s2 when t<t, according to the definition of t in the previous sub-section.

Next, we show that there always exists a good pair (h1,h2) of hash functions.

Lemma 16.

There always exists a good pair (h1,h2)1×2 of hash functions under Definition 14.

Proof.

Let us analyze the probability that any single vertex vBi,1il is good when h1,h2 are drawn uniformly at random from 1,2. To lower bound the value of linear estimator which is

ψ(v,j,h1,h2)=def|Ci,h2jFv||{uN(v)uBi,h1j}||{uN(v)ϕ(u)Ci,h2jFv}|

We view it as a combination of three sums:

ψ(v,j,h1,h2) =|Ci,h2jFv||{uN(v)uBi,h1j}||{uN(v)ϕ(u)Ci,h2jFv}|
=cCiFv𝟏[h2(c)=j]uN(v)Bi𝟏[h1(u)=j]
cCiFv𝟏[h2(c)=j]|{uN(v)ϕ(u)=c}|

Then we are going to apply Lemma 10 to each of the sums respectively.

  • For the first summation, by Lemma 15, we know that:

    |CiFv|ηs23s>s1/2

    Then, by Lemma 10, for parameter γ=η20logΔ,k=10 we have:

    Prh22[|cCiFv𝟏[h2(c)=j]|CiFv|M|γ|CiFv|M] (5)
    (Mkγ|CiFv|)k+ϵ(2M2/γ)k(20MklogΔηs1/4)k+(40logΔηM3)k

    By definition k=10,M=s1/2002 and s2200logΔ, we have:

    20MklogΔηs1/42010s1/200logΔηs1/4<1s1/5
    40logΔηM3640logΔηs3/200<1s1/80

    Therefore, the right-hand side of Equation 5 is less than:

    (1s1/5)k+(1s1/80)k<2s1/8
  • For the second summation, if |N(u)Bi|s1/2, then by Lemma 15 we know that

    |N(u)Bi|s1/2<ηs32|CiFv|/s

    Otherwise if |N(u)Bi|>s1/2, then by Lemma 10, for parameter γ=η20logΔ we have (reusing the same calculation as above):

    Prh11[|uN(v)Bi𝟏[h1(u)=j]|N(v)Bi|M|γ|N(v)Bi|M] (6)
    (Mkγ|N(v)Bi|)k+ϵ(2M2/γ)k(20MklogΔηs1/4)k+(40logΔηM3)k2s1/8
  • Finally, let us turn to the third summation. Classify all the colors cCiFv currently used by some neighbors of v as following. For each non-negative integer r0, define a color subset

    Dr={cCiFv|{uN(v)ϕ(u)=c}|[2r,2r+1)}

    According to Lemma 15, when 2r>|CiFv|s+2 it must be Dr=. Additionally, define the following quantity:

    dr=cDr|{uN(v)ϕ(u)Dr}|

    So by definition, we have:

    r0dr=|{uN(v)ϕ(u)CiFv}|

    For each index r such that |Dr|>s, apply Lemma 10 with parameter γ=15logΔ we have (reusing the same calculation as above):

    Prh22[|cDr𝟏[h2(c)=j]|{uN(v)ϕ(u)=c}|drM|γ/22r+1|Dr|M>γdrM] (7)
    (Mkγ|Dr|)k+ϵ(2M2/γ)k(20MklogΔηs1/4)k+(40logΔηM3)k2s1/8

    For the rest cases where |Dr|s, we have:

    |Dr|sdrlogΔs2(|CiFv|s+2)<3logΔ|CiFv|/s (8)

Summing up the above three cases, we can conclude (by a union bound) that with probability at least 16Ms1/8 over the choice of (h1,h2), the linear estimator ψ(v,j,h1,h2) is at least (for all j[M] ):

ψ(v,j,h1,h2) (1γ)|CiFv|M((1+γ)|N(v)Bi|M+|CiFv|s)
((1+γ)|{uN(v)ϕ(u)CiFv}|M+3logΔ|CiFv|s)
1M(|CiFv||{uN(v)uBi}||{uN(v)ϕ(u)CiFv}|)
γM(|CiFv|+|{uN(v)uBi}|+|{uN(v)ϕ(u)CiFv}|)
(|CiFv|s+3logΔ|CiFv|s)
ηΔ(11logΔ)t/Mt+12γ(1+η)Δ(1+1logΔ)t/Mt+1
(Ms+3MlogΔs)(1+η)Δ(1+1logΔ)t/Mt+1
(1(1+η)e210logΔ(1+η)e2η(s0.9+s0.4))ηΔ(11logΔ)t/Mt+1
ηΔ(11logΔ)t+1/Mt+1

Here the first and second inequality is by Equations 5, 6, 7, and 8 and union bound, and the third inequality is by Invariant 13 which holds at the beginning of the t-th round.

Finally, let us also upper bound the probability that the second condition of Definition 14 is violated. Again, for any j[M], using Lemma 10 we have:

Prh22[|Ci,h2j|>(1+η)Δ(1+1logΔ)t+1/Mt+1]
=Prh22[cCi𝟏[h2(c)=j]>(1+η)Δ(1+1logΔ)t+1/Mt+1]
Prh22[|cCi𝟏[h2(c)=j]|Ci|M|>|Ci|MlogΔ]
(MklogΔ|Ci|)k+ϵ(2M2logΔ)k2s1/8

Here the first inequality has used the fact that Invariant 13 holds in the previous round, and the last inequality holds because it is even smaller compared to right-hand side of Equation 5.

By a union bound over all j[M], we can conclude that v is good under Definition 14 with probability at least 18Ms1/8>1s1/9 when (h1,h2) is drawn uniformly at random from 1×2. By linearity of expectation and according to Definition 14, there must be a good pair (h1,h2)1×2 which concludes the proof.

Now that we have shown that a good pair (h1,h2) always exists, the algorithm would use it to partition the color and vertex sets further while still preserving Invariant 13. By the algorithm description, the number of rounds is at most O(logΔlogs), so the total number of vertices in Bbad is at most

|Bbad|O(logΔlogs)s1/9|ϕ1()|s1/10|ϕ1()|

using the fact that s2αlogΔ with α=200 being a large constant. By the algorithm description, all vertices in ϕ1()Bbad would be colored under the color extension ϕ, so this concludes the proof of Lemma 11.

4 Open Problems

Our result for streaming vertex coloring initiates several interesting questions regarding deterministic streaming algorithms.

Optimal Pass Complexity

The current number of passes O(logΔ) for O(Δ)-coloring seems to be a barrier against our approach. New ideas might be needed to achieve faster pass efficiency, say O(loglogΔ) passes.

(𝚫+𝟏)-Coloring

Bypassing the logarithmic bound O(logΔ) in the case of (Δ+1)-coloring looks significantly more challenging than O(Δ)-coloring. Both Step 1 and Step 2 break down in the proof of Theorem 2: firstly, it is not known how to reduce the number of uncolored vertices by half within O(1) passes; secondly, the approach of pruning frequent neighbor colors also does not work with only Δ+1 colors.

Maximal Independent Set

As a closely related problem to (Δ+1)-coloring, maximal independent set is also a locally checkable problem, but it is usually harder than (Δ+1)-coloring in various computation models (for example, in the dynamic setting, (Δ+1)-coloring seems easier than maximal independent set [21, 12, 8, 16]), and arguably studied more widely than (Δ+1)-coloring. In the streaming setting, the pass complexity of randomized algorithms has been settled recently in [6] which is Θ(loglogn), while the current upper bound for deterministic algorithms is O(logn) by derandomizing Luby’s algorithm [23]. Breaking the logarithmic bound for deterministic maximal independent set would raise a fundamental question.

References

  • [1] Noga Alon, László Babai, and Alon Itai. A fast and simple randomized parallel algorithm for the maximal independent set problem. J. Algorithms, 7(4):567–583, 1986. doi:10.1016/0196-6774(86)90019-2.
  • [2] Noga Alon, Oded Goldreich, Johan Håstad, and René Peralta. Simple constructions of almost k-wise independent random variables. Random Structures & Algorithms, 3(3):289–304, 1992. doi:10.1002/rsa.3240030308.
  • [3] Sepehr Assadi, Amit Chakrabarti, Prantar Ghosh, and Manuel Stoeckl. Coloring in graph streams via deterministic and adversarially robust algorithms. In Proceedings of the 42nd ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, pages 141–153, 2023. doi:10.1145/3584372.3588681.
  • [4] Sepehr Assadi, Andrew Chen, and Glenn Sun. Deterministic graph coloring in the streaming model. In Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing, pages 261–274, 2022. doi:10.1145/3519935.3520016.
  • [5] 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, SODA ’19, pages 767–786, USA, 2019. SIAM. doi:10.1137/1.9781611975482.48.
  • [6] Sepehr Assadi, Christian Konrad, Kheeran K. Naidu, and Janani Sundaresan. O(log log n) passes is optimal for semi-streaming maximal independent set. In Bojan Mohar, Igor Shinkar, and Ryan O’Donnell, editors, Proceedings of the 56th Annual ACM Symposium on Theory of Computing, STOC 2024, Vancouver, BC, Canada, June 24-28, 2024, STOC 2024, pages 847–858, New York, NY, USA, 2024. ACM. doi:10.1145/3618260.3649763.
  • [7] Sepehr Assadi, Pankaj Kumar, and Parth Mittal. Brooks’ theorem in graph streams: a single-pass semi-streaming algorithm for δ-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, STOC 2022, pages 234–247, New York, NY, USA, 2022. ACM. doi:10.1145/3519935.3520005.
  • [8] Soheil Behnezhad, Mahsa Derakhshan, MohammadTaghi Hajiaghayi, Cliff Stein, and Madhu Sudan. Fully dynamic maximal independent set with polylogarithmic update time. In David Zuckerman, editor, 60th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2019, Baltimore, Maryland, USA, November 9-12, 2019, pages 382–405. IEEE Computer Society, 2019. doi:10.1109/FOCS.2019.00032.
  • [9] Omri Ben-Eliezer, Rajesh Jayaram, David P Woodruff, and Eylon Yogev. A framework for adversarially robust streaming algorithms. ACM Journal of the ACM (JACM), 69(2):1–33, 2022. doi:10.1145/3498334.
  • [10] Suman K. Bera, Amit Chakrabarti, and Prantar Ghosh. Graph Coloring via Degeneracy in Streaming and Other Space-Conscious Models. In Artur Czumaj, Anuj Dawar, and Emanuela Merelli, editors, 47th International Colloquium on Automata, Languages, and Programming (ICALP 2020), volume 168 of Leibniz International Proceedings in Informatics (LIPIcs), pages 11:1–11:21, Dagstuhl, Germany, 2020. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ICALP.2020.11.
  • [11] Suman Kalyan Bera and Prantar Ghosh. Coloring in graph streams, 2018. doi:10.48550/arXiv.1807.07640.
  • [12] 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.
  • [13] Carnegie Mellon University, 15-451/651: Algorithm Design and Analysis. Lecture 6: Streaming algorithms. https://www.cs.cmu.edu/˜15451-f22/lectures/lec06-streaming.pdf, 2022. Fall 2022, Carnegie Mellon University. URL: https://www.cs.cmu.edu/˜15451-f22/lectures/lec06-streaming.pdf.
  • [14] 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), volume 215 of Leibniz International Proceedings in Informatics (LIPIcs), pages 37:1–37:23, Dagstuhl, Germany, 2022. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ITCS.2022.37.
  • [15] 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.
  • [16] Shiri Chechik and Tianyi Zhang. Fully dynamic maximal independent set in expected poly-log update time. In David Zuckerman, editor, 60th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2019, Baltimore, Maryland, USA, November 9-12, 2019, pages 370–381. IEEE Computer Society, 2019. doi:10.1109/FOCS.2019.00031.
  • [17] Benny Chor, Oded Goldreich, Johan Håstad, Joel Friedman, Steven Rudich, and Roman Smolensky. The bit extraction problem of t-resilient functions (preliminary version). In 26th Annual Symposium on Foundations of Computer Science, Portland, Oregon, USA, 21-23 October 1985, pages 396–407. IEEE Computer Society, 1985. doi:10.1109/SFCS.1985.55.
  • [18] Sam Coy, Artur Czumaj, Peter Davies, and Gopinath Mishra. Optimal (degree+1)-coloring in congested clique. In Kousha Etessami, Uriel Feige, and Gabriele Puppis, editors, 50th International Colloquium on Automata, Languages, and Programming, ICALP 2023, July 10-14, 2023, Paderborn, Germany, volume 261 of LIPIcs, pages 46:1–46:20. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPIcs.ICALP.2023.46.
  • [19] Artur Czumaj, Peter Davies, and Merav Parter. Simple, deterministic, constant-round coloring in the congested clique. In Proceedings of the 39th Symposium on Principles of Distributed Computing, pages 309–318, 2020. doi:10.1145/3382734.3405751.
  • [20] Nick Gravin, Siyao Guo, Tsz Chiu Kwok, and Pinyan Lu. Concentration bounds for almost k-wise independence with applications to non-uniform security. In Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2404–2423. SIAM, 2021. doi:10.1137/1.9781611976465.143.
  • [21] Monika Henzinger and Pan Peng. Constant-time Dynamic (Δ+1)-Coloring. ACM Trans. Algorithms, 18(2), March 2022. doi:10.1145/3501403.
  • [22] Piotr Indyk and David P. Woodruff. Tight lower bounds for the distinct elements problem. In 44th Symposium on Foundations of Computer Science, FOCS 2003, Cambridge, MA, USA, October 11-14, 2003, Proceedings, pages 283–288. IEEE Computer Society, 2003. doi:10.1109/SFCS.2003.1238202.
  • [23] Michael Luby. A simple parallel algorithm for the maximal independent set problem. SIAM J. Comput., 15:1036–1053, 1985. doi:10.1137/0215074.
  • [24] Jayadev Misra and David Gries. Finding repeated elements. Sci. Comput. Program., 2(2):143–152, 1982. doi:10.1016/0167-6423(82)90012-0.
  • [25] Joseph Naor and Moni Naor. Small-bias probability spaces: Efficient constructions and applications. SIAM J. Comput., 22(4):838–856, 1993. doi:10.1137/0222053.
  • [26] Anna Pagh and Rasmus Pagh. Uniform hashing in constant time and optimal space. SIAM J. Comput., 38(1):85–96, 2008. doi:10.1137/060658400.
  • [27] Merav Parter. (delta+1) coloring in the congested clique model. In Ioannis Chatzigiannakis, Christos Kaklamanis, Dániel Marx, and Donald Sannella, editors, 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018, Prague, Czech Republic, July 9-13, 2018, volume 107 of LIPIcs, pages 160:1–160:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPIcs.ICALP.2018.160.
  • [28] Merav Parter and Hsin-Hao Su. Randomized (Δ+1)-Coloring in O(logΔ) Congested Clique Rounds. In Ulrich Schmid and Josef Widder, editors, 32nd International Symposium on Distributed Computing, DISC 2018, New Orleans, LA, USA, October 15-19, 2018, volume 121 of LIPIcs, pages 39:1–39:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPIcs.DISC.2018.39.
  • [29] Manuel Stoeckl. Streaming algorithms for the missing item finding problem. 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 793–818. SIAM, 2023. doi:10.1137/1.9781611977554.ch32.