Toolbox

C1: Distributed Coloring (-2): Revisit Basic Coloring Algorithms

Reminder: This post contains 3031 words · 9 min read · by Xianbin

This post revisited previous basic coloring algorithm in LOCAL model.

Sperner’s Theorem

Let SS denote a set of nn objects.

Theorem\textbf{Theorem}. Given a Sperner collection CC on SS (each set will not be the subset of another one), we have AC1(nk)1\sum_{A\in C} \frac{1}{n \choose k} \leq 1 where A=k\lvert A \rvert = k.

The above theorem means that AC(nk)(nn/2)\sum_{A\in C} \leq { n \choose k} \leq {n \choose \lfloor n/2 \rfloor}.

Formal Proof (by ChatGPT).

Consider all n!n! maximal chains in the subset lattice P([n])P([n]), each containing exactly one subset of every size. Each maximal chain is of the form: {x1}{x1,x2}{x1,x2,,xn}=[n]\emptyset \subset \{x_1\} \subset \{x_1, x_2\} \subset \dots \subset \{x_1, x_2, \dots, x_n\} = [n]. Each chain has exactly one set of size kk where k[n]k\in [n].

For an antichain CC, the fraction of chains passing through any ACA \in C is 1(nA)\frac{1}{\binom{n}{\lvert A\rvert}} , summing (the expected number of times a random maximal chain intersects CC) to at most 1 (each set AA in CC has one contribution; all together, they contributed at most 100%):

AC1(nA)1.\sum_{A\in C} \frac{1}{\binom{n}{|A|}} \leq 1.

Maximizing C\lvert C\rvert occurs when CC consists of subsets of size n/2\lfloor n/2 \rfloor, yielding

C(nn/2).\lvert C \vert \leq \binom{n}{\lfloor n/2 \rfloor}.

By [1].

For each ASA\subset S, there are exactly A!(nA)!\lvert A \rvert ! (n - \lvert A \rvert)! maximal chains of SS. Since of none of the n!n! maximal chains of SS meets CC more than one time, we have

ASA!(nA)!n!\sum_{A\in S} \lvert A \rvert ! (n - \lvert A \vert )! \leq n!

(Two different ways of counting!)

A Simple Coloring Algorithm from Sperner’s Theorem

By Sperner’s theorem, we can see that it is easy to construct a set of subsets such that each subset does not belong to another one. It is extremely helpful in coloring.

Lemma 1\textbf{Lemma 1}. Given a kk-coloring c1c_1 of a root tree, there exists an algorithm such that in a single round we can compute a k=logk+loglogk/2+1k' = \log k + \log\log k /2 + 1 without communication.

Proof\textbf{Proof}. The idea is simple. For a root tree, each node will know who is its parent. The main idea is to map {1,,k}\{1, \ldots, k\} to a set SkS_{k'} of subset. Now, let us imagine that if Sk\lvert S_{k'} \rvert is at least kk, then it means that we have a one-to-one mapping. Since our goal is to find a correct coloring, we do not allow that CiCjSkC_i \subseteq C_j \in S_{k'} (sufficient condition). (In a tree, to have a correct coloring, it is enough to consider these nodes a1a2a_1 \rightarrow a_2. Since it is one-to-one mapping, each color will be map to a distinct map. Also, for any CiCjC_i \cap C_j \neq \emptyset. We can always select a new for a2a_2. Then it is done.

After apply Lemma1 for logn\log ^* n times, we obtain a O(1)O(1)-coloring.

Next, let us see how to obtain a 3-coloring.

From kk-coloring to (k1)(k-1)-coloring

  1. Each node uu sends its color color(u)color(u) to its children. Each node vv use his parent color, i.e., color(u)color(u). (Notice that at this moment, all children have the same color). For the root node, we arbitrarily select one from {1,2,3}color(r)\{1, 2, 3\} \setminus {color(r)}.

  2. If the current color of vv is less than kk, we keep the color. Otherwise, we select any color from {1,2,3}{color(w),color(v)}\{1,2,3\}\setminus \{color(w), color(v)\}. (wuvw\to u\to v).

The observation is that nodes uu with color kk build an independent set. So, it is a proper coloring.

After applying the above procedure for constant times, we obtain a 3-coloring.

[1]. Lubell, D., 1966. A short proof of Sperner’s lemma. Journal of Combinatorial Theory, 1(2), p.299.