Streaming Algorithms for Conflict-Free Coloring
Abstract
Conflict-free coloring of a hypergraph using colors is a function such that for all , there exists a vertex with a unique color. That is, for all . The minimum for which has a conflict-free coloring using colors is called the conflict-free chromatic number of . For a simple graph , a conflict-free coloring of the hypergraph with vertex set and edge set being the set of all closed neighborhoods of the vertices in is called a conflict-free closed neighborhood (CFCN) coloring of . CFCN chromatic number, denoted by , is the minimum number of colors used in a conflict-free closed neighborhood coloring of . Analogously, we define conflict-free open neighborhood (CFON) coloring and CFON chromatic number, , of a graph .
There are various works on proving upper and lower bounds of and . In this work, we develop streaming algorithms for CFCN and CFON coloring of a graph where the number of colors used matches the best-known upper bounds of and . Our algorithms use as input an edge stream of the graph in the insertion-only model. Our results and the best-known bounds for and are given below.
-
1.
Pach and Tardos [Combinatorics, Probability and Computing, 2009] showed that, for any vertex graph , . Glebov, Szabó and Tardos [Combinatorics, Probability and Computing, 2014] showed the existence of graphs with . We design a randomized single-pass semi-streaming algorithm (i.e., it uses space111The space complexity is in terms of number of words. that, given an -vertex graph , outputs a CFCN coloring of using colors with probability at least .
-
2.
Bhyravarapu, Kalyanasundaram, Mathew [Journal of Graph Theory, 2021] showed that for a graph with maximum degree , . The methods used by our algorithms give rise to a simpler, alternate proof for this bound.
-
3.
It is known that (See Pach and Tardos [Combinatorics, Probability and Computing, 2009] and Ph.D. thesis of Cheilaris). This bound is asymptotically tight.
-
We design a deterministic single-pass space streaming algorithm that, given a graph on vertices, finds a CFON coloring using colors.
-
We design a randomized, single-pass, semi-streaming algorithm to find a CFON coloring of a graph using colors with success probability at least .
-
-
4.
It is known that , where is the maximum degree of a vertex in . Further, there are graphs known with . We design a randomized two-pass semi-streaming algorithm (uses space) that outputs a CFON coloring of using colors, for any , with a probability at least .
Keywords and phrases:
Streaming algorithm, conflict-free coloring, vertex coloring, randomized algorithmsCopyright and License:
2012 ACM Subject Classification:
Theory of computation Streaming, sublinear and near linear time algorithmsEditors:
Pat Morin and Eunjin OhSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Conflict-Free coloring (or CF coloring) of a hypergraph is a coloring of its vertices in which each hyperedge sees some color exactly once. The minimum number of colors required for the CF coloring of a hypergraph , denoted by , is called the conflict-free chromatic number of . Motivated by its application in a frequency assignment problem in cellular networks, conflict-free coloring was introduced in 2002 by Even, Lokter, Ron, and Smorodinsky [17].
Cellular networks consist of base stations and mobile agents. Base stations, represented as vertices, are stationary and serve as the network’s core, while mobile agents are clients served by base stations. Each base station operates on a fixed frequency, represented by a color. To establish a connection with a base station, an agent’s device must tune itself to that base station’s frequency. Agents can be within the range of multiple base stations. The range of communication for each agent is defined by a hyperedge, which represents the set of base stations it is capable of communicating with. To prevent interference, frequencies must be assigned to base stations in a conflict-free manner as described below. Every mobile agent should be able to find some base station in its vicinity that operates in a frequency that is distinct from that of all the other base stations in its vicinity. In combinatorial terms, this is about coloring the base stations in such a way that every agent sees a base station of a unique color in the hyperedge associated with it. While assigning different frequencies to base stations can solve the problem, it is expensive. Therefore, a scheme that allows the reusing of frequencies, whenever possible is preferred to minimize expenses.
Recently, conflict-free coloring and its variants were used in [19] to get improved results on a problem in coding theory, namely the Pliable Index Coding problem. Also, CF coloring has found applications in battery consumption analysis in sensor networks, in certain problems related to RFID protocols, in the vertex ranking problem (also known as ordered coloring, which finds applications in various fields, such as VLSI design and operations research), etc. See [25, 24, 19, 17, 14, 16, 18, 23, 21, 15] for more details.
We define below two popular variants of the conflict-free coloring of graphs that have been extensively studied. Given a graph , the open neighborhood of a vertex in , denoted by , is the set of vertices adjacent to in . The closed neighborhood of a vertex in , denoted by , is defined as . A coloring of the vertices of using colors is a Conflict-Free Closed Neighborhood coloring (CFCN coloring) if every vertex sees some color exactly once in its closed neighborhood . The minimum for which such a coloring exists is called the Conflict-Free Closed Neighborhood chromatic number (or CFCN chromatic number) of . It is denoted by . Analogously, one can define Conflict-Free Open Neighborhood coloring (CFON coloring) and Conflict-Free Open Neighborhood chromatic number (CFON chromatic number) of a graph by replacing “closed neighborhood” with “open neighborhood” in the above definitions. It is denoted by . It is easy to see that for any graph , is at most its chromatic number as in any proper coloring of , every vertex sees its color exactly once in its closed neighborhood . However, there are graphs for which is arbitrarily larger than its chromatic number. For any positive integer , Example 4 gives bipartite graphs (and hence its CFCN chromatic number is at most ) with CFON chromatic number at least . It is known that for any graph with maximum degree , (i) (see [12]), and (ii) (see [23]). Both these bounds are asymptotically tight (see Section 2 for more details).
In this paper, we focus on semi-streaming algorithms (Refer [22] for more information on graph streams) for conflict-free coloring of graphs. We consider only graph streams that are insert-only. Below, we define an insert-only graph stream. We consider streams consisting of a sequence of undirected edges , where . Such a stream, naturally defines an undirected graph , where and . We assume the stream elements are distinct, and therefore, the resulting graph is a simple graph. An algorithm for graphs is a semi-streaming graph algorithm if it takes as input a graph stream and does all the computations using bits of space, where is the number of vertices of the graph. The efficiency of a graph algorithm in a streaming model is measured by the space it uses, the time it requires to process each edge, and the number of passes it makes over the graph stream. Extensive research has been conducted on semi-streaming algorithms for proper coloring of graphs, as demonstrated in several notable works [4, 5, 8, 3, 9, 1]. Similarly, edge coloring has been thoroughly explored in the context of streaming algorithms, with notable contributions found in [7, 2]. However, to the best of our knowledge, there is no streaming algorithm known for conflict-free coloring of graphs. We describe our results and methods in the section below.
2 Our contributions
First, we state a few results from the literature. Then we explain our results and briefly describe the key ideas involved. Please note that the space used by the algorithms mentioned below is in terms of the number of words.
Auxiliary results from the literature.
The following results on conflict-free coloring are due to Pach and Tardos [23].
Proposition 1 (Theorem 1.1 in [23]).
Let be a hypergraph, where every vertex is present in at most hyperedges. Then . Moreover, there is a deterministic time (and hence space) algorithm that obtains such a coloring.
Proposition 2 (Theorem 1.2 in [23]).
For any positive integers and , the conflict-free chromatic number of any hypergraph in which each edge is of size at least and each edge intersects at most others is .
As a corollary of Proposition 2, it is proved that . Cheilaris gave an alternate proof to to this result [14].
Proposition 3 (Proposition 4.40 in [14]).
For every graph G, .
Example 4.
Let denote the graph obtained from a complete graph on vertices by subdividing every edge exactly once. This graph with vertices and with a maximum degree of is known to have a CFON chromatic number of . Here, subdividing an edge means introducing a new vertex and replacing the edge with edges and .
Our methods and results.
Pach and Tardos [23] showed that, for any graph , where is the number of vertices in . Glebov, Szabó and Tardos [18] showed the existence of graphs with .
Result 1: There is a randomized, single-pass, space streaming algorithm that, given an -vertex graph , outputs a CFCN coloring of using colors with probability at least .
Our algorithm partitions the vertex set into two parts: Part A, which is made of vertices of degree at least for some constant , and Part B, which is the set of all the remaining vertices (which are of degree less than ). Part A is further partitioned into two parts, namely and . The set is made of all vertices in that have no neighbor in . We choose a random coloring for the vertices in from a geometric distribution. Then, we will show that, with high probability, every vertex in sees some color exactly once in its open and closed neighborhood.
Next, we construct a hypergraph , where . Observe that the maximum degree of is at most and hence can be CF colored by the greedy procedure given in Proposition 1 using colors. Finally, we observe that the union of the two colorings explained above (let this coloring be ) is a CFCN coloring of and obtain Result 1. Moreover, we observe that for many vertices, there is a unique color in its open neighborhood as well. More specifically, let . We prove that for any vertex , there is a unique colored vertex in . Also, notice that for all , and . So in the semi-streaming algorithm, we store the neighborhood information of the vertices in and obtain a CFON coloring of the graph induced on using at most colors. Then, the coloring defined as for all , is a CFON coloring of using colors. Here, for convenience, assume that if . This gives us the following result on CFON coloring.
Result 2: There is a randomized, single-pass, semi-streaming algorithm that, given a graph on vertices, finds a CFON coloring using colors and in polynomial time with probability at least .
From Proposition 3, we know that . This bound is asymptotically tight due to Example 4. Our next result, whose proof has been moved to the appendix due to the paucity of space, is the following.
Result 3: There is a deterministic, single-pass, space streaming algorithm that, given a graph on vertices, finds a CFON coloring using colors.
For a graph , with maximum degree , Pach and Tardos [23] in the year 2009 showed that for any . As mentioned above, in 2014, Glebov, Szabó, and Tardos [18] proved that there exist graphs on vertices with (and thereby ). In the year 2021, Bhyravarapu, Kalyanasundaram, and Mathew [12] tightened the upper bound to show that . The methods we use in proving Result 1 give us an alternate, shorter proof (which is given below).
Proof of .
We partition where , and . Further, let where and . We define a hypergraph where . From the definition of . Applying Proposition 2 with , we get . This coloring of the vertices of ensures that every vertex in sees some color exactly once in its closed neighborhood in . We define another hypergraph . Since the degree of a vertex in in graph is at most , we can conclude that every vertex in is present in at most hyperedges. Applying Proposition 1 on we get . We make sure that the set of colors used to color is disjoint from the set of colors used to color . This coloring of the vertices of ensures that every vertex in sees some color exactly once in its closed neighborhood in .
It is known that , where is the maximum degree of a vertex in (follows from Proposition 1). From Example 4, we know that this bound is tight. Our next result is the following.
Result 4: There is a two-pass semi-streaming algorithm (uses space) that outputs a CFON coloring of using colors, for any , with probability at least .
In our algorithm of Result 4, we use the pallete sparsification lemma of Assadi, Chen, and Khanna [4]. For each vertex , we sample a set of colors from . In the first pass of the stream, for each vertex , we identify a special vertex that will get a unique color among in our coloring. In the second pass, using the list of colors and special vertices, we find a sketch of of size . Finally, we do a greedy procedure on to get a CFON coloring.
We observe that any -pass streaming algorithm that determines if the CFCN (CFON) chromatic number of an input graph is at most or not, requires space. The proofs of both the results are by reductions from the two player communication problem Disjointness (refer [20]). In this problem, Alice and Bob are given two strings of length (say the strings given to them are and , respectively), and they are disjoint if there is no such that and . It is known that any protocol (even randomized) solving Disjointness requires at least space.
Proof of lower bound for CFCN.
Consider an instance of the Disjointness Problem where Alice is given an -bit string and Bob is given an -bit string . Together they construct a graph on vertices whose vertices are , where . For every , Alice adds the edges , , , to form -cycles. Further, for every , (i) if , then Alice adds the edge , and (ii) if , then Bob adds the edge . For each , they create one or two components of which is isomorphic to one of the graphs in Figure 1. The graph when both the corresponding bits intersect (i.e., ) require at least 3 colors for any CFCN coloring. It can be verified that the graph thus constructed has its CFCN chromatic number at most if and only if is a YES instance of the Disjointness problem.
Proof of lower bound for CFON.
For this purpose, given an instance , Alice and Bob together construct a graph on vertices, namely , , as described below: For every , Alice adds the edges . Further, for every , (i) if , then Alice adds the edge , and (ii) if , the Bob adds the edge . If there exists such that , then has a connected component which is a cycle of length 6 and we need at least 3 colors in any CFON coloring of it. Otherwise each connected component of is a path and its CFON chromatic number is at most . See Figure 2 for an illustration.
3 Semi-streaming algorithms for CFCN and CFON colorings
In this section, we prove the following theorems.
Theorem 5.
There exists a randomized, single-pass, semi-streaming algorithm that, given a graph with vertices, with probability at least , finds a CFCN coloring using colors, using space and in polynomial time.
Theorem 6.
There exists a randomized, single-pass, semi-streaming algorithm that, given a graph on vertices, with probability at least , finds a CFON coloring using colors, using space and in polynomial time.
Towards that, we first prove the following lemma about conflict-free coloring. The bound obtained on the number of colors used to do a conflict-free coloring of the hypergraph defined in this lemma can be obtained by directly substituting the values and in the statement of Proposition 2 that was proved in [23]. However, Proposition 2 would only ensure that such a coloring exists with positive probability. In the lemma below, we modify the proof of this proposition to obtain such a coloring with high probability. For the sake of completeness, we provide the proof of this lemma in the appendix.
Lemma 7 ().
222Proof of results marked with are deferred to the appendix.Let be a hypergraph with , , and for all , where is a positive integer. Then, Algorithm 1, which takes as input runs in time, uses space and with probability greater than returns a conflict-free coloring of that uses at most colors.
Next, we prove the following lemma that gives a coloring such that a subset of the vertices with “large” degree gets a unique color in its open and closed neighborhoods.
Lemma 8.
Let be a graph on vertices, where . Suppose for all , where is a positive integer with . Let be the coloring obtained by invoking Algorithm 1 with as input. Then, with probability , every vertex in sees some color exactly once in its open and closed neighborhoods.
Proof.
Proof follows from the application of Lemma 2 with defined as and .
Lemma 9.
Let and let be a graph on vertices, where with the following properties: is an independent set, for all , and for all . Then, Algorithm 2 is a greedy, deterministic algorithm that runs in time and space, and outputs a coloring of vertices in using at most colors with the following properties.
-
(a)
Every vertex in sees some color exactly once in its closed neighborhood.
-
(b)
Every vertex with sees some color exactly once in its open neighborhood.
Proof.
The hypergraph constructed in step 1 of Algorithm 2 takes space because the degree of this hypergraph is at most . It is easy to see that a conflict-free coloring of will ensure properties (a) and (b). Proposition 1 gives a conflict-free coloring of in time and space using at most colors.
Lemma 10.
Let be a graph on vertices, where
-
, , ,
-
for all , and
-
for all .
Algorithm 3 takes as input (i) the sets , (ii) for all , and (iii) for all , runs in time, uses space and gives a coloring of using colors such that with probability greater than the following holds.
-
(i)
is a CFCN coloring of .
-
(ii)
For every , sees some color exactly once in its open neighbourhood.
Proof.
We apply Lemma 8 with the following inputs: , where , , , and . The algorithm mentioned in Lemma 2, runs in time, as . It uses space and outputs the coloring function . With probability greater than , every vertex in will see some color exactly once in its open and closed neighborhoods under the coloring (as well as in ).
Next, we invoke Algorithm 2 with the following inputs: the graph , where , , , and . It is important to note that (i) is well-defined as every edge in has both its endpoints in , and (ii) is an independent set in . According to Lemma 9, Algorithm 2 outputs the coloring in time, using space, since . By property (a) of Lemma 9, every vertex in sees some color exactly once in its closed neighborhood under the coloring (as well as in ). Therefore, we have proved that is a CFCN coloring of .
Furthermore, based on the reasoning above, our algorithm takes time and space. We have already proved that with probability greater than , every vertex in will see some color exactly once in its open neighborhoods under the coloring . By the property of Lemma 9, we know that every vertex in , sees some vertex exactly once in its open neighborhood under the coloring (as well as in ). This proves property (ii) mentioned in the lemma.
Proof of Theorem 5.
The proof follows from the application of Lemma 10 and the following partitioning of the vertex set . We start by partitioning the vertex set into two sets, namely and , where and using the following procedure . Here, represents the set of high-degree vertices, while represents the set of low-degree vertices.
To facilitate the partitioning process, we maintain a list . Initially, we set and . As each edge passes through the stream, we update if and if . Additionally, if a vertex satisfies , then we update . At the end of the stream, we define . It is important to note that for any vertex , . Up to this point, the storage requirement for is space.
Next, for all , update as . That is is the set . Observe that updating ’s can only double the total space used so far. After updating , for all , we define and . We have thus obtained (i) the sets , (ii) , for all , and (iii) for all . We can now invoke Algorithm 3 with the required inputs to obtain a CFCN coloring function . From Lemma 10, we know that Algorithm 3 requires only space and runs in polynomial time.
Proof of Theorem 6.
Given a graph , we follow the same partitioning procedure mentioned in Theorem 5. That is, , and . We again partition into two sets: , where and That is, using similar steps as in the case of Theorem 5, we get the partition of into . Moreover, we also get for all in space. Now we invoke Algorithm 3 with the required inputs to obtain a coloring . From Lemma 10, we know that Algorithm 3 requires only space and runs in polynomial time. Moreover, with probability greater than , for every , sees some color exactly once in its open neighbourhood.
We now invoke Proposition 3 (or an algorithmic version of it (see Theorem 18)) on the graph where and get a CFON coloring of . Notice that and hence can be obtained in space and polynomial time (see Theorem 18). Now, consider the coloring on defined as follows.
Now it is easy to see that is a CFON coloring because for each , there is a unique color in the open neighborhood of due to the coloring and for each , there is a unique color in the open neighborhood of due to the coloring . Notice that the number of colors used in is .
4 Semi-streaming algorithm for CFON coloring using colors
In this section we prove a two-pass randomized semi-streaming algorithm for finding a CFON coloring of the input graph using colors, where is the maximum degree of . The theorem is formally stated below.
Theorem 11.
There is a two-pass randomized semi-streaming algorithm (uses space) that given a graph and , outputs a CFON coloring of using colors or reports fail. It outputs a CFON coloring with probability at least . Here, is the maximum degree of .
We would like to mention that prior knowledge of is not required. During the first pass of the edge stream, we find the maximum degree of , and for each vertex , a special vertex as explained below. Let and let be a fixed order . For each , where is the least index such that . We would like to mention that if our algorithm outputs a coloring, then for each vertex , will get a unique color among . It is easy to note that one can find the maximum degree from the first pass using space by keeping counters, one per vertex. One can find out the special vertices from the first pass of the edge stream using the following procedure. We maintain an array (call it “”) of size in memory. The array keeps track of the special vertices, i.e., the minimum indexed vertex in the open neighborhood of every vertex in the graph seen until now. Initially, all the elements in the array are set to NULL. When an edge comes in the stream, we update as follows.
-
If NULL, then set .
-
If for some vertex , then we set iff .
-
Similarly, we update the entry .
Notice that the space used in the first pass is . In the second pass of the stream, we construct a sketch of . Before the beginning of the second pass, for each vertex , we sample a set of colors of size from uniformly and independently at random with replacement. Note that is a multiset as the colors are sampled at random with replacement.
Definition 12 (Sketch of with respect to ).
A sketch of with respect to is the subgraph of defined as follows: , and
It is easy to store the sketch of in the second pass. For each edge encountered in the edge stream, we check if by checking the condition . Thus, by the end of the second pass, we have the sketch of with respect to .
Finally, we do a coloring using a greedy procedure on explained as follows. We color the vertices in the order . In the th step we color the vertex as follows. Let .
Note that for each and is the set of special vertices, of “all” the neighbors of , that are on the left side of in the ordering . Let . That is, is the set of colors from that are not used to color the vertices in . Now we color as per the following.
-
If , then report FAIL. That is no color is available in the list that is not equal to the color of the special vertices in .
-
Otherwise .
For convenience, the pseudocode of the algorithm is available in Algorithm 4. Next we prove the following lemma which will be used to prove Theorem 11.
Lemma 13 ().
With probability at least , .
Lemma 14.
Proof.
Suppose Algorithm 4 outputs a coloring . To prove that it is a CFON coloring of , we need to prove that for each , there is a vertex in with unique color. We will prove that for each vertex , becomes the uniquely colored vertex in . Recall that is the first vertex in among . So Algorithm 4 colors before coloring the vertices in . Step 6 of Algorithm 4 implies that each vertex in gets a color different from the color of . So, is the CFON coloring of .
We now find the probability that Algorithm 4 reports fail. Suppose Algorithm 4 reports FAIL in the th iteration of step . It means that . That is, . We know that . Here, we want to calculate . This is calculated as follows.
Here, the second inequality follows from the fact that . Notice that there are iterations, and by the union bound, the probability that the algorithm reports FAIL in any one of these iterations is at most .
Proof of Theorem 11.
We run Algorithm 4 times parallelly. In each execution of the algorithm, if the space used by it exceeds , then we abort it. Finally, if any of the execution outputs a coloring, we output one such coloring. Otherwise, we output FAIL. The probability that each execution is either aborted or output FAIL is upper bounded by . The probability that all the executions fail with probability is at most . This implies that the overall probability that Algorithm 4 succeeds is at least . Notice that each execution of Algorithm 4 takes space and hence the total space is .
5 Concluding remarks
Most of the study on CFCN and CFON coloring so far has been towards proving tighter bounds in terms of various graph parameters like maximum degree, order of the graph, pathwidth, etc. Showing improved bounds for special graph classes like planar graphs, line graphs, unit-disc graphs, etc. has also been explored. CFCN and CFON coloring problems have also been explored from a parameterized complexity setting [13, 10, 11]. To the best of our knowledge, this is the first paper exploring semi-streaming algorithms for these coloring problems. The bounds (on the number of colors used) we obtain in Theorems 5, 11, and 18 are asymptotically tight. Yet these leave us with many more intriguing open questions, some of which are listed below. Given as input an edge stream of an -vertex graph with maximum degree ,
-
1.
Is it possible to obtain a deterministic single pass semi-streaming algorithm that does a CFCN coloring using colors? The algorithm given by Theorem 5 is randomized.
-
2.
Is it possible to improve Theorem 6 to obtain a semi-streaming (deterministic or randomized) algorithm that gives a CFON coloring using colors?
-
3.
Is it possible to obtain a semi-streaming algorithm that outputs a CFON coloring of using colors? Theorem 11 gives a two-pass randomized semi-streaming algorithm that outputs a CFON coloring using at most colors. And, Theorem 18 can be modified to obtain a deterministic single-pass streaming algorithm for CFON coloring of using colors that uses space (the algorithm given by the theorem works, if . Otherwise, we store the entire graph and color it offline). As far as classical coloring is concerned, there are randomized single-pass semi-streaming algorithms that output a -coloring with high probability (see [6]). At the same time, it is known (see [8]) that any single-pass streaming algorithm that outputs a -coloring of requires at least space, where is the degeneracy of (the graph is -degenerate if its vertices can be arranged in a line such that every vertex has at most neighbors to its left. The minimum for which is -degenerate is called its degeneracy. Clearly, this parameter is at most ). Coming back to the CFON coloring problem, any CFON coloring of would want some vertex, say , in the neighborhood of each vertex to receive a color distinct from that of the other neighbors of . If we construct an auxiliary graph of by adding edges between and all the other neighbors of , for every , such a graph would have a maximum degree of and degeneracy of . And a classical coloring of this auxiliary graph would yield a CFON coloring of . This makes the question of obtaining a semi-streaming algorithm for -CFON coloring of all the more interesting.
References
- [1] Noga Alon and Sepehr Assadi. Palette sparsification beyond vertex coloring. International Workshop and International Workshop on Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques 2020, 2020. doi:10.4230/LIPIcs.APPROX/RANDOM.2020.6.
- [2] Mohammad Ansari, Mohammad Saneian, and Hamid Zarrabi-Zadeh. Simple streaming algorithms for edge coloring. In 30th Annual European Symposium on Algorithms (ESA 2022). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPIcs.ESA.2022.8.
- [3] Sepehr Assadi, Amit Chakrabarti, Prantar Ghosh, and Manuel Stoeckl. Coloring in graph streams via deterministic and adversarially robust algorithms. PODS ’23: Proceedings of the 42nd ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, 2022.
- [4] Sepehr Assadi, Yu Chen, and Sanjeev Khanna. Sublinear algorithms for (+ 1) vertex coloring. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 767–786. SIAM, 2019. doi:10.1137/1.9781611975482.48.
- [5] Sepehr Assadi, Pankaj Kumar, and Parth Mittal. Brooks’ theorem in graph streams: a single-pass semi-streaming algorithm for -coloring. In Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing, pages 234–247, 2022.
- [6] Sepehr Assadi and Helia Yazdanyar. Simple sublinear algorithms for (+ 1) vertex coloring via asymmetric palette sparsification. In 2025 Symposium on Simplicity in Algorithms (SOSA), pages 1–8. SIAM, 2025. doi:10.1137/1.9781611978315.1.
- [7] Soheil Behnezhad and Mohammad Saneian. Streaming edge coloring with asymptotically optimal colors. arXiv preprint arXiv:2305.01714, 2023. doi:10.48550/arXiv.2305.01714.
- [8] 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.
- [9] 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.
- [10] Sriram Bhyravarapu, Tim A. Hartmann, Subrahmanyam Kalyanasundaram, and I. Vinod Reddy. Conflict-free coloring: Graphs of bounded clique width and intersection graphs. In Paola Flocchini and Lucia Moura, editors, Combinatorial Algorithms, pages 92–106, Cham, 2021. Springer International Publishing. doi:10.1007/978-3-030-79987-8_7.
- [11] Sriram Bhyravarapu and Subrahmanyam Kalyanasundaram. A tight bound for conflict-free coloring in terms of distance to cluster. Discrete Mathematics, 345(11):113058, 2022. doi:10.1016/j.disc.2022.113058.
- [12] Sriram Bhyravarapu, Subrahmanyam Kalyanasundaram, and Rogers Mathew. A short note on conflict-free coloring on closed neighborhoods of bounded degree graphs. Journal of Graph Theory, 97(4):553–556, 2021. doi:10.1002/JGT.22670.
- [13] Hans L. Bodlaender, Sudeshna Kolay, and Astrid Pieterse. Parameterized complexity of conflict-free graph coloring. SIAM J. Discret. Math., 35(3):2003–2038, 2021. doi:10.1137/19M1307160.
- [14] Panagiotis Cheilaris. Conflict-free coloring. City University of New York, 2009.
- [15] Michał Dębski and Jakub Przybyło. Conflict-free chromatic number versus conflict-free chromatic index. Journal of Graph Theory, 99(3):349–358, 2022. doi:10.1002/JGT.22743.
- [16] Khaled M. Elbassioni and Nabil H. Mustafa. Conflict-free colorings of rectangles ranges. In Bruno Durand and Wolfgang Thomas, editors, STACS 2006, 23rd Annual Symposium on Theoretical Aspects of Computer Science, Marseille, France, February 23-25, 2006, Proceedings, volume 3884 of Lecture Notes in Computer Science, pages 254–263. Springer, 2006. doi:10.1007/11672142_20.
- [17] Guy Even, Zvi Lotker, Dana Ron, and Shakhar Smorodinsky. Conflict-free colorings of simple geometric regions with applications to frequency assignment in cellular networks. SIAM Journal on Computing, 33(1):94–136, 2003. doi:10.1137/S0097539702431840.
- [18] Roman Glebov, Tibor Szabó, and Gábor Tardos. Conflict-free colouring of graphs. Combinatorics, Probability and Computing, 23(3):434–448, 2014. doi:10.1017/S0963548313000540.
- [19] Prasad Krishnan, Rogers Mathew, and Subrahmanyam Kalyanasundaram. Pliable index coding via conflict-free colorings of hypergraphs. In 2021 IEEE International Symposium on Information Theory (ISIT), pages 214–219. IEEE, 2021. doi:10.1109/ISIT45174.2021.9518120.
- [20] E Kushilevitz and N Nisan. Communication complexity, cambridge univ. Press, Cambridge, UK, 1997.
- [21] Nissan Lev-Tov and David Peleg. Conflict-free coloring of unit disks. Discrete Applied Mathematics, 157(7):1521–1532, 2009. doi:10.1016/j.dam.2008.09.005.
- [22] Andrew McGregor. Graph stream algorithms: a survey. ACM SIGMOD Record, 43(1):9–20, 2014. doi:10.1145/2627692.2627694.
- [23] János Pach and Gábor Tardos. Conflict-free colourings of graphs and hypergraphs. Combinatorics, Probability and Computing, 18(5):819–834, 2009. doi:10.1017/S0963548309990290.
- [24] Shakhar Smorodinsky. Combinatorial problems in computational geometry. PhD thesis, Tel-Aviv University, 2003.
- [25] Shakhar Smorodinsky. Conflict-free coloring and its applications. Geometry – Intuitive, Discrete, and Convex: A Tribute to László Fejes Tóth, pages 331–389, 2013.
Appendix A Proof of Lemma 2
In any given iteration of the “while” loop, the “for” loop in Step 5 runs at most times. The while loop in Step 3 runs at most times. Thus it is easy to see that the algorithm terminates in steps.
Note that the vertex set of can be stored in space. The algorithm does not need to store the edges regardless of the structure of the hypergraph . The algorithm does a randomized coloring of the vertices in , which is explained in steps 5-8. This can be done in workspace. Thus, the total space required is .
Consider an execution of Algorithm 1. Let denote the event of not receiving any non-zero color.
Let denote the event of some vertex in not receiving a non-zero color. Then, . Thus, we have .
Let denote the complement of event . For a hyperedge , let denote the event of not seeing a uniquely colored vertex. And, let denote the event of some hyperedge not seeing a unique color. That is, denotes the event of the coloring function not being a conflict-free coloring of . From the definition of , . Let denote the complement of the event . Then we know that,
| (1) |
We are left with the task of estimating . We have,
| (2) |
To estimate , we use the following lemma from [23].
Lemma 15 (Lemma 3.1 in [23]).
Let be a set of elements and let with for a positive integer . Let us color each element of independently, according to the geometric distribution with parameter . Then the probability that no element of receives a unique color (one that is not received by any other vertex of ) is at most .
With respect to the execution of Algorithm 1, given that the event has happened (that is, the algorithm has assigned a non-zero color for every vertex ), the coloring returned by the algorithm is a coloring based on a geometric distribution with parameter . Thus, Lemma 15 gives an upper bound to . Applying Lemma 15 with and , we have
| (3) |
Appendix B Proof of Lemma 13
To prove Lemma 13, first we prove the following lemma and then use this lemma.
Lemma 16.
Let . Then .
Proof.
Recall that for all , denotes the pallete of colors for the vertex and . The colors are sampled uniformly and independently at random with replacement from the set of colors . Let be the event and let be the event . Now, we have . We now calculate . Let . Recall that is a multiset.
Similarly, . Thus, we get . Below we state Markov’s Inequality.
Proposition 17 (Markov’s inequality).
If is a nonnegative random variable and , then .
Now, we are ready to prove Lemma 13.
Proof of Lemma 13.
Let be the random variable that denotes . For each , let denote the degree of vertex in . For each , is the indicator random variable defined as follows: if and only if . Then, for any , , and is calculated as follows.
| (6) |
Appendix C Streaming algorithm for CFON coloring using colors
Cheilaris proved that, for a graph on vertices, [14]. Pach and Tardos improved this to [23]. The above upper bounds are asymptotically tight due to Example 4. Cheilaris’s result in Proposition 3 uses a deterministic algorithm to do a coloring of the vertices as follows. When a vertex is present in at least neighborhoods, then we color that vertex with a new distinct color. Note that this vertex will be a unique color for at least neighbourhoods. Next, we consider another vertex that is present in at least neighborhoods with no vertex in this neighborhood colored so far. Then, we color that vertex with a new distinct color and continue this process. At the end of this process, we have used at most colors because there are only neighborhoods. Also, at the end of this process, each vertex will be part of at most neighborhoods with no vertex in these neighborhoods colored so far. Then we use Proposition 1 to color the remaining vertices using at most new colors. Clearly, this algorithm requires to see the entire input to do the coloring.
In this section, we give a streaming algorithm to do a CFON coloring of using colors. We prove the following result.
Theorem 18.
There is a deterministic single-pass -space streaming algorithm that, given a graph on vertices, finds a CFON coloring using at most colors.
Proof.
The pseudocode of our algorithm is given in Algorithm 5. We explain the algorithm here. We use to denote the set of all so-far uncolored vertices. Initially, as all the vertices in are uncolored, we initialize . We “mark” a vertex if it sees some unique coloring in . Initially, all the vertices are unmarked. For an unmarked vertex , we shall use the list to denote the set of neighbors of that we have seen so far. From the moment is marked, we maintain to be an empty set as the “marked” status of implies it is seeing a uniquely colored vertex in its open neighborhood. When a new edge arrives in the stream, the algorithm executes Steps 6 to 27 which are explained below. Note that in these steps while coloring vertices we do not use the same color twice. If (or ) is already colored then we mark , (resp., ) as (resp., ) will act as the uniquely colored vertex in the open neighborhood of (resp., ). As mentioned above, as soon as a vertex is marked, its list (in this case, or or both) is reset to the empty set. These steps are executed in Lines 6 to 11. We update the list of (or ), if it is unmarked, in Lines 12 to 15. If is not colored and is present in at least lists, then we assign a new color to . We remove it from which maintains the set of all uncolored vertices so far. We mark all vertices that have in , as will act as the uniquely colored neighbor of such a vertex . As mentioned before, we immediately reset to the empty set. These steps are implemented in Lines 16 to 21. Now, in a similar fashion, if is not colored and is present in at least lists, we execute similar steps for the vertex in Lines 22 to 27.
We claim that we color at most vertices in total during the various iterations of the while loop (Lines 6 to 27). Every time we color a new vertex in Line 18 or Line 24, we update the status of least new vertices from unmarked to marked and set their lists to . Since there are only vertices in total and since we do not unmark a vertex that is already marked, our claim holds. Next, we claim that every vertex that is marked sees some color exactly once in its open neighborhood. Every time a vertex is marked in Lines 10, 21, or 27, it has some colored vertex in its open neighborhood (see the comments below these lines). Since no two vertices receive the same color inside the while loop, our claim holds. To summarise, (i) we have used at most colors so far, and (ii) every marked vertex is seeing some color exactly once in its open neighborhood.
When we exit the while loop, it is only the unmarked vertices that are yet to see a unique color in their open neighborhood. We take care of them in Line 28. In this step, we construct a hypergraph whose vertex set is the set of so far uncolored vertices (maintained by ) and whose edge set is all the lists for which is unmarked. In other words, is the set of all lists that are not empty sets. Clearly, such lists contain only uncolored vertices (that is, vertices in ); else would have been marked and would have been reset to . Further, for any unmarked vertex , as our algorithm added every neighbor of into as and when they were unveiled (see Lines 13 and 15). Thus, any conflict-free coloring of using a set of new colors would result in every unmarked vertex seeing a unique color in its open neighborhood in . We claim that the maximum degree of any vertex in (that is, the maximum number of hyperedges any vertex in is present in) is at most and then use Proposition 1 to do a greedy conflict-free coloring of using at most new colors. We prove the claim by contradiction. Suppose there existed a vertex which was present in or more hyperedges (or lists) in . But, then such a vertex would satisfy the conditions of the if statement in Line 16. Line 20 would then lead to the contradictory situation that is not a member of . This proves the claim.
We have thus shown that the algorithm does give a CFON coloring of using at most colors. It is easy to see that it is a single-pass, deterministic algorithm. Finally, the amount of memory required is the space required to store the lists for all . Notice that each time during the execution of the algorithm each vertex is present in at most lists. This implies that the space complexity is .
