DGA 3

1. Acknowledgment

The notes for this lecture are taken almost verbatim, with only very minor edits, from the book Distributed Algorithms 2020 by Juho Hirvonen and Jukka Suomela, written to support the course Distributed Algorithms at Aalto University, Finland.

The book is available at:

https://jukkasuomela.fi/da2020/da2020.pdf

2. Efficient \((\Delta + 1)\)-Coloring

In the following sections we will describe two coloring algorithms that, together with the greedy color reduction algorithm, can be used to \((\Delta + 1)\)-color graphs of maximum degree \(\Delta\).

On a high level, the \((\Delta + 1)\)-coloring algorithm is composed of the following subroutines:

  1. Algorithm from Section 3: using unique identifiers as input, compute an \(O(\Delta^2)\)-coloring \(x\) in \(O(\log^* n)\) rounds.
  2. Algorithm from Section 2: given \(x\) as input, compute an \(O(\Delta)\)-coloring \(y\) in \(O(\Delta)\) rounds.
  3. Greedy color reduction: given \(y\) as input, compute a \((\Delta + 1)\)-coloring \(z\) in \(O(\Delta)\) rounds.

We have already seen the greedy algorithm that we will use in the final step. We will proceed in the reverse order and present next the algorithm that turns an \(O(\Delta^2)\)-coloring into an \(O(\Delta)\)-coloring.

In what follows, we will assume that the nodes are given the values of \(\Delta\) and \(n\) as input. These assumptions simplify the algorithms significantly.

3. Additive-Group Coloring

Consider two clocks with \(q\) steps, for any prime \(q\). The first clock moves its hand \(a\) steps in each time unit, and the second clock moves its hand \(b \ne a\) steps in each time unit. Starting from the same position, when are the two hands in the same position again?

It is a fundamental property of finite fields that they are in the same position again after exactly \(q\) steps. We recap definitions and facts about finite fields in Section 6.

Building on this observation, we construct an algorithm where each node behaves like a clock with one hand, turning its hand with some constant speed. We use the input coloring to ensure that clocks with the same starting position turn their hands at different speeds. Then we simply wait until a clock is in a position not shared by any of its neighbors, and this position becomes the final color of the node. If we do not have too many neighbors, each node will eventually find such a position, leading to a proper coloring.

3.1. Algorithm

Let \(q\) be a prime number with \(q > 2\Delta\). We assume that we are given a coloring with \(q^2\) colors, and we will show how to construct a coloring with \(q\) colors in \(O(q)\) rounds. Put otherwise, we can turn a coloring with \(O(\Delta^2)\) colors into a coloring with \(O(\Delta)\) colors in \(O(\Delta)\) rounds, as long as we choose our prime number \(q\) in a suitable manner.

If we have an input coloring with \(q^2\) colors, we can represent the color of node \(v\) as a pair

\[ f(v) = \langle f_1(v), f_2(v) \rangle, \]

where \(f_1(v)\) and \(f_2(v)\) are integers between \(0\) and \(q - 1\).

Using the clock analogy, \(v\) can be seen as a clock with the hand at position \(f_2(v)\), turning at speed \(f_1(v)\). In the algorithm, we stop clocks by setting \(f_1(v) = 0\) whenever this is possible in a conflict-free manner. When all clocks have stopped, all nodes have colors of the form \(\langle 0, f_2(v) \rangle\), where \(f_2(v)\) is between \(0\) and \(q - 1\). Hence we obtain a proper coloring with \(q\) colors.

We say that two colors \(\langle a_1, a_2 \rangle\) and \(\langle b_1, b_2 \rangle\) are in conflict if \(a_2 = b_2\). The algorithm repeatedly performs the following steps:

  1. Each node sends its current color to each neighbor.
  2. For each node \(v\), if \(f(v)\) is in conflict with any neighbor, set

    \[ f(v) \leftarrow \left\langle f_1(v), (f_1(v) + f_2(v)) \bmod q \right\rangle. \]

    Otherwise, set

    \[ f(v) \leftarrow \langle 0, f_2(v) \rangle. \]

In essence, we stop non-conflicting clocks and keep moving all other clocks at a constant rate. We say that a node \(v\) is stopped when \(f_1(v) = 0\); otherwise it is running. A stopped node will not change its color any more.

We show that after \(O(q)\) iterations of this loop, all nodes will be stopped, and they form a proper coloring, assuming we started with a proper coloring.

3.2. Correctness

First, we show that in each iteration a proper coloring remains proper. In what follows, we use \(f\) to denote the coloring before one iteration and \(g\) to denote the coloring after the iteration. Consider a fixed node \(v\) and an arbitrary neighbor \(u\). We show by case analysis that

\[ f(v) \ne f(u) \implies g(v) \ne g(u). \]

3.2.1. Case 1: \(v\) is stopped after this round

Then

\[ g(v) = \langle 0, f_2(v) \rangle. \]

  1. Case 1a: \(f_1(u) = 0\)

    Then \(u\) has stopped and \(g(u) = f(u)\). By assumption \(f(v) \ne f(u)\), and therefore \(g(v) \ne g(u)\).

  2. Case 1b: \(f_1(u) \ne 0\), and \(f(u)\) is not in conflict with its neighbors

    Then

    \[ g(u) = \langle 0, f_2(u) \rangle. \]

    As there are no conflicts with \(v\), we must have \(f_2(v) \ne f_2(u)\), and therefore \(g(v) \ne g(u)\).

  3. Case 1c: \(f_1(u) \ne 0\), and \(f(u)\) is in conflict with a neighboring color

    Then

    \[ g_1(u) = f_1(u) \ne 0 = g_1(v), \]

    and therefore \(g(v) \ne g(u)\).

3.2.2. Case 2: \(v\) is still running after this round

Then

\[ g(v) = \left\langle f_1(v), (f_1(v) + f_2(v)) \bmod q \right\rangle, \]

where \(f_1(v) \ne 0\).

  1. Case 2a: \(u\) has stopped

    Then \(g_1(u) = 0\), and therefore \(g(v) \ne g(u)\).

  2. Case 2b: \(u\) is running

    Then

    \[ g(u) = \left\langle f_1(u), (f_1(u) + f_2(u)) \bmod q \right\rangle. \]

    If \(f_1(v) \ne f_1(u)\), then \(g_1(v) \ne g_1(u)\), and therefore \(g(v) \ne g(u)\).

    Otherwise \(f_1(v) = f_1(u)\). By assumption, we must have \(f_2(v) \ne f_2(u)\), which implies \(g_2(v) \ne g_2(u)\), and therefore \(g(v) \ne g(u)\).

3.3. Running Time

Next we analyze the running time. Assume that we start with a proper coloring \(f\). We want to show that after a sufficient number of iterations of the additive-group algorithm, each node must have had an iteration in which its color did not conflict with the color of its neighbors, and hence got an opportunity to stop.

Let \(f^0\) denote the initial coloring before the first iteration, and let \(f^i\) denote the coloring after iteration \(i = 1, 2, \ldots\). The following lemma shows that two running nodes do not conflict too often during the execution.

3.3.1. Lemma 2.1

Consider \(t\) consecutive iterations of the additive-group coloring algorithm, for \(t \le q\). Let \(u\) and \(v\) be adjacent nodes such that both of them are still running before iteration \(t\). Then there is at most one iteration

\[ i = 0, 1, \ldots, t - 1 \]

with a conflict

\[ f^i_2(u) = f^i_2(v). \]

  1. Proof

    Assume that for some \(i\) we have

    \[ f^i(u) = \langle a, b \rangle \]

    and

    \[ f^i(v) = \langle a', b \rangle, \]

    with \(a \ne a'\). In the subsequent iterations \(j = i + 1, i + 2, \ldots\), we have

    \[ f^j_2(u) - f^j_2(v) \equiv (a - a')(j - i) \pmod q. \]

    Assume that for some \(j\) we have another conflict \(f^j_2(u) = f^j_2(v)\), implying that

    \[ (a - a')(j - i) \equiv 0 \pmod q. \]

    If a prime divides a product \(xy\) of two integers \(x\) and \(y\), then it also divides \(x\) or \(y\), by Euclid’s lemma. But \(a - a'\) cannot be a multiple of \(q\), since \(a \ne a'\) and \(0 \le a,a' < q\), and \(j - i\) cannot be a multiple of \(q\), either, since \(0 \le i < j < q\).

3.3.2. Lemma 2.2

Consider \(t\) consecutive iterations of the additive-group coloring algorithm, for \(t \le q\). Let \(u\) and \(v\) be adjacent nodes such that \(u\) is still running before iteration \(t\), but \(v\) was stopped before iteration \(1\). Then there is at most one iteration

\[ i = 0, 1, \ldots, t - 1 \]

with a conflict

\[ f^i_2(u) = f^i_2(v). \]

  1. Proof

    The same argument as in the proof of Lemma 2.1 works, this time with \(a' = 0\).

3.3.3. Finishing-time argument

It remains to show that, based on Lemmas 2.1 and 2.2, the algorithm finishes fast.

Consider a sequence of consecutive \(q > 2\Delta\) iterations of the additive-group coloring algorithm, starting with any initial coloring \(f\). Consider an arbitrary node \(u\) that does not stop during any of these rounds. Let \(v\) be a neighbor of \(u\). No matter if and when \(v\) stops, the color of \(v\) will conflict with the color of \(u\) at most twice during the \(q\) rounds:

  1. Consider the rounds, if any, in which \(v\) is running. There are at most \(q\) such rounds. By Lemma 2.1, \(u\) conflicts with \(v\) at most once during these rounds.
  2. Consider the remaining rounds, if any, in which \(v\) is stopped. There are at most \(q\) such rounds. By Lemma 2.2, \(u\) conflicts with \(v\) at most once during these rounds.

So for each neighbor \(v\) of \(u\), there are at most \(2\) rounds among \(q\) rounds such that the color of \(v\) conflicts with the color of \(u\). As there are at most \(\Delta\) neighbors, there are at most \(2\Delta\) rounds among \(q\) rounds such that the color of some neighbor of \(u\) conflicts with the current color of \(u\). But \(q > 2\Delta\), so there has to be at least one round after which none of the neighbors are in conflict with \(u\), and hence there will be an opportunity for \(u\) to stop.

4. Fast \(O(\Delta^2)\)-Coloring

The additive-group coloring algorithm assumes that we start with an \(O(\Delta^2)\)-coloring of the network. In this section we present an algorithm that computes an \(O(\Delta^2)\)-coloring in \(O(\log^* n)\) communication rounds.

The algorithm proceeds in two phases. In the first phase, the coloring given by the unique identifiers is iteratively reduced to an

\[ O(\Delta^2 \log^2 \Delta) \]

coloring. In the second phase, a final color reduction step yields an \(O(\Delta^2)\)-coloring.

Both phases are based on the same combinatorial construction, called a cover-free set family. We begin by describing the construction for the first phase.

4.1. Cover-Free Set Families

The coloring algorithm is based on the existence of non-covering families of sets. Intuitively, these are families of sets such that any two sets do not have a large overlap: then no small collection of sets contains all elements in another set. Therefore, if each node is assigned such a set, it can find an element that is not in the sets of its neighbors, and pick that element as its new color.

A family \(\mathcal J\) of \(n\) subsets of \(\{1, \ldots, m\}\) is \(k\)-cover-free if for every \(S \in \mathcal J\) and every collection of \(k\) sets \(S_1, \ldots, S_k \in \mathcal J\) distinct from \(S\), we have that

\[ S \nsubseteq \bigcup_{i=1}^{k} S_i. \]

4.2. Constructing Cover-Free Set Families

Cover-free set families can be constructed using polynomials over finite fields. The example of finite fields we are interested in is \(\mathrm{GF}(q)\), for a prime \(q\), which is simply modular arithmetic of integers modulo \(q\). We consider polynomials over such a field. A brief recap is given in Section 6.

A basic result about polynomials states that two distinct polynomials evaluate to the same value at a bounded number of points.

4.2.1. Lemma 3.1

Let \(f,g\) be two distinct polynomials of degree \(d\) over a finite field \(\mathrm{GF}(q)\), for some prime \(q\). Then \(f(x) = g(x)\) holds for at most \(d\) elements \(x \in \mathrm{GF}(q)\).

  1. Proof

    See Section 6.

4.2.2. Polynomial construction

Now fix a prime \(q\). Our base set will be

\[ X = \mathrm{GF}(q) \times \mathrm{GF}(q). \]

Thus we have

\[ \left| X \right| = m = q^2. \]

For a positive natural number \(d\), consider \(\mathrm{Poly}(d,q)\), the set of polynomials of degree \(d\) over \(\mathrm{GF}(q)\). For each polynomial \(g \in \mathrm{Poly}(d,q)\), fix the set

\[ S_g = \{(a,g(a)) \mid a \in \mathrm{GF}(q)\} \]

that is associated with this polynomial. Note that each \(S_g\) contains exactly \(q\) elements: one for each element of \(\mathrm{GF}(q)\). Then we can define the family

\[ \mathcal J = \mathcal J_{d,q} = \{S_g \mid g \in \mathrm{Poly}(d,q)\}. \]

Consider any two distinct polynomials \(f\) and \(g\) in \(\mathrm{Poly}(d,q)\). By Lemma 3.1 there are at most \(d\) elements \(a\) such that \(f(a) = g(a)\). Therefore

\[ \left| S_f \cap S_g \right| \le d, \]

and \(\mathcal J\) is a \(\lfloor q/d \rfloor\)-cover-free set family.

Any polynomial is uniquely defined by its coefficients. Therefore the set \(\mathcal J_{d,q}\) has size \(q^{d+1}\), as it consists of a set of pairs for each polynomial of degree \(d\).

By choosing parameters \(q\) and \(d\), we can construct a \(\Delta\)-cover-free family that can be used to color efficiently.

4.2.3. Lemma 3.2

For all integers \(x,\Delta\) such that \(x > \Delta \ge 2\), there exists a \(\Delta\)-cover-free family \(\mathcal J\) of \(x\) subsets from a base set of

\[ m \le 4(\Delta + 1)^2 \log^2 x \]

elements.

  1. Proof

    We begin by choosing a prime \(q\) such that

    \[ \lfloor (\Delta + 1) \log x \rfloor \le q \le 2 \cdot \lfloor (\Delta + 1) \log x \rfloor. \]

    By the Bertrand-Chebyshev theorem, such a prime must always exist. Set

    \[ d = \lfloor \log x \rfloor. \]

    By the previous observation, the family \(\mathcal J_{d,q}\), for the above parameter settings, is a \(\lfloor q/d \rfloor\)-cover-free family, where

    \[ \left\lfloor \frac{q}{d} \right\rfloor \ge \left\lfloor \frac{\lfloor (\Delta + 1) \log x \rfloor}{\lfloor \log x \rfloor} \right\rfloor \ge \left\lfloor \frac{(\Delta + 1) \log x - 1}{\log x} \right\rfloor \ge \Delta. \]

    There are at least

    \[ q^{d+1} \ge (\Delta \log x)^{\log x} > x \]

    sets in \(\mathcal J_{d,q}\), so we can choose \(x\) of them. The base set has

    \[ q^2 \le 4(\Delta + 1)^2 \log^2 x \]

    elements.

4.3. Efficient Color Reduction

Using \(\Delta\)-cover-free sets, we can construct an algorithm that reduces the number of colors from \(x\) to

\[ y \le 4(\Delta + 1)^2 \log^2 x \]

in one communication round, as long as \(x > \Delta\).

Let \(f\) denote the input \(x\)-coloring and \(g\) the output \(y\)-coloring. Assume that \(\mathcal J\) is a \(\Delta\)-cover-free family of \(x\) sets on a base set of \(y\) elements, as in Lemma 3.2, ordered as

\[ S_1, S_2, \ldots, S_x. \]

The algorithm functions as follows:

  1. Each node \(v \in V\) sends its current color \(f(v)\) to each of its neighbors.
  2. Each node receives the colors \(f(u)\) of its neighbors \(u \in N(v)\). Then it constructs the set \(S_{f(v)}\), and the sets \(S_{f(u)}\) for all \(u \in N(v)\). Since \(f(v) \ne f(u)\) for all \(u \in N(v)\), and \(\mathcal J\) is a \(\Delta\)-cover-free family, we have that

    \[ S_{f(v)} \nsubseteq \bigcup_{u \in N(v)} S_{f(u)}. \]

    In particular, there exists at least one

    \[ c \in S_{f(v)} \setminus \bigcup_{u \in N(v)} S_{f(u)}. \]

    Node \(v\) sets \(g(v) = c\) for the smallest such \(c\).

Now assume that \(f\) is a proper coloring, that is, \(f(v) \ne f(u)\) for all neighbors \(v\) and \(u\). This implies that for each node \(v\), each of its neighbors \(u\) selects a set that is different from \(S_{f(v)}\). Overall, the neighbors will select at most \(\Delta\) distinct sets. Since \(\mathcal J\) is a \(\Delta\)-cover-free family, each node \(v\) can find an element \(c \in S_{f(v)}\) that is not in the sets of its neighbors. Therefore setting \(g(v) = c\) forms a proper coloring.

Finally, since the sets \(S \in \mathcal J\) are subsets of \(\{1, \ldots, y\}\), for

\[ y \le 4(\Delta + 1)^2 (\log x)^2, \]

we have that \(g\) is a \(y\)-coloring.

4.4. Iterated Color Reduction

By repeated application of the color reduction algorithm, it is possible to reduce the number of colors down to

\[ O(\Delta^2 \log^2 \Delta). \]

Assuming we start with an input \(x\)-coloring, this will take \(O(\log^* x)\) rounds.

We will now show that \(O(\log^* x)\) iterations of the color reduction algorithm will reduce the number of colors from \(x\) to \(O(\Delta^2 \log^2 \Delta)\). We assume that in the beginning, both \(x\) and \(\Delta\) are known. Therefore after each iteration, all nodes know the total number of colors.

Assume that

\[ x > 4(\Delta + 1)^2 \log^2 \Delta. \]

Repeated iterations of the color reduction algorithm reduce the number of colors as follows:

\[ x_0 \mapsto x_1 \le 4(\Delta + 1)^2 \log^2 x, \]

\begin{aligned} x_1 \mapsto x_2 &\le 4(\Delta + 1)^2 \log^2\left(4(\Delta + 1)^2 \log^2 x\right) \\ &= 4(\Delta + 1)^2 \left(\log 4 + 2\log(\Delta + 1) + 2\log\log x\right)^2. \end{aligned}

If

\[ \log\log x \ge \log 4 + 2\log(\Delta + 1), \]

we have that

\[ x_2 \le 4(\Delta + 1)^2 (3\log\log x)^2 = \left(6(\Delta + 1)\log\log x\right)^2. \]

In the next step, we reduce colors as follows:

\begin{aligned} x_2 \mapsto x_3 &\le 4(\Delta + 1)^2 \log^2\left(36(\Delta + 1)^2(\log\log x)^2\right) \\ &= 4(\Delta + 1)^2 \left(\log 36 + 2\log(\Delta + 1) + 2\log\log\log x\right)^2. \end{aligned}

If

\[ \log\log\log x \ge \log 36 + 2\log(\Delta + 1), \]

we have that

\[ x_3 \le 4(\Delta + 1)^2 (3\log\log\log x)^2 = \left(6(\Delta + 1)\log\log\log x\right)^2. \]

Now we can see the pattern: as long as

\[ \log^{(i)} x \ge \log 36 + 2\log(\Delta + 1), \]

where \(\log^{(i)} x\) is the \(i\)-times iterated logarithm of \(x\), we reduce colors from

\[ \left(6(\Delta + 1)\log^{(i-1)}x\right)^2 \]

to

\[ \left(6(\Delta + 1)\log^{(i)}x\right)^2 \]

in the \(i\)-th step.

Once

\[ \log^{(i)}x \ge \log 36 + 2\log(\Delta + 1) \]

no longer holds, we have a coloring with at most

\[ c_\Delta = 4(\Delta + 1)^2 \left(3(\log 36 + 2\log(\Delta + 1))\right)^2 \]

colors. We can numerically verify that for all \(\Delta \ge 2\), we have that

\[ 4(\Delta + 1)^2 \left(3(\log 36 + 2\log(\Delta + 1))\right)^2 \le (11(\Delta + 1))^3. \]

We will use this observation in the next step.

It remains to calculate how many color reduction steps are required. By definition, after \(T = \log^* x\) iterations we have that

\[ \log^{(T)} x \le 1. \]

Thus, after at most \(\log^* x\) iterations of the color reduction algorithm, we have a coloring with at most \(c_\Delta\) colors.

4.5. Final Color Reduction Step

In the last step, we will reduce the coloring to an \(O(\Delta^2)\)-coloring. We will use another construction of \(\Delta\)-cover-free families based on polynomials.

4.5.1. Lemma 3.3

For all \(\Delta\), there exists a \(\Delta\)-cover-free family \(\mathcal J\) of \(x\) subsets from a base set of

\[ m \le (22(\Delta + 1))^2 \]

elements for

\[ x \le (11(\Delta + 1))^3. \]

This immediately gives us the following color reduction algorithm.

4.5.2. Corollary 3.4

There is a distributed algorithm that, given a \((11(\Delta + 1))^3\)-coloring as an input, computes a \((22(\Delta + 1))^2\)-coloring in one round.

4.5.3. Proof of Lemma 3.3

Our base set will be \(X\) with

\[ \left| X \right| = m = q^2, \]

for a prime \(q\). Again it is useful to see

\[ X = \mathrm{GF}(q) \times \mathrm{GF}(q) \]

as pairs of elements from the finite field over \(q\) elements.

Now consider polynomials \(\mathrm{Poly}(2,q)\) of degree \(2\) over \(\mathrm{GF}(q)\). For each such polynomial \(g \in \mathrm{Poly}(2,q)\), let

\[ S_g = \{(a,g(a)) \mid a \in \mathrm{GF}(q)\} \]

be the pairs defined by the valuations of the polynomial \(g\) at each element of \(\mathrm{GF}(q)\). We have that \(|S_g| = q\) for all \(g\).

Now we can construct the family

\[ \mathcal J = \mathcal J_{2,q} = \{S_g \mid g \in \mathrm{Poly}(2,q)\} \]

as the collection of point sets defined by all polynomials of degree \(2\). We have that

\[ \left| \mathcal J \right| = q^3, \]

since a polynomial is uniquely determined by its coefficients.

By Lemma 3.1, we have that

\[ \left| S_f \cap S_g \right| \le 2 \]

for any distinct polynomials \(f,g \in \mathrm{Poly}(2,q)\). Therefore covering any set \(S_g\) requires at least \(\lceil q/2 \rceil\) other sets, distinct from \(S_g\), from \(\mathcal J\).

We are now ready to prove that \(\mathcal J\) is a \(\Delta\)-cover-free family for suitable parameter settings. Since each set \(S_g\) contains \(q\) elements, and the intersection between the sets of distinct polynomials is at most \(2\), we want to find \(q\) such that

\[ 2\Delta \le q - 1 \]

and \(q^3\) is large enough. Using the Bertrand-Chebyshev theorem, we know that there exists a prime \(q\) such that

\[ 11(\Delta + 1) \le q \le 22(\Delta + 1). \]

Any value \(q\) from this range is large enough. The base set \(X\) has size

\[ m = q^2 \le (22(\Delta + 1))^2. \]

The family \(\mathcal J\) has size

\[ \left| \mathcal J \right| \ge (11(\Delta + 1))^3. \]

Finally, since we choose \(q \ge 2\Delta + 1\), we have that no collection of \(\Delta\) sets

\[ \mathcal S = \{S_1, S_2, \ldots, S_\Delta\} \subseteq \mathcal J \]

can cover a set \(S \notin \mathcal S\).

5. Putting Things Together

It remains to show how to use the three algorithms we have seen so far together.

5.1. Theorem 4.1

Assume that we know parameters \(\Delta\) and \(n\), and some polynomial bound \(n^c\) on the size of the unique identifiers. Graphs on \(n\) vertices with maximum degree \(\Delta\) can be \((\Delta + 1)\)-colored in

\[ O(\Delta + \log^* n) \]

rounds in the LOCAL model.

5.1.1. Proof

We begin with the unique identifiers, and treat them as an initial coloring with \(n^c\) colors.

  1. In the first phase, we run the efficient color reduction algorithm from Section 3.3 for

    \[ T_1 = \log^*(n^c) = O(\log^* n) \]

    rounds to produce a coloring \(y_1\) with at most \((11(\Delta + 1))^3\) colors.

  2. In the second phase, after \(T_1\) rounds have passed, each vertex can apply the final color reduction step from Section 3.5 to compute a coloring \(y_2\). This reduces colors from

    \[ (11(\Delta + 1))^3 \]

    to

    \[ (22(\Delta + 1))^2. \]

  3. After \(T_1 + 1\) rounds, we have computed an \(O(\Delta^2)\)-coloring \(y_2\). Now each vertex runs the additive-group coloring algorithm from Section 2, applying it with \(y_2\) as input. For a parameter

    \[ q \le 2\sqrt{(22(\Delta + 1))^2} = 44\Delta + 44, \]

    this algorithm runs for \(T_2 = q\) steps and computes a \(q\)-coloring \(y_3\).

  4. In the last phase, after \(T_1 + 1 + T_2\) rounds, we apply the greedy color reduction algorithm iteratively

    \[ T_3 = 43\Delta + 43 \]

    times. Each iteration requires one round and reduces the maximum color by one.

After a total of

\begin{aligned} T_1 + 1 + T_2 + T_3 &\le \log^*(n^c) + 87\Delta + 88 \\ &= O(\Delta + \log^* n) \end{aligned}

rounds, we have computed a \((\Delta + 1)\)-coloring.

6. Bibliographic Notes

The additive-group coloring algorithm is due to Barenboim, Elkin, and Goldenberg \([\mathrm{BEG18}]\). The efficient color reduction algorithm is from Linial \([\mathrm{Lin92}]\), and the construction of cover-free families from Barenboim and Elkin \([\mathrm{BE13}]\). The Bertrand-Chebyshev theorem was first proven by Chebyshev \([\mathrm{Che52}]\). The proof of Lemma 3.1 follows the proofs of Abraham \([\mathrm{Abr20}]\).

6.1. References

  • [Abr20] Ittai Abraham. Decentralized thoughts: The marvels of polynomials over a field, 2020.
  • [BE13] Leonid Barenboim and Michael Elkin. Distributed Graph Coloring: Fundamentals and Recent Developments. Morgan & Claypool Publishers, 2013.
  • [BEG18] Leonid Barenboim, Michael Elkin, and Uri Goldenberg. Locally-iterative distributed \((\Delta + 1)\)-coloring below Szegedy-Vishwanathan barrier, and applications to self-stabilization and to restricted-bandwidth models. In Proc. 37th ACM Symposium on Principles of Distributed Computing (PODC), pages 437–446, 2018.
  • [Che52] Pafnuty Chebyshev. Mémoire sur les nombres premiers. Journal de mathématiques pures et appliquées, 17(1):366–390, 1852.
  • [Lin92] Nathan Linial. Locality in Distributed Graph Algorithms. SIAM Journal on Computing, 21(1):193–201, 1992.

7. Appendix: Finite Fields

For our purposes, the finite field of size \(q\) can be seen as the set \(\{0, \ldots, q - 1\}\), equipped with modular arithmetic, for any prime \(q\). Fields support addition, subtraction, multiplication, and division with the usual rules. We denote the finite field with \(q\) elements, also known as a Galois field, by \(\mathrm{GF}(q)\).

Our proofs will use the following two properties of finite fields:

  1. Each element \(a\) of the field has a unique multiplicative inverse element, denoted by \(a^{-1}\), such that

    \[ a \cdot a^{-1} = 1. \]

  2. The product \(ab\) of two elements is zero if and only if \(a = 0\) or \(b = 0\).

We can define polynomials over \(\mathrm{GF}(q)\). A polynomial \(f[X]\) of degree \(d\) can be represented as

\[ f_0 + f_1X + f_2X^2 + \cdots + f_dX^d, \]

where the coefficients \(f_i\) are elements of \(\mathrm{GF}(q)\). A polynomial is non-trivial if there exists some \(f_i \ne 0\). An element \(a \in \mathrm{GF}(q)\) is a zero of a polynomial \(f\) if \(f(a) = 0\).

7.1. Proof of Lemma 3.1

We will prove the lemma by proving a related statement: any non-trivial polynomial of degree \(d\) has at most \(d\) zeros. Since \(f(x) - g(x)\) is a polynomial of degree at most \(d\), Lemma 3.1 follows.

The proof is by induction on \(d\). Let

\[ f[X] = f_0 + f_1X \]

be an arbitrary polynomial of degree \(1\) over some finite field of size \(q\). Since each element \(a\) of a field has a unique inverse \(a^{-1}\), there is a unique zero of \(f[X]\):

\[ X = -(f_0)(f_1)^{-1}. \]

Now assume that \(d \ge 2\) and that the claim holds for smaller degrees. If polynomial \(f\) has no zeros, the claim holds. Therefore assume that \(f\) has at least one zero \(a \in \mathrm{GF}(q)\). We will show that there exists a polynomial \(g\) of degree \(d - 1\) such that

\[ f = (X - a)g. \]

By the induction hypothesis, \(g\) has at most \(d - 1\) zeros, \(X - a\) has one zero, and we know that the product equals zero if and only if either \(X - a = 0\) or \(g[X] = 0\).

We show that \(g\) exists by induction. If \(d = 1\), we can select

\[ a = -(f_0)(f_1)^{-1} \]

and \(g = f_1\) to get

\[ f[X] = \left(X + (f_0)(f_1)^{-1}\right)f_1. \]

For \(d \ge 2\), we again make the induction assumption. Define

\[ f' = f - f_d X^{d-1}(X-a), \]

where \(f_d\) is the \(d\)-th coefficient of \(f\). This polynomial has degree less than \(d\), since the terms of degree \(d\) cancel out. We also have that

\[ f'(a) = 0, \]

since \(f(a) = 0\) by assumption. By the induction hypothesis, there exists a \(g'\) such that

\[ f' = (X-a)g' \]

and the degree of \(g'\) is at most \(d - 2\). By substituting \(f' = (X-a)g'\), we get

\begin{aligned} f &= (X-a)g' + (X-a)f_dX^{d-1} \\ &= (X-a)(g' + f_dX^{d-1}). \end{aligned}

Therefore \(f = (X-a)g\) for the polynomial

\[ g = g' + f_dX^{d-1}, \]

a polynomial of degree at most \(d - 1\).

Author: Lowtroo

Created on: 2026-04-26 Sun 15:00

Powered by Emacs 29.3 (Org mode 9.6.15)