1-local 33/24-competitive Algorithm for Multicoloring Hexagonal Graphs

In the frequency allocation problem, we are given a cellular telephone network whose geographical coverage area is divided into cells, where phone calls are serviced by assigned frequencies, so that none of the pairs of calls emanating from the same or neighboring cells is assigned the same frequency. The problem is to use the frequencies efﬁciently, i.e. minimize the span of frequencies used. The frequency allocation problem can be regarded as a multicoloring problem on a weighted hexagonal graph, where each vertex knows its position in the graph. We present a 1-local 33/24-competitive distributed algorithm for multicoloring a hexagonal graph, thereby improving the previous 1-local 7/5-competitive algorithm.


Introduction
A vertex weighted graph is a triple G(E, V, d), where V is the set of vertices, E is the set of edges and d : V → N is a weight function assigning (non-negative) integer demands to vertices of G. A proper multicoloring of G is a mapping f from V (G) to subsets of integers such that |f (v)| = d(v) for any vertex v ∈ V (G) and f (v) ∩ f (u) = ∅ for any pair of adjacent vertices u and v in the weighted graph G with vertex weights d(v). The minimum number of colors needed for a proper multicoloring of G, χ m (G), is called the multichromatic number. Another invariant of interest in this context is the (weighted) clique number, ω m (G), see formal definition in Section 2. It is well known that χ m (G) ≥ ω m (G) and that it is NP-complete problem to decide whether χ m (G) = ω m (G) [6]. A lot of work has been done to find approximation algorithms that imply upper bounds for the multichromatic number of hexagonal graphs.
Earlier studies of multicoloring problem on hexagonal graphs were motivated by a fundamental problem concerning cellular networks where sets of frequencies (colors) are assigned to transmitters (vertices) in order to avoid unacceptable interferences [2,5,6,7,8]. The number of frequencies that are demanded at a transmitter may vary between transmitters. In a usual cellular model, the transmitters are the centers of hexagonal cells and the corresponding adjacency graph is an induced subgraph of the infinite triangular lattice. An integer d(v) is assigned to each vertex of the triangular lattice and will be called the demand (or weight) of the vertex v. The vertex weighted graph induced by the subset of the triangular lattice of vertices of positive demand is called a (vertex weighted) hexagonal graph.
An assumption that naturally arises in hexagonal graphs which model cellular networks is that each vertex is aware of its location. In distributed graph algorithms, the property of "locality" plays special roles. In this paper, so called k-local algorithms for multicoloring hexagonal graphs are studied. An algorithm is k-local if the computation at any vertex v uses the information about the demands of vertices at distance at most k from v only. In other words, every vertex knows its position and can use the information within its k-neighborhood, i.e. in this case it knows the demands of vertices at graph distance at most k.
A framework for studying distributed online assignment in cellular networks was developed in [5]. A distinction between online and offline algorithms was introduced and the definition of p-competitive algorithm was given as well. In the offline version of the problem the demands are fixed and known in advance while in the online version the demands may change over time, motivated by the fact that the number of calls within the cell in the network changes. Here we will only consider the offline version as we develop an algorithm that multicolors a hexagonal graph with known demands at vertices. Online version is only mentioned in the corollary that follows directly using result of [5]. Finally, an algorithm is p-competitive if it uses at most p times as many colors (frequencies) overall as the optimal offline algorithm would. In the same paper [5], a 3/2-competitive 1-local, 17/12-competitive 2-local and 4/3competitive 4-local algorithms were outlined. Later, a 4/3-competitive 2-local algorithm was developed in [11]. The best ratio for 1-local case was first improved to 13/9 [1], and later to 17/12 [14] and to 7/5 [15]. In this paper, we develop a new 1-local algorithm which uses no more than 33 24 ω m (G) + O(1) colors, implying the existence of a 33/24-competitive algorithm.
It may be worth mentioning that the approximation bound for multicoloring algorithms on hexagonal graphs χ m (G) ≤ (4/3)ω m (G) + O(1) [6,8,11] is still the best known, both for distributed and non-distributed models of computation. Considering that, one can naturally take 4/3 as (maybe too ambitious) goal ratio for 1-local algorithms. With this assumption, our improvement from 7/5 to 33/24 can be calculated by the following formula which is a considerable. Evaluating the previous improvements from 3/2 to 13/9 to 17/12 to 7/5 by the same formula gives 33.3%, 25% and 20%, respectively. From this point of view this is the biggest improvement.
Our algorithm substantially differs from the algorithms in [1] and [11] which are composed of two stages. In these algorithms, a triangle-free hexagonal graph with weighted clique number no larger than ⌈ω m (G)/3⌉ is constructed from G at the first stage, while at the second stage an algorithm for multicoloring a triangle-free hexagonal graph is used (see [1,4,12,16]). Our improvement is based on the idea of borrowing some colors used in the first stage and using them for the demands of the second stage (see [15]). This in particular implies that the second stage of our algorithm cannot be applied as a stand-alone algorithm for multicoloring arbitrary triangle-free hexagonal graphs.
The main result of this paper is the following: There is a 1-local distributed approximation algorithm for multicoloring hexagonal graphs which uses at most 33 24 ω m (G) + O(1) colors. Time complexity of the algorithm at each vertex is constant. In [5] it was proved that a k-local c-approximate offline algorithm can be easily converted to a k-local c-competitive online algorithm, so we have: There is a 1-local 33/24-competitive online algorithm for multicoloring hexagonal graphs.
The paper is organized as follows: in the next section, we formally define some basic terminology. In Section 3, we present an overview of the algorithm, while in Section 4 we provide a proof of Theorem 1.1.

Basic definition and useful facts
Following the notation from [6], the vertices of the triangular lattice T can be described as follows: the position of each vertex is an integer linear combination x p+y q of two vectors p = (1, 0) and q = ( 1 2 , √ 3 2 ). Thus vertices of the triangular lattice may be identified with pairs (x, y) of integers. Given the vertex v, we will refer to its coordinates as x(v) and y(v). Two vertices are adjacent when the Euclidean distance between them is one. Therefore each vertex (x, y) has six neighbors: (x − 1, y), (x − 1, y + 1), (x, y + 1), (x + 1, y), (x + 1, y − 1), (x, y − 1). For simplicity we refer to the neighbors as: left, up-left, up-right, right, down-right and down-left.
Assume that we are given a weight function d : V → {0, 1, 2, . . .} on vertices of triangular lattice. We define a weighted hexagonal graph G = (V, E, d) as an induced subgraph by vertices of positive demand on the triangular lattice, (see Figure 1). Sometimes we want to consider (unweighted) hexagonal graphs G = (V, E) that can be defined as induced by subsets of vertices of the triangular lattice. In both cases, we can assume that every vertex of hexagonal graph G knows its coordinates (x, y) in the triangular lattice.
Let us recall that a proper multicoloring of G = (V, E, d) is a mapping f from V (G) to subsets of integers such that |f (v)| = d(v) for any vertex v ∈ V (G) and f (v) ∩ f (u) = ∅ for any pair of adjacent vertices u and v in the weighted graph G. The minimum number of colors needed for a proper multicoloring of G, χ m (G), is called the multichromatic number. The (weighted) clique number, ω m (G), is the maximal clique weight on G, where the weight of a clique is the sum of demands on its vertices.
Notice that in any weighted hexagonal graph G, a subgraph of the triangular lattice T induced by vertices with positive demands d(v), the only cliques are triangles, edges and isolated vertices. Recall that by definition all vertices of T which are not in G must have demand d(v) = 0. Therefore, the weighted clique number of G can be computed as follows: where τ (T ) is the set of all triangles of T i.e., the weighted clique number is the maximum weight over weights of all triangles, edges and weights of isolated vertices.
There exists an obvious 3-coloring of the infinite triangular lattice, which gives partition of the vertex set of any hexagonal graph into three independent sets. Let us denote a color of any vertex v in this 3coloring by bc(v) and call it a base color (for simplicity we will use red, green and blue as the base colors and their arrangement is given in Figure 1 An induced subgraph of the triangular lattice without a 3-clique is called a triangle-free hexagonal graph. A corner in a triangle-free hexagonal graph is a vertex which has at least two neighbors and none of which are at angle π. A vertex is a right corner if it has an up-right or a down-right neighbor, otherwise it is a left corner (see Figure 2). A vertex which is not a corner is called a non-corner. As the elegant proof of Sudeep and Vishwanathan [13] is very short, we recall it for completeness and for future reference.
Proof: Assume without loss of generality that there exists an odd cycle in the graph which does not have a non-corner vertex colored red. Notice that in the 3-coloring of the triangular lattice, a corner has all its neighbors colored by the same color (they are at the angle 2π/3). Hence, if all neighbors of a red colored corner are blue, we can recolor this corner by green color and vice-versa. That gives a valid 2-coloring of an odd cycle, a contradiction. ✷ Notice that removing all non-corners of one color from a hexagonal graph G results in a bipartite graph. For any weighted bipartite graph H, χ m (H) = ω m (H) (see [8]), and it can be optimally multicolored by the following 1-local procedure.
Proof: The procedure is 1-local, because each vertex v uses only its weight function d(v) or calculates value m(v) which is taken from its neighbors. From definition of m(v) we can clearly see that no conflict occurs in this multicoloring. Since in a bipartite graph the only cliques are edges and isolated vertices, the largest number of color used is is the average weight of the triangle {u, v, t} ∈ τ (T ). We can naturally define a(u, v, t) for any triple of vertices that forms a triangle in the lattice, including the cases when d(.) = 0 for some of the vertices. Clearly, κ(v) can be computed using 1-local information only, and the following fact holds.
To color vertices of G, we use colors from an appropriate palette. For a given color c, its palette is defined as a set of pairs {(c, i)} i∈N . A palette is called a base color palette if c ∈ {R, G, B} is one of the base colors, and it is called additional color palette if c / ∈ {R, G, B}. In algorithm we will use 5 additional color palletes of different size (without explicitly naming the colors).
An important notion used in the algorithm will be the parity of the coordinates. Let p(x) = x mod 2 denote the parity function, which we will use for coordinates.
In our 1-local model of computation we assume that each vertex knows its coordinates as well as its own demand (weight) and demands of all its neighbors. In the next section, we will demonstrate how each vertex can color itself properly in constant time, using this information only.

Algorithm
Our algorithm consists of three main phases. In the first phase (Step 1 and 2 below) vertices take κ(v) colors from its base color palette, so use no more than ω m (G) colors. After this phase, all light vertices in G are fully colored, i.e. every light vertex v ∈ V (G) already received all needed d(v) colors. The vertices that are heavy but not very heavy induce a triangle-free hexagonal graph with weighted clique number not exceeding ⌈ω m (G)/3⌉. Very heavy vertices in G are isolated in the remaining graph and therefore they can easily be fully colored. However, they have to be considered separately (Step 2).
In the second phase we construct two types of bipartite graphs. First (Step 3 below) we construct three bipartite graphs by removing noncorners of each color type and use Procedure 2.1 for optimally satisfying 1/8 of demands in the remaining graph. Next (Step 4 below), we divide the vertices in the triangular lattice into two sets of well separated parallel lines. Finally (Step 5 and 6 below), by using this partition, we construct two bipartite graphs and use Procedure 2.1 for optimally satisfying 3/8 of demands of all vertices except some corners which have to be treated in a separate way -by using free colors from the base color palettes.
More precisely, our algorithm is the following:

Algorithm
Input: Weighted hexagonal graph G = (V, E, d), where all vertices know their position in the graph.
Step 0 For each vertex v ∈ V compute its base color bc(v) , and its base function value : {v, u, t} ∈ τ (T ) .
Step 1 For each vertex v ∈ V assign to v the first min{κ(v), d(v)} colors from its base color palette. Construct a new weighted triangle-free hexagonal graph > 0 (heavy vertices in G) and E 1 ⊆ E is the set of all edges in G with both endpoints from V 1 (G 1 is induced by V 1 ).
Step 2 For each vertex v ∈ V 1 with d 1 (v) > κ(v) (very heavy vertices in G) assign the first unused κ(v) colors of the base color palettes of its neighbors in T . Construct a new graph where d 2 (v) is the difference between d 1 (v) and the number of colors assigned in this step, V 2 ⊆ V 1 is the set of vertices with d 2 (v) > 0 and E 2 ⊆ E 1 is the set of all edges in G 1 with both endpoints from V 2 (G 2 is induced by V 2 ).
Step 3 For the set of red noncorners do the following: • Construct the bipartite graph G nR = (V nR , E nR , d nR ) where d nR (v) = d 2 (v)/8, V nR ⊆ V 2 is the set of vertices from G 2 without red noncorners, and E nR ⊆ E 2 is the set of all edges in G nR with both endpoints in V nR (E nR is induced by V nR ) • By the proof of Lemma 2.1 (V ′ nR , V ′′ nR ) is a bipartition of G nR where: -V ′ nR is the set of blue vertices and red corners with all neighbors green, -V ′′ nR is the set of green vertices and red corners with all neighbors blue. • Use the bipartition (V ′ nR , V ′′ nR ) and apply Procedure 2.1 for the weighted graph G nR by using colors from new additional color palette.
Do analogous for graphs G nB (G 2 without blue noncorners) and G nG (G 2 without green noncorners).
Step 4 Divide vertices of the infinite triangular lattice into two sets (two sets of horizontal lines): Step 5 Using the sets V e and V o do as follows: 5a -Construct a bipartite graphG = (Ṽ ,Ẽ,d) whered(v) = 3d2(v) 8 ,Ṽ ⊆ V 2 consists of vertices from V e and noncorners from V o , andẼ ⊆ E 2 is the set of all edges in G 2 with both endpoints inṼ (Ẽ is induced byṼ ). 5b For each corner v ∈ V o assign 3d2(v) 8 colors from the free base color palettes. Left corners take unused odd colors and right corners take unused even colors.
Step 6 Switch the sets V e and V o and do the same as in Step 5.

Correctness proof
At the very beginning of the algorithm there is a 1-local communication, when each vertex finds out about the demands of all its neighbors. Later, no communication is needed. Recall that each vertex knows its position (x, y) on the triangular lattice T . Note that whenever we mention "very heavy/heavy/light vertex", we refer to the property of this vertex in the graph G, i.e. there is no reclassification in graphs G i , i ∈ 1, 2, 3.

Regarding
Step 0, there is nothing to prove.

In
Step 1 each heavy vertex v in G is assigned κ(v) colors from its base color palette, while each light vertex u is assigned d(u) colors from its base color palette. Hence the remaining weight of each vertex Note that V (G 1 ) consists only of heavy vertices in G, therefore Lemma 4.1 G 1 is a triangle-free hexagonal graph.
Proof: Assume that there exists a triangle {v, u, t} ∈ G 1 , which means that Then we have: a contradiction. Therefore, the graph G 1 does not contain a 3-clique, so it is a triangle-free hexagonal graph. ✷

In
Step 2, only vertices with d 1 (v) > κ(v) (very heavy vertices in G) are colored. Each very heavy vertex in G has enough unused colors in its neighborhood to be finally multicolored. If vertex v is very heavy in G then it is isolated in G 1 (all its neighbors are light in G). Otherwise, for some {v, u, t} ∈ τ (T ) we would have a contradiction. Without loss of generality we may assume that bc(v) is green. Denote by Obviously, D R (v), D B (v) > 0 for very heavy vertices v in G. Since in Step 1 each light vertex t uses exactly d(t) colors from its base color palette, we have at least D R (v) free colors from the green base color palette and at least D B (v) free colors from the blue base color palette. If vertex v could assign those colors to itself, we would have G 2 with ω m (G 2 ) ≤ ⌈ω m (G)/3⌉. Formally it can be proved that Lemma 4.2 In G 1 for every edge vu ∈ E 1 we have: Proof: Assume that v and u are heavy vertices in G and d 1 (v) + d 1 (u) > κ(v). Then for some {v, u, t} ∈ τ (T ) we have: again a contradiction. ✷ From these facts we can observe that Proof: Recall that in a hexagonal graph the only cliques are triangles, edges and isolated vertices. Since G 1 is a triangle-free hexagonal graph, G 2 also does not contain any triangle, so we have only edges and isolated vertices to check.
For each edge vu ∈ E 2 , using Lemma 4.2 and Fact 2.1, we have: because the vertex has received κ(v) colors both in Step 1 and in Step 2. We claim that Step 3 each vertex v has to decide whether it is a corner in G 2 or not. Only heavy neighbors of v can still exist in G 2 . Unfortunately, in 1-local model v does not know which of its neighbors are heavy (and still exist in G 2 ) and which were light in G. Vertex v knows only where its neighbors u with d(u) ≤ a(v, u, t 1 ) and d(u) ≤ a(v, u, t 2 ), are located. We call these vertices slight neighbors of v. They must be light in G and as such they are fully colored in Step 1. Therefore, v knows where it cannot have neighbors in G 2 and presumes that all its neighbors which are not slight, still exist in G 2 . Based on this knowledge, it can decide whether it is a corner or not. In each triangle in τ (T ) containing v at least one neighbor of v is slight, so v has at least three such neighbors. If vertex v has more than four slight neighbors, then it is a non-corner. If vertex v has four slight neighbors, then the remaining two are not slight. In this case if an angle between those two is π, then v is a non-corner, otherwise it is a corner -a right corner if its down-left, up-left and right neighbors are slight, and a left corner if its down-right, up-right and left neighbors are slight. If vertex v has three slight neighbors, then it is a corner and the distinction between left and right is determined in the same way as above.
According to the proof of Lemma 2.1 it is obvious that V ′ nR and V ′′ nR form a bipartition of G nR . Note that, under 1-locality assumption, vertices cannot calculate the value of d ′ of their neighbors, which is needed in Procedure 2.1 to calculate the value m(v) = max{⌈d ′ (u)/8⌉ : uv ∈ E ′ }. However, we can replace d ′ (u) by d ′ v (u), which is the number of expected demands on vertex u in vertex v after Step 2, and take m ′ (v) = max{⌈d ′ v (u)/8⌉ : uv ∈ E ′ }. More precisely, Proof: Assume that this inequality does not hold, hence Then for some {t, v, u} ∈ τ (T ) we have:

Regarding
Step 4, there is nothing to prove. In Step 5a it is easy to check thatṼ ′ andṼ ′′ gives the bipartition ofG. The problem with 1-locality assumption in Procedure 2.1 can be solved as in Step 3. In Step 5b we take the corners and use again the base color palettes. If vertex v ∈ G 2 is a corner, it means that it has three slight neighbors of the same base color. Without loss of generality, assume that bc(v) = R and its slight neighbors' base color is blue. Recall the function D B from Step 2 -we have D B (v) free colors from blue base color palette. We claim that Proof: Let v be a red corner in G 2 . Without loss of generality assume that t is the green vertex which is not slight neighbor of v, and u is the blue vertex which is a slight neighbor of v so that {u, v, t} ∈ τ (T ) is a triangle. Then we have and the left inequality occurs because d 2 (v) = d(v) − κ(v) and from definition of slight neighbors d(t) ≥ a(u, v, t).
Since v is a corner, each slight neighbor of v has to belong to some triangle in τ (T ) with a non slight neighbor. Hence we can repeat this argument for all slight neighbors of v. As holds for any slight neighbor of v, it is true for the minimum, i.e.
Therefore, vertex v has as much as d 2 (v) free colors from the blue base color palette at its disposal. Since left corners take unused odd colors and right corners take unused even colors, no conflict occurs, because no two left (right) corners can be connected. During Step 3 each noncorner participates in exactly two from the three rounds and receives ⌈2d 2 (v)/8⌉ colors while each corner participates in all three rounds and receives ⌈3d 2 (v)/8⌉ colors. During Steps 5 and 6 each vertex receives ⌈3d 2 (v)/8⌉ colors twice, so in both steps it receives ⌈6d 2 (v)/8⌉ colors. Combining all steps each noncorner receives ⌈8d 2 (v)/8⌉, hence as many as it needs, and each corner receives ⌈9d 2 (v)/8⌉, so even more than it needs. Therefore, at the end, all of the demands are satisfied.

Ratio
We claim that during the first phase (Steps 1 and 2) our algorithm uses at most ω m (G) + 2 colors. To see this, notice that in Step 1 each vertex v uses at most κ(v) colors from its base color palette and, by Fact 2.1 and the fact that there are three base colors, we know that no more than 3 ⌈ω m (G)/3⌉ ≤ ω m (G) + 2 colors are used. Note also that in Step 5b we use only those colors from base color palettes which were not used in Step 1, so altogether no more than ω m (G) + 2 colors from base color palettes are used in total in the first and second phase. To count the number of colors used in the second phase (Steps 3-6) notice that we can divide the demands of each vertex in G 2 into eight equal parts. In Step 3 we introduce three new palettes that contain ⌈ω m (G 2 )/8⌉ colors each. In Step 5 we introduce next palette that contain ⌈3ω m (G 2 )/8⌉ colors, and repeat this operation in Step 6.
The performance ratio for our strategy is 33/24, hence we arrived at the statement of Theorem 1.1.

Conclusion
We have given a 1-local 33/24-approximation algorithm for multicoloring hexagonal graphs. This implies a 33/24-competitive solution for the online frequency allocation problem, which involves servicing calls in each cell in a cellular network. The distributed algorithm is practical in the sense that the frequency allocation for each base station is done locally, based on the information about itself and its neighbors only, and the time complexity is constant. According to goal ratio 4/3, the improvement of the result is the largest since paper [5] published in the year 2000. Present authors strongly believe that by use of this kind of method the competitive ratio achieved cannot be improved. Namely, the conjecture of McDiarmid and Reed [6] implies that 9/8 is the best possible competitive ratio on triangular-free hexagonal graphs. (The best proven competitive ratio for triangle free graphs is still 7/6 [3,9,10].) An essentially new idea has to be found to improve the ratio further.