Index Coding Problem with Side Information Repositories
Abstract
I Introduction
The main challenge that faces today’s operators of 3GPP LTE Advanced enabled cellular networks is an enormous increase in mobile video traffic. The mobile video traffic in a cell is also expected to have a lot of redundancy in demand for stored videos (Youtubelike short videos) due to few videos being more popular compared to others [2]. To tackle the traffic load bottleneck by exploiting this redundancy in requests, an architecture involving small WiFi enabled caching helpers was proposed in [1]. In this framework, few femtolike stations would be distributed in a cell, controlled by the base station, with an additional feature of caching popular files near users. The motivation for caching at the helpers is to reduce the bandwidth demand on the backhaul to these helpers. A high bandwidth backhaul network is expensive to deploy. If a user request has a high cache hit in one of the helpers nearby, then the user downloads the file from the helper through a high speed WiFi link without having to rely on the base station or the backhaul. This is the primary benefit of caching.
There is a potential hidden benefit to be leveraged due to such caching in helpers even when there are cache misses for all users. The benefit is gained when base station sends few ’coded’ packets where coding is done over the set of packets requested by all the users. A user terminal decodes its desired packet from the coded transmissions by downloading some side information available as cached data from a subset of the helpers it is connected to even when those helpers do not have the user’s desired packet. The total number of coded transmissions by the base station may be lower compared to the the naive scheme where the base station transmits all user requests in sequence. This is because if some helpers in the network cache previous requests in the network and if requests arising from the entire network have redundancy over time then the following scenario may occur: user and user both have cache misses. But user has a cache hit with the helper near user but located far away from user and vice versa. Now the packets intended for both users can be XORed saving one transmission for the base station. The userhelper links are high speed links and hence pulling side information required to decode is assumed to involve zero cost. In this work, we assume that a connectivity graph between helpers and users, an arbitrary cache state of helpers (users do not cache) and a set of simultaneous distinct user requests, such that every user has a cache miss, are given as the input. We investigate the problem of minimizing the number of broadcast transmissions by the base station in such a wireless network which is a special case of the index coding problem.
The general index coding problem is a noiseless broadcast problem that was introduced in [3]. There are users, each wants a distinct packet and has multiple side information packets, i.e. some packets desired by others. The problem of multiple users requesting the same packet is more general and it requires representation using hypergraphs or another special representation in terms of bipartite graphs [4][5]. The problem instance when each user requests a different packet can be represented using a directed side information graph where every vertex represents a user (and equivalently a packet desired by the user as every request is distinct). There is a directed edge from user to user if user has the packet desired by as side information. In the very special case when side information is symmetric, i.e. user has user ’s packet as side information whenever user has user ’s packet as side information, the problem instance can be represented by an undirected side information graph.
Each packet is drawn from an alphabet of size bits. An index code is a function that maps packets, each of bits, to a packet of size bits. The encoded message of bits is transmitted over a noiseless broadcast channel. An index code is valid if every user can use the encoded message and the side information it has to decode the desirable packet (of bits), i.e. there is a suitable decoding function. The index coding problem is to compute the minimum broadcast rate over all possible index codes. The minimum broadcast rate is denoted by . The general problem of computing minimum broadcast rate over all possible encoding functions is very hard to characterize [6].
Let the message alphabet, represented by bits, be a finite field. Let be a multiple of , i.e. encoded message is a sequence of elements drawn from the field. If every subsequent field element in the encoded message is a linear function of the desired messages ( field elements), then such an index code is a scalar linear index code over that finite field.
Prior Work: It was shown [3] that the length of the optimum scalar linear index code (over a given finite field) is equal to the graph parameter minrank, over that field, of the directed side information graph. This is the directed graph analog of the graph parameter introduced in [7] to upper bound the Shannon capacity of an undirected graph. Computing minrank is known to be NPhard [8] [9]. In [10], the authors show the existence of graphs where the multiplicative gap between binary minrank and the optimum broadcast rate grows polynomially in the number of nodes . Some recent works [11] [12] also dealt with tractability of computing the binary minrank for restricted classes of graphs. In [13], the minrank parameter of ErdősRenyi graphs were analyzed. Authors of [14] provide a polynomial time algorithm based on graph coloring for approximating minranks for undirected graph instances whose minrank is . Recently, interference alignment approach has been applied to the problem of index coding [15]. In [6], a set of linear programs were developed whose optima effectively provide lower and upper bounds on the optimum broadcast rate . Fractional coloring and coloring of the complement of the undirected side information graph are the most well known popular upper bounds to the optimum rate [6] yielding achievable linear binary schemes. Apart from the index coding literature, a slightly different approach combining the cache design and coding problem was taken in [16] where all users cache data (no helpers). The problem is to design caches first and then the coding scheme to minimize packets transmitted for the worst case user requests all of which are known to come from a fixed library of files with possible overlaps among user requests.
In this work, we study a special case of the index coding problem with distinct requests motivated by the caching architecture mentioned above in a wireless network setting. Here, a side information packet is a packet cached only in the helpers and a user has access to them at zero cost if it is connected to the helper containing it. The base stations transmit coded packets to satisfy distinct requests of users. We study the algorithmic tractability for the well known linear achievable schemes, based on graph coloring, when user side information is restricted to come from a constant number of caching helpers. We note that intractability of coloring based achievable schemes for the general index coding problem arise due to the freedom available in choosing an arbitrary side information set for each user as part of the problem instance.
A typical scenario of the problem of interest in this work is illustrated in Fig. 1. In the figure, users request different packets, none of which are found in their respective set of neighboring helpers. In the figure, user downloads packet from helper in order to decode its desired packet from the coded packet transmitted by the base station. In this example, user requests can be satisfied by coded transmissions from the base station, plus some local transmission from the helpers, which can take place at a much faster speed, due to the high capacity of short range links. Hence, the presence of helpers with side information can alleviate the base station congestion even though the requests are not found in the helper caches, as in this example. Helpers have an arbitrary cache state given as part of the input. Further, the connectivity graph between users and helpers in specified. The base station transmits coded packets.
We investigate the computational complexity of a coding scheme where every user needs to listen to just one coded packet that contains the desired packet XORed with other packets. At the time of decoding, the user needs to just download an extra packet from neighboring helpers, which is an appropriate ’mix’ of side information packets present at helpers nearby to cancel the “interference” formed by the undesired packets, and decode the desired packet. We call this coding scheme an XOR coloring scheme. XOR coloring can be shown to be based on coloring the complement of the undirected side information graph. The XOR coloring scheme is a scalar scheme, i.e. every transmission is linear in the packets of different users. We also investigate a vector coding scheme called vector XOR coloring that generalizes the above scheme and is based on fractional coloring of the complement of the side information graph. Every user request consists of a set of subpackets. Under this scheme, the base station codes over these subpackets in such a way that every user needs to listen to exactly one coded subpacket to recover one of the desired subpackets using sideinformation from the helpers.
Our Contributions: We treat the special case of the index coding problem in a wireless network, where the side information is available at a few caching helpers that serve nearby users through short range WiFi links (with no cost) and all users can receive data from the base station. We assume a network with one base station (source), (a constant) helpers and users. With interference constraints on helper placement and planar topology, one can reduce a general problem, where users are connected to multiple helpers, to a canonical form in which users are connected to just one helper, while the number of helpers in the resulting ‘canonical network’ is increased by at most a constant factor with respect to the original network. For the equivalent problem reduced to such a “canonical form”, the problem of finding the optimal XOR coloring scheme, when is a constant that does not scale with , reduces to a problem of multi coloring on a fixed prototypical graph uniquely determined by only. The integer programming formulation of such a multi coloring problem yields a optimal XOR coloring scheme computable in time polynomial in the number of users . We further show that vector XOR coloring reduces to fractional multi coloring on the prototypical graph whose computational complexity is polynomial in when is a constant (). For , the XOR coloring code is the optimal linear scalar index code. For , XOR coloring is also shown to be the optimal binary scalar linear index code when considering the undirected side information graph obtained by throwing away unidirected edges.
Ii Problem Definition
We consider a special instance of the index coding problem involving constant number of helpers holding cached packets that act as side information, motivated by a wireless setting with a central broadcasting agent, i.e. a base station, serving all users in a cellular network. Access to side information is provided by helpers with storage, holding previously cached content, and equipped with another wireless interface to serve the user requests only using their cached content. Every helper has a limited connectivity range and, when a user is within this range, we assume that the helper user communication incurs no cost due to high downloading rates from the helpers. In this sense, side information available to a user includes all the cached content of a helper if the user is in the connectivity range of the helper. When we deal with binary scalar coding schemes in this work, packet size is taken to be bit (=1) without loss of generality since the same scalar scheme is repeated over all the bits of a packet. Formally, the problem instance can be stated as follows:
Problem 1
(Index Coding with Helpers: ICH The problem instance is given by users, indexed by elements from set , served by the base station, requesting different packets respectively. There are helper nodes denoted by ,such that helper contains a subset of the packets. User requests are not found in its neighboring helpers (cache misses). Letting denote the set of users connected to helper , cache miss condition implies for all .
Definition 1
A Side Information graph is a directed graph where each vertex corresponds to a user and there is a directed edge from to denoted by the ordered pair when user has packet as side information. This notion holds only for the case when user requests a single packet and all user requests are for different packets.
Any index coding problem with distinct requests has a directed side information graph characterizing it. The ICDH problem when and is the general index coding problem instance on a directed side information graph.
Definition 2
An underlying undirected side information graph of a given directed side information graph is obtained by replacing every two directed edges and by an undirected edge, denoted , and throwing away any directed edge that does not have an oppositely directed counterpart, namely .
We introduce some standard notation for a few graph parameters. Given an undirected graph , denote its complement. are the independence number, clique number, clique cover number and the chromatic number, respectively of . Since an independent set in is the clique in , we have and . In a feasible coloring of an undirected graph, neighboring nodes receive different colors.
In this work, we deal with two achievable schemes: ’XOR coloring’ scheme which corresponds to the coloring of the complement of the underlying side information graph or clique cover of and the ’vector XOR coloring’ scheme which corresponds to the fractional coloring of . We defer the definition and treatment of vector XOR coloring scheme until section VII. First, we focus on the XOR coloring scheme. We define the XOR coloring scheme as follows.
Definition 3
(XOR coloring scheme) XOR coloring scheme of length for is given by:

linear encoding functions:
(1) where and addition is over the binary field . For any , is non zero for exactly one .

linear decoding function such that:
(2) for that unique , such that . Here, is the set of side information packets user has access to, listed by the directed outneighborhood of vertex in the graph . In other words, user needs only that encoded transmission in which its desired packet participates to decode.
.
For the ICH problem, the side information graph is such that . In other words, the side information available to user is the union of all the caches of the helpers it is connected to.
It is known that ’XOR coloring’ scheme corresponds to a clique cover on the underlying undirected side information graph or the coloring of its complement. Consider one encoded transmission . Every user corresponding to the packet that participates in this should form a clique in or an independent set in the complement of for decoding to be feasible. Each color specifies an encoding function . Hence, or is equal to the length of the optimal ’XOR coloring’ code. Coloring a graph is NPhard in general.
In the rest of this section, we show that an ICH problem instance can always be reduced to an equivalent “canonical form” where each user is connected to a single helper. Under some conditions, the number of helpers in the equivalent canonical form is linear in the number of helpers of the original network. This will allow us, in the rest of the paper, to restrict our treatment to networks in canonical form, with helpers, where is a constant with respect to .
We reduce the ICH problem to a problem where every user is connected to a single helper, by introducing virtual helpers defined as follows: for every possible distinct set , create a virtual helper labeled by , with side information and neighborhood . Clearly, there can be at most such virtual helpers. An important property is that every user is connected to exactly one helper. Namely, user is connected to the unique virtual helper for which .
After this operation, two virtual helpers might contain the same side information in which case they can be merged into a single virtual helper. We call this union expansion. Note that in the generic case, the expansion requires creation of exponential number of virtual helpers. However, in a practical situation arising in wireless networks, given a planar topology for location of users and helpers, and assuming a communication radius for each helper, and restricting location of helpers such that any user can be connected to at most helpers ( could be a small number like due to interference management), the number of virtual helpers that one has to consider in the union expansion is just . We will prove this result in the following lemma.
Lemma 1
Consider a set of circles on a 2dimensional plane parametrized by their centers and radii . Assume that they form a ply system, i.e., any point in the plane is covered by at most circles. Consider the family of subsets such that if all the circles in have a nontrivial intersection. We call such a set as intersecting set of circles. Then .
Proof 1
Define the intersection graph of the ply system as and if circles with centers and intersect. An undirected graph is said to be inductive if there is a numbering on the vertices such that every vertex is connected to at most vertices which are numbered higher than itself. It is known [17] that a dimensional ply system is inductive.
Consider a particular circle whose center is . It intersects with at most circles which are numbered higher. Let be a set of circles such that and and if there is a , then is numbered higher than . We count the number of such sets . An immediate bound would be . For every circle , we count such intersecting sets that contain but do not contain any circle numbered lower. In this way, one can count at most sets. We have to show that, in this method of counting, every set is counted at least once.
In the above lemma, the center of a circle represents a helper and its radius specifies its connectivity range. A ply system implies that no user can be connected to more than helpers.
Consider . Let circle have the lowest numbering. This set will be included when counting intersecting sets of circles containing the circle and no other circle numbered lower. Hence . Hence .
Note that, although the coefficient may be large, the actual number of virtual helpers under union expansion is usually considerably smaller since some regions of intersection may not contain any users for a given instance of the problem and the side information corresponding to multiple virtual helpers may be identical and hence could be merged further. Due to the above result, it is sufficient (in an order sense with respect to the number of helpers) to treat the problem assuming that a user is connected to exactly helper. We can redefine our network assuming a constant number (say ) of helpers such that their neighborhoods are pairwise disjoint. Since, a user request is not found in the cache of a helper connected to the user, we have . There is a slight abuse of notation because is a subset of users and is a subset of packets. From now on, a user and its requested packet is synonymous. Now, we define a variant of Problem 1 (ICH) where the network is in canonical form.
Problem 2
(Index Coding with Disjoint Helpers: ICDH()) An ICH problem instance for with additional conditions: pairwise disjoint and .
We are interested in the complexity of computing the optimal ’XOR coloring’ scheme for ICDH when (number of helpers) is a constant. For this we need to analyze some structural properties of corresponding to the ICDH problem. Lets start with a simple case when .
Iii helpers case
We consider the ICDH problem for . The problem consists of two disjoint sets of users connected to helpers and respectively. Side information contained in helper is given by and sideinformation contained in helper is given . To visualize this, let us consider a directed sideinformation graph, which in this case, is a bipartite graph . Since and , there are directed edges only between the partitions and . If and , there is a directed edge from every vertex in to the vertex in signifying that all users in have access to packet desired by user . Two directed edges in opposite directions, i.e. and are replaced by an undirected edge denoted by . With some abuse of notation, let represent the directed edge from to and by we mean the undirected version. With an example, this is illustrated in Fig. 2.
We have the following lemma regarding the optimum binary scalar linear index coding solution when .
Lemma 2
When , and each user is connected to exactly one helper, the optimum binary scalar linear code is given by the XOR coloring scheme and its length is .
Proof 2
Let be the set of users which are not in . Similarly, let be the users whose packets are not present as side information in helper . Observe that component induced by has no directed/undirected edges and edges are only directed out of this component in the original graph. Let be the set of edges that are directed out from the component induced by . Hence one can decompose the original bipartite graph into two parts as follows: where the ‘’ indicates that there are no edges coming into from but possibly there are edges in the other direction. An example is given in Fig. 2 for illustration. The decomposition for the example given in Fig. 2 is provided in Fig. 3. In the example, and .
Consider the graph decomposed as . The second component is a complete bipartite graph with only undirected edges where denotes a complete bipartite graph between disjoint vertices of the set and disjoint vertices of the set . In other words, in the remaining graph , given any two vertices from different partitions, there is an undirected edge . This is because, every vertex in one partition is contained in the side information set of the other partition. Otherwise that vertex will belong to since it would be a vertex not ‘seen’ by the other partition.
For a complete bipartite graph, the independent number and the clique cover number are identical because a bipartite graph is a perfect graph [18]. In this case, the independence number equals the size of the maximum of the two partitions , i.e. . It is known that for an undirected side information graph , where is the length of the optimum binary scalar linear index code of the undirected graph . Hence, . From the decomposition of , since no vertex in is contained as side information in , it is known that [3] where is the optimal scalar linear index code for . In this case, since has no edges. Hence, the result follows. In the example given in Fig. 3, the transmissions that can be saved corresponds to the complete bipartite graph between on one side and on the other. One could transmit and or and . This corresponds to the XOR coloring solution of the bipartite graph
In a nutshell, for , the bipartite graph exhibits a special bipartite structure that makes the XOR coloring solution the optimal binary scalar linear index coding solution. Using the ideas from this section, we now investigate the structure of the sideinformation graph for the case .
Iv Helpers case
For a given , the ICDH problem input consists of neighborhoods and the side information sets such that . In this case, the side information graph is given by a directed partite graph . As before , an edge is undirected when edges in both directions are present between two vertices. We isolate vertices which are not contained in any helper into . This allows us to define a very similar decomposition: as before where consists of edges directed from into as before. The decomposition for case is illustrated in Fig. 4.
A new feature is that, in the second graph , there are directed edges too. In the example given in Fig. 4, directed edges appear in . exists but there is no directed edge from partition to node . In particular, edge is not present. We are interested in where is the underlying undirected side information graph corresponding to the problem instance . is the disjoint union of and where is the undirected version of obtained by retaining only undirected edges. Observe, that there are no undirected edges between and . Hence, . Since has no edges it is sufficient to color . In fact, let us assume because even if they are not empty they are collected in the edgeless graph . Then, has the following structure:
Lemma 3
The vertex induced subgraph of , induced by and (partition and in ), has a complete bipartite graph and no other edges. Some vertices which are not part of the bipartition, but present in the induced subgraph, have degree (no edges incident on them).
Proof 3
Since the induced subgraph is between user indices belonging to the neighborhood of two helpers and only undirected edges are considered, the result follows from the structure of the undirected side information graph for helpers. The argument is found in the proof for Lemma 2. Note that for the case of helpers, was just a complete bipartite graph between partitions and . The same argument extends to partition pairs and when . When , for the subgraph of induced by the vertices in the partition and , there may be additional nodes in either partition that have degree . The extra nodes may arise because nodes connect to other helper partitions but not and . For illustration, compare and contrast in Fig. 3 and Fig. 4. In Fig. 4, node participates in the second . However, considering the subgraph induced by the first two partitions, it has degree .
Henceforth, we use the phrase complete bipartite structure to denote this property of partite graphs. For the remainder of this work, we focus on coloring a partite undirected graph in which every vertex has degree at least and has the complete bipartite structure between any two partitions.
Remark: Complement of a tripartite undirected graph is a triclique. It is known that coloring a triclique is NPcomplete [19]. Hence, for a general partite graph coloring the complement is hard. However, we will show that the complete bipartite structure helps us find an algorithm that runs in time for constant .
V Category Graph and Multicoloring
The complete bipartite structure motivates grouping vertices into bins each of which has a label. Consider a set of partitions (). Let , where the complement is with respect to the set and denotes the set of numbers from to . A category, denoted by the label , contains all vertices in partition which are connected to at least one node in each partition belonging to but not connected to any node in any partition belonging to .
There are such categories with labels . Here, with some abuse of notation, is a string of indices (order within the string does not matter) which corresponds to the subset of indices indicated by and string represents the subset of indices which occur with a complement in the label for the category. means string concatenation (or equivalently disjoint union). Of these, categories of the form where have zero vertices because these are vertices with degree and hence are removed prior to coloring by assumption. Hence, there can be potentially categories.
Because of the complete bipartite structure between the partitions, the categories have the following properties:

All vertices in a given category are equivalent (they are connected to the same set of vertices in the rest of the graph) with respect to connections in .

There is a complete bipartition between vertices belonging to a category with label and vertices belonging to a category with label . Here, represents any valid string of indices (both substitutions can be different) that could be substituted in both category labels. There are no edges between vertices belonging to any other pair of categories.
The properties above motivate the following definition:
Definition 4
A category graph is an undirected graph with containing all category labels and an edge between labels if and only if all vertices from both categories participate in a complete bipartition in . For each category label vertex , let the weight be the number of vertices which belong to that category.
The above definition is specific to partite graphs with complete bipartite structure between partitions. Note that , except for the weights , is fully determined by and therefore independent of the ICDH problem input. We have . For illustration, category graph for is given in Fig. 5.
One can expand the category graph by replacing every category node by a graph of disconnected vertices and connect every vertex in category to every vertex in category if and only if . This expansion results in the original undirected partite graph . Let us consider the problem of coloring . We have the following definition and lemma that characterizes coloring in terms of multi coloring the complement of the category graph.
Definition 5
An multi coloring of an undirected with a positive integral weight function is assigning colors in total such that different colors are assigned to vertex and if then colors assigned to and must all be different.
Theorem 1
Optimal coloring of the complement of a partite undirected graph , with a complete bipartite structure between any two partitions, is equivalent to optimal multi coloring of the complement of its category graph, i.e.
Proof 4
In the complement of , two vertices belonging to the same category will be connected to each other. This implies that the vertices belonging to a single category will form a clique in the complement of . This introduces the weight function and multi coloring constraint on every category node on the complement graph . Two vertices in different categories will be connected in if and only if the corresponding category labels are connected in . This introduces multi coloring constraints across different categories in the complement of the category graph.
We now exhibit another special feature of with complete bipartite structure property when . We show that the graph is perfect when . We begin with some results about perfect graphs.
Definition 6
An undirected graph is perfect if for every induced subgraph , the coloring number is equal to the maximum clique number, denoted .
Lemma 4
[18] An undirected graph is perfect if and only if its complement is perfect.
Theorem 2
[20] An undirected graph is perfect if and only if no induced subgraph of is an odd cycle of length at least five (called an odd hole) or the complement of an odd hole (anti hole).
Lemma 5
[18] A graph obtained from a perfect graph by replacing its vertices by perfect graphs is perfect. In a replacement, if is an edge in the original graph, each vertex of a graph which replaces will be connected to every vertex of the graph that replaces vertex .
Theorem 3
Any partite undirected graph possessing a complete bipartite structure between two partitions is perfect. For partite graphs, possessing the same structure with , the graph in general is not perfect.
Proof 5
Consider the category graph of the partite graph given in Fig. 5. It is easy to observe that it does not contain odd cycle of length or more. The obstruction to any such attempt comes from the triangle formed by . Now, consider odd anti holes. Complement of a cycle of length happens to be a cycle of length which is ruled out. Complement of a cycle of length or more has at least edges. Nevertheless, the total number of edges in the category graph is only . Hence, by Theorem 2, the category graph for case is perfect. Now, to get the original partite graph from the category graph, one can expand the category graph by replacing every category vertex with a completely disconnected graph of size . A completely disconnected graph is perfect. Therefore, by Lemma 5, the conclusion of the theorem follows.
Next, we exhibit a partite graph with the complete bipartite structure property between every two partitions, which is a cycle of length . This has been shown in Fig. 6. It consists of one vertex each from the categories and . Hence, not all partite graphs with the complete bipartite structure are perfect when in general.
Corollary 1
For, , considering the underlying undirected side information graph of the ICDH problem, XOR coloring scheme gives the optimal binary scalar linear code.
Proof 6
Note that, from the original graph , directed edges were deleted to create a partite undirected graph (for notation refer Section IV). From Theorem 3, the graph and its complement are perfect (Lemma 4) for . As noted before, for perfect undirected graphs, coloring is the optimal index code [6]. With as and are disconnected. This proves the claim.
There is a polynomial time algorithm to color perfect graphs [21]. As a low complexity alternative to that, we provide a greedy coloring (multicoloring) algorithm which can optimally color, in polynomial time, the complement of the partite graph with the complete bipartite structure.
For an undirected graph, greedy coloring comprises of an ordering of the vertices and assigning colors (or equivalently numbers starting from ) sequentially. For every vertex in the order, the smallest color (number), except the ones already assigned to its neighbors processed previously in the ordering, is assigned. If no color previously can be used, then a new color is assigned (the smallest unused number). The number of colors is basically the largest number assigned to any vertex at the end of coloring. Finding the optimal order, given a graph, is intractable in general. In the case of , we give an optimal ordering for multi coloring the complement of the category graph.
Theorem 4
An optimal ordering for coloring when consists of processing all vertices of one category at the same time in any order. The order for processing categories is as follows: .
Proof 7
Let us consider the category graph, denoted , for given in Fig. 5. The proof exploits the structure of this graph. One needs to multicolor the complement of this graph. Instead of considering the edges of the complement, we will consider the constraints from coloring on the category graph itself. For coloring any category, the colors from the categories not connected to this category are forbidden and any remaining colors can be used. Let us denote the vertices (or multicolors needed) in each category by the weight function . Let us consider the subgraph induced by . Denote it by . In , any category can be colored only by colors from and vice versa. Hence, the forbidden category sets for both are identical in and comprise the remaining category sets in . Therefore, distinct colors used for coloring both the categories in any optimal coloring of has to be at least . It is easy to see that following the greedy order given in the theorem, with respect to , achieves this lower bound and hence optimal. According to the order given in the theorem, it is enough to show that after greedy optimal coloring of , coloring category sets (in any order) will be optimal for . This is because , without loss of generality, the partitions can be interchanged in labels as we do not assume anything about the weights of different categories.
Let be the optimal number of colors used by the optimal greedy algorithm on . Now assuming greedy ordering in the theorem, the total colors required for the entire graph is given by:
where . Categories form a triangle (clique). From colors used for , forbidden colors for the category (i.e. colors of categories , distinct colors used for the connected pair  all three that do not share any mutual colors) are removed. The remaining colors from colors are used to color . If still new colors are required for any of , then they can be shared among the three categories that form the triangle. This freedom of sharing is the reason for the outer function. appears because, after using up nonforbidden colors from , we may not need any new colors for a particular category . The function inside follows from the lower bound and its achievability due to greedy coloring for the graph , as explained previously for the pair .
Now assume any other arbitrary coloring order (possibly in which order among vertices in same category may also matter) which is optimal. After coloring the entire graph, consider the subgraph . Since greedy is optimal for this graph, the new optimal coloring must have required colors where for . Now, using the same forbidden colors argument as in the preceding paragraph, the total number of colors used in this coloring would be at least:
where where represents the number of distinct colors used for multicoloring vertices and in the new coloring. In the graph , have identical forbidden sets namely, the rest of the categories in . Therefore,
where . Hence, . Therefore, we have the following chain of inequalities:
(3)  
Eqn. (3) is true because . This means that one uses more colors than in the greedy algorithm by coloring it any other way. Hence the proposed order is optimal.
Remark: It is easy to check that, given the ICDH problem, labeling every vertex with the category labels takes at most time. And ordering them would also take time. Any vertex possessing category label with one complement, i.e. , has to be placed before all the vertices with no complement, i.e. , and the rest can be in any order without loss of generality for the greedy algorithm to work. Therefore, it takes time to decide the relative order between two vertices. Greedy coloring would take at most time given the ordering. The greedy coloring takes time polynomial in which is in sharp contrast with the intractability of coloring for general tricliques.
Vi Integer Programming Formulation for
It is unclear if a similar greedy order of processing categories can be found out for category graphs for . At least, if there is such a provable greedy ordering for any , then deciding the relative order between two vertices of different labels must take at least time exponential in . If it does not, when , it would lead to polynomial time coloring for the complement of a general undirected graph. We provide an integer programming formulation for the multicoloring problem on the catgeory graph to illustrate that, for constant , one can optimally color in time polynomial in . We provide a specific algorithm based on Graver Basis which can utilize some properties in this setting.
For , the problem reduces to multicoloring the complement of the category graph with the positive integral valued weight function (Theorem 1). The structure of the category graph and its size is fixed for given . Only the weights assigned to each categories, representing the number of vertices in each category, varies depending on the problem instance. Let be the set of all cliques in the category graph. Note that, a clique in the category graph is an independent set in the complement. Hence, we can impose coloring constraints on the category graph itself. Let us denote a clique in by where comprise the category vertices in the clique. Let , denote the number of common colors assigned to all category vertices comprising the clique. These colors are not used elsewhere in the coloring. Now, we write multi coloring on as the following integer linear program. This formulation is similar to that in [22].
(4) 
The linear integer program is of the following form:
(5) 
where is the vector comprising of entries and is matrix which in turn depends only on the structure of the category graph which depends only on . Let the number of rows of be . Let the number of columns of be . The number of rows of is the total number of categories which is . The length of vector is the total number of cliques in the category graph . A very loose bound of can be established using that fact that the largest clique size is for the category graph. represents vector of weights . The magnitude of entries in is bounded by . Hence, it needs bits to represent each entry. When the number of constraints and variables is fixed, it is possible to solve the integer program in time polynomial in by methods in [23].
In this case, the matrix is fixed and does not change for a given . Exploiting this through an approach of computing Graver basis of to solve the integer program, we have the following result:
Theorem 5
The XOR coloring scheme for the ICDH problem with constant number of helpers () and users can be computed in time by solving Problem (VI).
Proof 8
The proof is given in the appendix.
Vii Extension to Vector XOR coloring
In this section, we extend the above tractability results to another achievable scheme that we call vector XOR coloring. This scheme is based on fractional coloring of the complement of the undirected side information graph first introduced in [6]. This scheme is a vector linear scheme. Therefore, let us assume that the message desired by the th user is a packet consisting of bits . This assumption models the following scenario: The message desired by user is split into subpackets of equal size and every bit of subpacket undergoes the same encoding (XORed similarly) as the corresponding bit in the encoding scheme.
Definition 7
A Vector XOR coloring scheme of broadcast rate for is given by:

linear encoding functions:
(6) where and addition is over the binary field . For any , is non zero for exactly one . Every subpacket participates in only one of the transmissions.

linear decoding functions such that:
(7) for that unique , such that . Here, is the set of side information packets user has access to, listed by the directed outneighborhood of vertex in the graph . If , then is present as side information at user .
.
The optimum vector XOR coloring (the optimum ratio ) is given by fractional coloring of the complement of the undirected side information graph denoted by . The achievable scheme was first outlined in [6]. We briefly mention it here. Fractional coloring number is the optimum of the following linear program:
(8) 
where is the set of all maximal cliques in . Real nonnegative weight is assigned to every maximal clique in such that every vertex is covered by a weight of at least through only the maximal cliques that contain it. The minimum possible total weight is called the fractional chromatic number. Since the program has integral coefficients, the optimum is always rational for all . Let denote the greatest common divisor of all denominators of in the optimum solution. Then, setting , the covering constraint becomes . Let the total number of colors be . This means every maximal clique is assigned integral colors such that every vertex gets at least colors. And the total number of colors is . Now it is possible to reallocate the colors from the set of maximal cliques to the set of all cliques in such a way that every vertex is colored exactly times and the total number of colors (objective function value) remains the same. We will not go into how the reallocation is done. We refer to [22] for details of reallocation of colors from the set of maximal cliques to the set of cliques while maintaining the total number of colors. Therefore, after solving the linear program, every clique (even non maximal ones) is assigned a nonnegative integral weight such that every vertex is covered exactly by colors and the total number of colors used is and is the smallest possible value.
Now, we specify the vector XOR coloring achievable scheme corresponding to the fractional coloring solution, with the help of an example. Let us say that the number of colors assigned to vertex is and out of that colors have been assigned to a clique . Let us number all the colors from to . Let color be assigned to . Let and represent the positions of color in the different sorted orderings of colors assigned to vertices and respectively. Then, the th transmission is an XOR of subpackets and , i.e. as in (6). Since is a clique in the side information graph , each of the users and decodes exactly one subpacket using the side information available. Clearly, every subpacket participates in exactly one transmission corresponding to a clique. Therefore, fractional chromatic number corresponds to the broadcast rate of the optimal vector XOR coloring scheme.
Clearly, (VII) is a linear program with exponentially many variables (one for each maximal clique) for a general graph. If we consider an undirected partite graph with the complete bipartite structure, we show that using the machinery of section V, problem (VII) is equivalent to the following linear program which corresponds to a fractional multicoloring problem on the complement of the category graph ():
(9) 
Here, is the category graph of . is the set of maximal cliques in . As before, represents a maximal clique in the category graph and represents the amount of ”fractional colors” assigned exclusively to the maximal clique . is the weight of the category vertex or the number of vertices in the graph that belongs to category . We have the following theorem:
Theorem 6
Proof 9
Let and represent the objective functions corresponding to the respective feasible assignments and for problems (VII) and (VII) respectively. First, we show that if satisfying (VII), then satisfying (VII) such that . From the properties of the category graph in section V, we have the following observation: Any maximal clique is such that it corresponds to a unique maximal clique such that is in category . This is because vertices belonging to a category are disconnected and has the complete bipartite structure. Now, we can set . Since a category contains vertices, the assignment satisfies all the constraints of Problem (VII). Hence, one direction has been shown.
Now, we show the other direction: if satisfying (VII), then satisfying (VII) such that . Let the node belong to category . Problem (VII) is a linear program with integer coefficients. Therefore, the optimal feasible assignment is rational. Hence, without loss of generality we assume that is rational for all . Define where is the least common multiple of all the denominators of the rational numbers . The assignment satisfies:
(10) 
Define the new objective function to be . Define the set of colors used in the new assignment to be . Let be the unique set of numbered colors assigned to the maximal clique . Define . Choose a set of colors such that . It is always possible to find a pairwise disjoint sets of colors for all the nodes belonging to the category such that due to the constraint (10). Consider a maximal clique made of nodes in from different categories. Define for all maximal cliques in .
Note that a the category set forms a maximal clique in iff is a maximal clique in . Therefore, by this procedure, any color in is assigned to some . We will now show that implies that . We prove this by contradiction. Let (resp. ) corresponds to the maximal clique of categories corresponding to nodes in (resp. ). Consider and . This implies that there is a color under assignment assigned to different maximal cliques and , i.e. . But, this is not possible as no color is assigned to more than one maximal clique . Therefore, . Now, set