Index Coding Problem with Side Information Repositories
11 Index Coding Problem with Side InformationRepositories
Karthikeyan Shanmugam and Alexandros G. DimakisDepartment of Electrical and Computer EngineeringUniversity of Texas at AustinAustin, TX [email protected],[email protected] CaireDepartment of Electrical EngineeringUniversity of Southern CaliforniaLos Angeles, CA- [email protected]
Abstract
To tackle the expected enormous increase in mobile video traffic in cellular networks, an architecture involving a basestation along with caching femto stations (referred to as helpers), storing popular files near users, has been proposed [1]. Theprimary benefit of caching is the enormous increase in downloading rate when a popular file is available at helpers near a userrequesting that file. In this work, we explore a secondary benefit of caching in this architecture through the lens of index coding .We assume a system with n users and constant number of caching helpers. Only helpers store files, i.e. have side information.We investigate the following scenario: Each user requests a distinct file that is not found in the set of helpers nearby. Usersare served coded packets (through an index code ) by an omniscient base station. Every user decodes its desired packet fromthe coded packets and the side information packets from helpers nearby. We assume that users can obtain any file storedin their neighboring helpers without incurring transmission costs. With respect to the index code employed, we investigatetwo achievable schemes: 1)
XOR coloring based on coloring of the side information graph associated with the problem and2)Vector XOR coloring based on fractional coloring of the side information graph. We show that the general problem reduces toa canonical problem where every user is connected to exactly one helper under some topological constraints. For the canonicalproblem, with constant number of helpers ( k ), we show that the complexity of computing the best XOR/vector XOR coloringschemes are polynomial in the number of users n . The result exploits a special complete bi-partite structure that the sideinformation graphs exhibit for any finite k . I. I
NTRODUCTION
The main challenge that faces today’s operators of 3GPP LTE Advanced enabled cellular networks is an enormousincrease in mobile video traffic. The mobile video traffic in a cell is also expected to have a lot of redundancy indemand for stored videos (Youtube-like 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 WiFienabled caching helpers was proposed in [1]. In this framework, few femto-like stations would be distributed in acell, controlled by the base station, with an additional feature of caching popular files near users. The motivationfor caching at the helpers is to reduce the bandwidth demand on the backhaul to these helpers. A high bandwidthbackhaul network is expensive to deploy. If a user request has a high cache hit in one of the helpers nearby, thenthe user downloads the file from the helper through a high speed WiFi link without having to rely on the basestation 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 cachemisses for all users. The benefit is gained when base station sends few ’coded’ packets where coding is done overthe set of packets requested by all the users. A user terminal decodes its desired packet from the coded transmissionsby downloading some side information available as cached data from a subset of the helpers it is connected toeven when those helpers do not have the user’s desired packet. The total number of coded transmissions by thebase station may be lower compared to the the naive scheme where the base station transmits all user requests in a r X i v : . [ c s . I T ] N ov sequence. This is because if some helpers in the network cache previous requests in the network and if requestsarising from the entire network have redundancy over time then the following scenario may occur: user A anduser B both have cache misses. But user A has a cache hit with the helper near user B but located far away fromuser A and vice versa. Now the packets intended for both users can be XORed saving one transmission for thebase station. The user-helper links are high speed links and hence pulling side information required to decode isassumed to involve zero cost. In this work, we assume that a connectivity graph between helpers and users, anarbitrary cache state of helpers (users do not cache) and a set of simultaneous distinct user requests, such that everyuser has a cache miss , are given as the input. We investigate the problem of minimizing the number of broadcasttransmissions 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 n 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 usinghypergraphs or another special representation in terms of bipartite graphs [4] [5]. The problem instance when eachuser requests a different packet can be represented using a directed side information graph where every vertexrepresents a user (and equivalently a packet desired by the user as every request is distinct). There is a directededge from user i to user j if user i has the packet desired by j as side information. In the very special case whenside information is symmetric, i.e. user i has user j ’s packet as side information whenever user j has user i ’s packetas side information, the problem instance can be represented by an undirected side information graph.Each packet is drawn from an alphabet of size t bits. An index code is a function that maps n packets, each of p bits, to a packet of size t bits. The encoded message of t 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 thedesirable packet (of p bits), i.e. there is a suitable decoding function. The index coding problem is to compute theminimum broadcast rate tp over all possible index codes. The minimum broadcast rate is denoted by β . The generalproblem of computing minimum broadcast rate over all possible encoding functions is very hard to characterize[6].Let the message alphabet, represented by p bits, be a finite field. Let t be a multiple of p , i.e. encoded messageis a sequence of elements drawn from the field. If every subsequent field element in the encoded message is alinear function of the n desired messages ( n field elements), then such an index code is a scalar linear index codeover 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 directedgraph analog of the graph parameter introduced in [7] to upper bound the Shannon capacity of an undirected graph.Computing minrank is known to be NP-hard [8] [9]. In [10], the authors show the existence of graphs where themultiplicative gap between binary minrank and the optimum broadcast rate β grows polynomially in the numberof nodes n . Some recent works [11] [12] also dealt with tractability of computing the binary minrank for restrictedclasses of graphs. In [13], the minrank parameter of Erd˝os-Renyi graphs G ( n, p ) were analyzed. Authors of [14]provide a polynomial time algorithm based on graph coloring for approximating minranks for undirected graphinstances whose minrank is k . Recently, interference alignment approach has been applied to the problem of indexcoding [15]. In [6], a set of linear programs were developed whose optima effectively provide lower and upperbounds on the optimum broadcast rate β . Fractional coloring and coloring of the complement of the undirected sideinformation graph are the most well known popular upper bounds to the optimum rate β [6] yielding achievablelinear binary schemes. Apart from the index coding literature, a slightly different approach combining the cachedesign and coding problem was taken in [16] where all users cache data (no helpers). The problem is to designcaches first and then the coding scheme to minimize packets transmitted for the worst case user requests all ofwhich 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 cachingarchitecture mentioned above in a wireless network setting. Here, a side information packet is a packet cached onlyin the helpers and a user has access to them at zero cost if it is connected to the helper containing it. The basestations transmit coded packets to satisfy distinct requests of n users. We study the algorithmic tractability for thewell known linear achievable schemes, based on graph coloring, when user side information is restricted to comefrom a constant number of caching helpers. We note that intractability of coloring based achievable schemes forthe general index coding problem arise due to the freedom available in choosing an arbitrary side information set U1 U2 U4 U5 U6 U7U3Helper 1 Helper 2P1 P2 P3 P4 P5 P6 P7P5,P6,P7 P1,P2,P3Base Station
Side InfoUsersPackets Requested
P1+P5 P2+P6P3+P7 P4
Saves 3 broadcast slotsLow rate Transmission High rate Transmission
Fig. 1: Index Coding Problem with Caching helpersfor 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 requestdifferent packets, none of which are found in their respective set of neighboring helpers. In the figure, user downloads packet P from helper in order to decode its desired packet P from the coded packet P P transmitted by the base station. In this example, user requests can be satisfied by coded transmissions fromthe base station, plus some local transmission from the helpers, which can take place at a much faster speed, dueto the high capacity of short range links. Hence, the presence of helpers with side information can alleviate thebase station congestion even though the requests are not found in the helper caches, as in this example. Helpershave an arbitrary cache state given as part of the input. Further, the connectivity graph between users and helpersin specified. The base station transmits coded packets.We investigate the computational complexity of a coding scheme where every user needs to listen to just onecoded packet that contains the desired packet XORed with other packets. At the time of decoding, the user needs tojust download an extra packet from neighboring helpers, which is an appropriate ’mix’ of side information packetspresent at helpers nearby to cancel the “interference” formed by the undesired packets, and decode the desiredpacket. We call this coding scheme an XOR coloring scheme. XOR coloring can be shown to be based on coloringthe complement of the undirected side information graph. The XOR coloring scheme is a scalar scheme, i.e. everytransmission is linear in the packets of different users. We also investigate a vector coding scheme called vectorXOR coloring that generalizes the above scheme and is based on fractional coloring of the complement of the sideinformation graph. Every user request consists of a set of sub-packets. Under this scheme, the base station codesover these sub-packets in such a way that every user needs to listen to exactly one coded sub-packet to recoverone of the desired sub-packets using side-information from the helpers.
Our Contributions:
We treat the special case of the index coding problem in a wireless network, where theside information is available at a few caching helpers that serve nearby users through short range WiFi links (withno cost) and all users can receive data from the base station. We assume a network with one base station (source), k (a constant) helpers and n users. With interference constraints on helper placement and planar topology, one canreduce a general problem, where users are connected to multiple helpers, to a canonical form in which users areconnected to just one helper, while the number of helpers in the resulting ‘canonical network’ is increased by atmost a constant factor with respect to the original network. For the equivalent problem reduced to such a “canonicalform”, the problem of finding the optimal XOR coloring scheme, when k is a constant that does not scale with n ,reduces to a problem of multi coloring on a fixed prototypical graph uniquely determined by k only. The integerprogramming formulation of such a multi coloring problem yields a optimal XOR coloring scheme computablein time polynomial in the number of users n . We further show that vector XOR coloring reduces to fractionalmulti coloring on the prototypical graph whose computational complexity is polynomial in n when k is a constant( O ( k ) n ). For k = 2 , the XOR coloring code is the optimal linear scalar index code. For k = 3 , XOR coloringis also shown to be the optimal binary scalar linear index code when considering the undirected side informationgraph obtained by throwing away uni-directed edges. II. P
ROBLEM D EFINITION
We consider a special instance of the index coding problem involving constant number of helpers holding cachedpackets that act as side information, motivated by a wireless setting with a central broadcasting agent, i.e. a basestation, 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. Inthis sense, side information available to a user includes all the cached content of a helper if the user is in theconnectivity range of the helper. When we deal with binary scalar coding schemes in this work, packet size is takento be bit ( p =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 ( { C i , S i } ) The problem instance is given by n users, indexed byelements from set N = { , . . . n } , served by the base station, requesting n different packets x , x . . . x n ∈ F respectively. There are k helper nodes denoted by H = { H , H . . . H k } ,such that helper H i contains a subset S i ⊆ { x , . . . , x n } of the n packets. User requests are not found in its neighboring helpers ( cache misses ). Letting C j ⊆ N denote the set of users connected to helper H j , cache miss condition implies x i / ∈ S j for all i ∈ C j . Definition 1: A Side Information graph is a directed graph G d ( V, E d ) where each vertex i corresponds to a user i and there is a directed edge from i to j denoted by the ordered pair ( i, j ) when user j has packet x i as sideinformation. This notion holds only for the case when user i requests a single packet x i and all user requests arefor different packets. ♦ Any index coding problem with distinct requests has a directed side information graph characterizing it. The ICDHproblem when k = n and | C i | = 1 , ∀ i is the general index coding problem instance on a directed side informationgraph. Definition 2: An underlying undirected side information graph G ( V, E ) of a given directed side informationgraph G d is obtained by replacing every two directed edges ( i, j ) and ( j, i ) by an undirected edge, denoted { i, j } ,and throwing away any directed edge ( i, j ) that does not have an oppositely directed counterpart, namely ( j, i ) . ♦ We introduce some standard notation for a few graph parameters. Given an undirected graph G , ¯ G denote itscomplement. α ( G ) , ω ( G ) , ¯ χ ( G ) , χ ( G ) are the independence number, clique number, clique cover number and thechromatic number, respectively of G . Since an independent set in G is the clique in ¯ G , we have χ ( ¯ G ) = ¯ χ ( G ) and α ( G ) = ω ( ¯ G ) . 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 coloringof the complement of the underlying side information graph G ( V, E ) or clique cover of G ( V, E ) and the ’vectorXOR coloring’ scheme which corresponds to the fractional coloring of ¯ G . We defer the definition and treatment ofvector XOR coloring scheme until section VII. First, we focus on the XOR coloring scheme. We define the XORcoloring scheme as follows. Definition 3: (XOR coloring scheme) XOR coloring scheme of length t for G d ( V, E d ) is given by:1) t linear encoding functions: y i = n (cid:88) (cid:96) =1 G i,(cid:96) x (cid:96) , ∀ ≤ i ≤ t (1)where G i,(cid:96) ∈ F and addition is over the binary field F . For any (cid:96) , G i,(cid:96) is non zero for exactly one i .2) n linear decoding function φ i such that: x i = (cid:98) φ i ( y , y . . . y t , N i ) = (cid:98) φ i ( y (cid:96) , N i ) (2)for that unique (cid:96) , such that G i,(cid:96) (cid:54) = 0 . Here, N ( i ) is the set of side information packets user i has access to,listed by the directed out-neighborhood of vertex i in the graph G d . In other words, user i needs only thatencoded transmission in which its desired packet participates to decode. ♦ .For the ICH problem, the side information graph G d is such that N ( i ) = (cid:83) j : i ∈ C j S j . In other words, the sideinformation available to user i 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 infor-mation graph or the coloring of its complement. Consider one encoded transmission y (cid:96) . Every user correspondingto the packet that participates in this should form a clique in G ( V, E ) or an independent set in the complement of G ( V, E ) for decoding to be feasible. Each color specifies an encoding function y (cid:96) . Hence, χ ( ¯ G ) or ¯ χ ( G ) is equalto the length of the optimal ’XOR coloring’ code. Coloring a graph is NP-hard 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 helpersin the equivalent canonical form is linear in the number of helpers of the original network. This will allow us, inthe rest of the paper, to restrict our treatment to networks in canonical form, with k helpers, where k is a constantwith respect to n .We reduce the ICH problem to a problem where every user is connected to a single helper, by introducingvirtual helpers defined as follows: for every possible distinct set S i (cid:83) · · · (cid:83) S i m , create a virtual helper labeled by H ∪ i ...i m , with side information S ∪ i ...i m = S i (cid:83) · · · (cid:83) S i m and neighborhood (cid:84) mj =1 C i j . Clearly, there can be at most k such virtual helpers. An important property is that every user is connected to exactly one helper. Namely, user i is connected to the unique virtual helper H ∪ i ...i m for which i ∈ (cid:84) mj =1 C i j .After this operation, two virtual helpers might contain the same side information in which case they can bemerged into a single virtual helper. We call this union expansion . Note that in the generic case, the expansionrequires creation of exponential number of virtual helpers. However, in a practical situation arising in wirelessnetworks, given a planar topology for location of users and helpers, and assuming a communication radius for eachhelper, and restricting location of helpers such that any user can be connected to at most d helpers ( d could be asmall number like , due to interference management), the number of virtual helpers that one has to consider inthe union expansion is just O ( k ) . We will prove this result in the following lemma. Lemma 1:
Consider a set of k circles on a 2-dimensional plane parametrized by their centers P = { p , p . . . p k } and radii { r , r . . . r k } . Assume that they form a d -ply system, i.e., any point in the plane is covered by at most d circles. Consider the family of subsets F ⊆ P such that S ∈ F if all the circles in S have a non-trivial intersection.We call such a set S as intersecting set of circles . Then |F | = O ( k ) . (cid:3) Proof:
Define the intersection graph of the d -ply system as G = ( P , E ) and ( p i , p j ) ∈ E if circles with centers p i and p j intersect. An undirected graph is said to be δ inductive if there is a numbering on the vertices such thatevery vertex is connected to at most δ vertices which are numbered higher than itself. It is known [17] that a -dimensional d -ply system is d inductive.Consider a particular circle whose center is p i . It intersects with at most d circles which are numbered higher.Let S be a set of circles such that S ∈ F and p i ∈ S and if there is a p j ∈ S, p j (cid:54) = p i , then p j is numberedhigher than p i . We count the number of such sets S . An immediate bound would be (cid:80) d − i =0 (cid:0) di (cid:1) ≤ d (cid:0) dd − (cid:1) . Forevery circle p i , we count such intersecting sets S that contain p i but do not contain any circle numbered lower. Inthis way, one can count at most (cid:0) dd − (cid:1) dk sets. We have to show that, in this method of counting, every set S ∈ F 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 d -ply system implies that no user can be connected to more than d helpers.Consider S ∈ F . Let circle p have the lowest numbering. This set will be included when counting intersectingsets of circles containing the circle p and no other circle numbered lower. Hence |F | ≤ (cid:0) dd − (cid:1) dk . Hence |F | = O ( k ) .Note that, although the coefficient d (cid:0) dd − (cid:1) may be large, the actual number of virtual helpers under union expansionis usually considerably smaller since some regions of intersection may not contain any users for a given instance ofthe problem and the side information corresponding to multiple virtual helpers may be identical and hence could bemerged further. Due to the above result, it is sufficient (in an order sense with respect to the number of helpers) totreat the problem assuming that a user is connected to exactly helper. We can re-define our network assuming aconstant number (say k ) of helpers such that their neighborhoods C j are pairwise disjoint. Since, a user request isnot found in the cache of a helper connected to the user, we have C j (cid:84) S j = ∅ . There is a slight abuse of notationbecause C j is a subset of users and S j is a subset of packets. From now on, a user and its requested packet issynonymous. Now, we define a variant of Problem 1 (ICH) where the network is in canonical form. Problem 2: ( Index Coding with Disjoint Helpers: ICDH( { C i , S i } ki =1 ) ) An ICH problem instance { C j , S j } for ≤ j ≤ k with additional conditions: { C j } pairwise disjoint and C j (cid:84) S j = ∅ . Fig. 2: k = 2 helpers. C = { , , , } , C = { , , } . S = { , } , S = { , } . There is an undirected edge u (2 , between and which represents two directed edge (2 , and (5 , in opposite directions. The directededge (4 , signifies that user can see packet x due to helper containing it as side information.We are interested in the complexity of computing the optimal ’XOR coloring’ scheme for ICDH when k (numberof helpers) is a constant. For this we need to analyze some structural properties of G d ( V, E d ) corresponding to theICDH problem. Lets start with a simple case when k = 2 .III. k = 2 HELPERS CASE
We consider the ICDH problem for k = 2 . The problem consists of two disjoint sets of users C , C connected tohelpers and respectively. Side information contained in helper is given by S and side-information containedin helper is given S . To visualize this, let us consider a directed side-information graph, which in this case, isa bipartite graph G d ( C (cid:83) C , E d ) . Since C ∩ S = ∅ and C ∩ S = ∅ , there are directed edges only betweenthe partitions C and C . If j ∈ C and j ∈ S , there is a directed edge from every vertex in C to the vertex j in C signifying that all users in C have access to packet x j desired by user j . Two directed edges in oppositedirections, i.e. ( i, j ) and ( j, i ) are replaced by an undirected edge denoted by { i, j } . With some abuse of notation,let ( i, j ) ∈ E d represent the directed edge from i to j and by { i, j } ∈ E d we mean the undirected version. Withan example, this is illustrated in Fig. 2.We have the following lemma regarding the optimum binary scalar linear index coding solution when k = 2 . Lemma 2:
When k = 2 , and each user is connected to exactly one helper, the optimum binary scalar linear codeis given by the XOR coloring scheme and its length is | C | + | C | − min {| S ∩ C | , | S ∩ C |} . (cid:3) Proof:
Let C out1 ⊆ C be the set of users which are not in S . Similarly, let C out2 ⊆ C be the users whosepackets are not present as side information in helper . Observe that component induced by C out1 ∪ C out2 has nodirected/undirected edges and edges are only directed out of this component in the original graph. Let E (cid:48) be the setof edges that are directed out from the component induced by C out1 ∪ C out2 . Hence one can decompose the originalbi-partite graph into two parts as follows: G ( C out1 ∪ C out2 , ∅ ) → G ( C \ C out1 ∪ C \ C out2 , E d \ E (cid:48) ) where the ‘ → ’indicates that there are no edges coming into G from G but possibly there are edges in the other direction. Anexample is given in Fig. 2 for illustration. The decomposition for the example given in Fig. 2 is provided in Fig.3. In the example, C out1 = { , } and C out2 = { } .Consider the graph decomposed as G → G . The second component G is a complete bipartite graph K C ∩ S ,C ∩ S with only undirected edges where K M,N denotes a complete bi-partite graph between disjoint vertices of the set M and disjoint vertices of the set N . In other words, in the remaining graph G , given any two vertices i, j fromdifferent partitions, there is an undirected edge { i, j } ∈ E d \ E (cid:48) . This is because, every vertex in one partition iscontained in the side information set of the other partition. Otherwise that vertex will belong to C out1 ∪ C out2 sinceit would be a vertex not ‘seen’ by the other partition.For a complete bi-partite graph, the independent number α ( G ) and the clique cover number ¯ χ ( G ) are identicalbecause a bi-partite graph is a perfect graph [18]. In this case, the independence number equals the size of themaximum of the two partitions , i.e. max {| S ∩ C | , | S ∩ C |} . It is known that for an undirected side informationgraph G , α ( G ) ≤ (cid:96) ( G ) ≤ ¯ χ ( G ) where (cid:96) ( . ) is the length of the optimum binary scalar linear index code of theundirected graph G . Hence, (cid:96) ( G ) = α ( G ) . From the decomposition of G → G , since no vertex in G iscontained as side information in G , it is known that [3] (cid:96) ( G d ) = (cid:96) ( G ) + (cid:96) ( G ) where (cid:96) ( G d ) is the optimal scalarlinear index code for G d . In this case, (cid:96) ( G ) = | G | = | C out1 ∪ C out2 | since G has no edges. Hence, the resultfollows. In the example given in Fig. 3, the transmissions that can be saved corresponds to the complete bipartite G G Fig. 3: The original graph from Fig. 2 decomposed as in the proof of Lemma 2.graph between { , } on one side and { , } on the other. One could transmit x + x and x + x or x + x and x + x . This corresponds to the XOR coloring solution of the bipartite graphIn a nutshell, for k = 2 , the bi-partite graph exhibits a special bi-partite structure that makes the XOR coloringsolution the optimal binary scalar linear index coding solution. Using the ideas from this section, we now investigatethe structure of the side-information graph for the case k ≥ .IV. k ≥ H ELPERS CASE
For a given k , the ICDH problem input consists of neighborhoods { C i } ki =1 and the side information sets { S i } ki =1 such that C i (cid:84) C j = ∅ . In this case, the side information graph is given by a directed k -partite graph G d ( (cid:83) i C i , E d ) .As before , an edge is undirected when edges in both directions are present between two vertices. We isolatevertices which are not contained in any helper into (cid:83) i C out i . This allows us to define a very similar decomposition: G (cid:18)(cid:83) i C out i , ∅ (cid:19) → G (cid:18)(cid:83) i C i \ (cid:83) i C out i , E d \ E (cid:48) (cid:19) as before where E (cid:48) consists of edges directed from G into G as before. The decomposition for k = 3 case is illustrated in Fig. 4.A new feature is that, in the second graph G , there are directed edges too. In the example given in Fig. 4,directed edges appear in G . (4 , exists but there is no directed edge from partition to node . In particular,edge (5 , is not present. We are interested in χ ( ¯ G ) where G is the underlying undirected side information graphcorresponding to the problem instance G d . G is the disjoint union of G u and G u where G ui is the undirected versionof G i obtained by retaining only undirected edges. Observe, that there are no undirected edges between G and G . Hence, χ (cid:0) ¯ G (cid:1) = χ (cid:0) ¯ G u (cid:1) + χ (cid:0) ¯ G u (cid:1) . Since G u has no edges it is sufficient to color ¯ G u . In fact, let us assume C out i = ∅ , ∀ i because even if they are not empty they are collected in the edgeless graph G u . Then, G u has thefollowing structure: Lemma 3:
The vertex induced subgraph of G u , induced by C i and C j (partition i and j in G u ), has a completebipartite graph K C i ∩ S j ,C j ∩ S i and no other edges. Some vertices which are not part of the bi-partition, but presentin the induced sub-graph, have degree (no edges incident on them). Proof:
Since the induced sub-graph is between user indices belonging to the neighborhood of two helpers andonly undirected edges are considered, the result follows from the structure of the undirected side information graphfor k = 2 helpers. The argument is found in the proof for Lemma 2. Note that for the case of k = 2 helpers, G u was just a complete bipartite graph between partitions and . The same argument extends to partition pairs i and j when k > . When k > , for the subgraph of G u induced by the vertices in the partition i and j , there may beadditional nodes in either partition that have degree . The extra nodes may arise because nodes connect to otherhelper partitions but not i and j . For illustration, compare and contrast G in Fig. 3 and Fig. 4. In Fig. 4, node participates in the second G u . 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 k -partite graphs. For theremainder of this work, we focus on coloring a k -partite undirected graph G u in which every vertex has degree atleast 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 isNP-complete [19]. Hence, for a general -partite graph coloring the complement is hard. However, we will showthat the complete bipartite structure helps us find an algorithm that runs in time poly(n) for constant k . G G
234 56 89 G Fig. 4: Decomposition for k = 3 helpers case. Notice that in G there are directed edges. In G u , any two partitionsinduce a complete bipartite graph.V. C ATEGORY G RAPH AND M ULTICOLORING
The complete bipartite structure motivates grouping vertices into bins each of which has a label. Consider aset of partitions { i , i . . . i p } ⊆ { , , . . . k } ( p ≤ k − ). Let { j , j . . . j k − − p } = { i , i . . . i p } c , where thecomplement is with respect to the set [ k ] − { } and [ k ] denotes the set of numbers from to k . A category , denotedby the label V → i i ...i p j c j c ...j ck − − p , contains all vertices in partition which are connected to at least one node ineach partition belonging to { i . . . i p } but not connected to any node in any partition belonging to { j . . . j k − p − } .There are k k − such categories with labels { V i → ps c } , ∀ i ∈ [ k ] , ∀ p , s : p + s = [ k ] − { i } , p (cid:84) s = ∅ . Here, withsome abuse of notation, p is a string of indices (order within the string does not matter) which corresponds to thesubset of indices indicated by p and string s represents the subset of indices which occur with a complement inthe label for the category. (cid:48) + (cid:48) means string concatenation (or equivalently disjoint union). Of these, categories ofthe form V i → s c where s = [ k ] − { i } have zero vertices because these are vertices with degree and hence areremoved prior to coloring by assumption. Hence, there can be potentially k (2 k − − categories.Because of the complete bipartite structure between the partitions, the categories have the following properties:1) All vertices in a given category are equivalent (they are connected to the same set of vertices in the rest ofthe graph) with respect to connections in G u .2) There is a complete bipartition between vertices belonging to a category with label V i → j... and verticesbelonging to a category with label V j → i... . Here, . . . represents any valid string of indices (both substitutionscan be different) that could be substituted in both category labels. There are no edges between verticesbelonging to any other pair of categories.The properties above motivate the following definition: Definition 4: A category graph G ( V , E ) is an undirected graph with V containing all category labels and anedge between labels if and only if all vertices from both categories participate in a complete bipartition in G u . Foreach category label vertex v , let the weight w ( v ) be the number of vertices which belong to that category.The above definition is specific to k -partite graphs with complete bipartite structure between partitions. Note that G , except for the weights w ( . ) , is fully determined by k and therefore independent of the ICDH problem input.We have (cid:80) v ∈V w ( v ) = n . For illustration, category graph for k = 3 is given in Fig. 5.One can expand the category graph by replacing every category node v by a graph of w ( v ) disconnected verticesand connect every vertex in category v to every vertex in category u if and only if ( u, v ) ∈ E . This expansionresults in the original undirected k -partite graph G u . Let us consider the problem of coloring ¯ G u . We have thefollowing definition and lemma that characterizes coloring ¯ G u in terms of multi coloring the complement of thecategory graph. Definition 5: An r -multi coloring of an undirected G ( V , E ) with a positive integral weight function w : V → Z + is assigning r colors in total such that w ( v ) different colors are assigned to vertex v and if ( u, v ) ∈ E then colorsassigned to u and v must all be different. ♦ Theorem 1:
Optimal coloring of the complement of a k partite undirected graph G u , with a complete bi-partitestructure between any two partitions, is equivalent to optimal multi coloring of the complement of its categorygraph, i.e. ¯ G ( V , E ) Proof:
In the complement of G u , 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 G u . This Partition 1 Partition 3Partition 2Edges of the complete BipartitionV V V V V V V V V V V V Fig. 5: 1. An undirected − partite graph G u considered in this work between partitions characterized by differenthelpers and 2. The category graph of the original graph V V V V V Partition 1 Partition 2 Partition 3 Partition 4
Fig. 6: A cycle of length which is an induced subgraph when k ≥ introduces the weight function and multi coloring constraint on every category node on the complement graph ¯ G ( V , E ) . Two vertices in different categories will be connected in ¯ G if and only if the corresponding categorylabels are connected in ¯ G . This introduces multi coloring constraints across different categories in the complementof the category graph.We now exhibit another special feature of G u with complete bipartite structure property when k = 3 . We showthat the graph is perfect when k = 3 . We begin with some results about perfect graphs. Definition 6:
An undirected graph G u is perfect if for every induced subgraph H u , the coloring number χ ( H u ) is equal to the maximum clique number, denoted ω ( H u ) . ♦ Lemma 4: [18] An undirected graph is perfect if and only if its complement is perfect. (cid:3)
Theorem 2: [20] An undirected graph G u is perfect if and only if no induced subgraph of G u is an odd cycleof length at least five (called an odd hole) or the complement of an odd hole (anti hole). (cid:3) Lemma 5: [18] A graph obtained from a perfect graph by replacing its vertices by perfect graphs is perfect. Ina replacement, if ( u, v ) is an edge in the original graph, each vertex of a graph which replaces u will be connected to every vertex of the graph that replaces vertex v . (cid:3) Theorem 3:
Any -partite undirected graph G u possessing a complete bipartite structure between two partitionsis perfect. For k -partite graphs, possessing the same structure with k ≥ , the graph in general is not perfect. (cid:3) Proof:
Consider the category graph of the -partite graph given in Fig. 5. It is easy to observe that it doesnot contain odd cycle of length or more. The obstruction to any such attempt comes from the triangle formedby V → , V → , V → . Now, consider odd anti holes. Complement of a cycle of length happens to be a cycleof length which is ruled out. Complement of a cycle of length or more has at least (cid:0) (cid:1) − edges.Nevertheless, the total number of edges in the category graph is only . Hence, by Theorem 2, the categorygraph for k = 3 case is perfect. Now, to get the original -partite graph from the category graph, one can expandthe category graph by replacing every category vertex v with a completely disconnected graph of size w ( v ) . Acompletely 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 V → c c , V → c , V → c , V → c and V → c . Hence, not all k -partite graphs with the complete bipartitestructure are perfect when k ≥ in general. Corollary 1:
For, k = 3 , considering the underlying undirected side information graph of the ICDH problem,XOR coloring scheme gives the optimal binary scalar linear code. (cid:3) Proof:
Note that, from the original graph G , directed edges were deleted to create a k -partite undirectedgraph G u (for notation refer Section IV). From Theorem 3, the graph G u and its complement are perfect (Lemma4) for k = 3 . As noted before, for perfect undirected graphs, coloring is the optimal index code [6]. With (cid:96) ( G u ) = (cid:96) ( G u ) + (cid:96) ( G u ) as G u and G u 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 providea greedy coloring (multi-coloring) algorithm which can optimally color, in polynomial time, the complement of the -partite graph with the complete bi-partite structure.For an undirected graph, greedy coloring comprises of an ordering of the vertices and assigning colors (orequivalently 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 colorpreviously can be used, then a new color is assigned (the smallest unused number). The number of colors isbasically 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 k = 3 , we give an optimal ordering for multi coloring the complement ofthe category graph. Theorem 4:
An optimal ordering for coloring when k = 3 consists of processing all vertices of one categoryat the same time in any order. The order for processing categories is as follows: V → c → V → c → V → c → V → c → V → c → V → c → V → → V → → V → . (cid:3) Proof:
Let us consider the category graph, denoted G u , for k = 3 given in Fig. 5. The proof exploits thestructure of this graph. One needs to multicolor the complement of this graph. Instead of considering the edgesof the complement, we will consider the constraints from coloring on the category graph itself. For coloring anycategory, the colors from the categories not connected to this category are forbidden and any remaining colors canbe used. Let us denote the vertices (or multicolors needed) in each category by the weight function w ( v ) , v ∈ V .Let us consider the subgraph induced by V i → jk c , ∀ i (cid:54) = j (cid:54) = k . Denote it by G u . In G u , any category V i → jk c can becolored only by colors from V j → ik c and vice versa. Hence, the forbidden category sets for both are identical in G u and comprise the remaining category sets in G u . Therefore, distinct colors used for coloring both the categoriesin any optimal coloring of G u has to be at least max( w ( V i → jk c ) , w ( V j → ik c )) . It is easy to see that following thegreedy order given in the theorem, with respect to G u , achieves this lower bound and hence optimal. According tothe order given in the theorem, it is enough to show that after greedy optimal coloring of G u , coloring categorysets V i → jk (in any order) will be optimal for G u . 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 p be the optimal number of colors used by the optimal greedy algorithm on G u . Now assuming greedyordering in the theorem, the total colors required for the entire graph G u is given by: Colors used in greedy = p + max i , j (cid:54) =k (cid:54) =i (V i → jk − (p − w (V i → jk c ) − w ( V k → ij c ) − max ( w ( V j → ki c ) , w ( V k → ji c )))) + where ( x ) + = max( x, . Categories V i → jk , ∀ i (cid:54) = j (cid:54) = k form a triangle (clique). From p colors used for G u ,forbidden colors for the category V i → jk (i.e. colors of categories V i → jk c , V k → ij c distinct colors used for the connectedpair V j → ki c , V k → ji c - all three that do not share any mutual colors) are removed. The remaining colors from p colorsare used to color V i → jk . If still new colors are required for any of V i → jk , then they can be shared among the threecategories that form the triangle. This freedom of sharing is the reason for the outer max() function. ( . ) + appearsbecause, after using up non-forbidden colors from G u , we may not need any new colors for a particular category V i → jk . The max function inside follows from the lower bound and its achievability due to greedy coloring for thegraph G u , as explained previously for the pair V j → ki c , V k → ji c .Now assume any other arbitrary coloring order (possibly in which order among vertices in same category mayalso matter) which is optimal. After coloring the entire graph, consider the subgraph G u . Since greedy is optimalfor this graph, the new optimal coloring must have required p + δ colors where δ ≥ for G u . Now, using the sameforbidden colors argument as in the preceding paragraph, the total number of colors used in this coloring wouldbe at least: ( p + δ ) + max i,j (cid:54) = k (cid:54) = i ( V i → jk − ( p + δ − w ( V i → jk c ) − w ( V k → ij c ) − c ( V j → ki c , V k → ji c ))) + where ( x ) + = max( x, where c ( v, u ) represents the number of distinct colors used for multicoloring vertices u and v in the new coloring. In the graph G u , V j → ki c , V k → ji c have identical forbidden sets namely, the rest of thecategories in G u . Therefore, c ( V j → ki c , V k → ji c ) = max ( w ( V j → ki c ) , w ( V k → ji c )) + δ i c where δ i c ≥ . Hence, − δ ≤ δ i c − δ . Therefore, we have the following chain of inequalities: Colors used ≥ ( p + δ ) + max i,j (cid:54) = k (cid:54) = i ( V i → jk − p + w ( V i → jk c ) + w ( V k → ij c ) + max ( w ( V j → ki c ) , w ( V k → ji c )) + δ i c − δ ) + ≥ ( p + δ ) + max i,j (cid:54) = k (cid:54) = i ( V i → jk − p + w ( V i → jk c ) + w ( V k → ij c ) + max ( w ( V j → ki c ) , w ( V k → ji c )) − δ ) + ≥ ( p + δ ) + max i,j (cid:54) = k (cid:54) = i ( V i → jk − p + w ( V i → jk c ) + w ( V k → ij c ) + max ( w ( V j → ki c ) , w ( V k → ji c ))) + − δ (3) = Colors used in greedy Eqn. (3) is true because max( x − δ, ≥ max( x, − δ . This means that one uses more colors than in the greedyalgorithm 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 takesat most O ( n ) time. And ordering them would also take O ( n ) time. Any vertex possessing category label withone complement, i.e. V i → jk c , has to be placed before all the vertices with no complement, i.e. V i → jk , and the restcan be in any order without loss of generality for the greedy algorithm to work. Therefore, it takes O (1) time todecide the relative order between two vertices. Greedy coloring would take at most O ( n ) time given the ordering.The greedy coloring takes time polynomial in n which is in sharp contrast with the intractability of coloring forgeneral tri-cliques. VI. I NTEGER P ROGRAMMING F ORMULATION FOR k ≥ It is unclear if a similar greedy order of processing categories can be found out for category graphs for k ≥ .At least, if there is such a provable greedy ordering for any k , then deciding the relative order between two verticesof different labels must take at least time exponential in k . If it does not, when k = n , it would lead to polynomialtime coloring for the complement of a general undirected graph. We provide an integer programming formulationfor the multi-coloring problem on the catgeory graph to illustrate that, for constant k , one can optimally color intime polynomial in n . We provide a specific algorithm based on Graver Basis which can utilize some properties inthis setting. For k ≥ , the problem reduces to multicoloring the complement of the category graph G ( V , E ) with the positiveintegral valued weight function w : V → Z + (Theorem 1). The structure of the category graph and its size is fixedfor given k . Only the weights assigned to each categories, representing the number of vertices in each category,varies depending on the problem instance. Let C be the set of all cliques in the category graph. Note that, a cliquein the category graph is an independent set in the complement. Hence, we can impose coloring constraints on thecategory graph itself. Let us denote a clique in G by S = { i , i , . . . i m } where i j ∈ V comprise the categoryvertices in the clique. Let c ( S ) , ∀ S ∈ C , denote the number of common colors assigned to all category verticescomprising the clique. These colors are not used elsewhere in the coloring. Now, we write multi coloring on ¯ G asthe following integer linear program. This formulation is similar to that in [22]. min (cid:88) S ∈C c ( S )subject to (cid:88) S:v ∈ S c(S) = w(v) , ∀ v ∈ V c ( S ) ≥ , c ( S ) ∈ Z ∀ S ∈ C (4)The linear integer program is of the following form: min T c subject to Ac = wc ≥ , c ∈ Z f ( k ) (5)where c is the vector comprising of entries { c ( S ) } ∀ S ∈C and A is matrix which in turn depends only on the structureof the category graph which depends only on k . Let the number of rows of A be f ( k ) . Let the number of columnsof A be f ( k ) . The number of rows of A is the total number of categories which is k (cid:0) k − − (cid:1) . The length ofvector c is the total number of cliques in the category graph G . A very loose bound of k k k can be establishedusing that fact that the largest clique size is k for the category graph. w represents vector of weights w ( v ) , ∀ v ∈ V .The magnitude of entries in w is bounded by n . Hence, it needs log n bits to represent each entry. When thenumber of constraints and variables is fixed, it is possible to solve the integer program in time polynomial in n bymethods in [23].In this case, the matrix A is fixed and does not change for a given k . Exploiting this through an approach ofcomputing Graver basis of A 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 ( k ) and n userscan be computed in time O ( n log n ) by solving Problem (5). Proof:
The proof is given in the appendix.VII. E
XTENSION TO V ECTOR
XOR
COLORING
In this section, we extend the above tractability results to another achievable scheme that we call vector XORcoloring . This scheme is based on fractional coloring of the complement of the undirected side information graph G first introduced in [6]. This scheme is a vector linear scheme. Therefore, let us assume that the message desiredby the i -th user is a packet consisting of p bits [ x i x i x i . . . x ip ] ∈ F × p . This assumption models the followingscenario: The message desired by user i is split into p sub-packets of equal size and every bit of sub-packet m undergoes the same encoding (XORed similarly) as the corresponding bit x im in the encoding scheme. Definition 7:
A Vector XOR coloring scheme of broadcast rate tp for G d ( V, E d ) is given by:1) t linear encoding functions: y m = n (cid:88) i =1 p (cid:88) j =1 G m,ij x ij , ∀ ≤ m ≤ t (6)where G m,ij ∈ F and addition is over the binary field F . For any i, j : 1 ≤ i ≤ n, ≤ j ≤ p , G m,ij is nonzero for exactly one m . Every sub-packet participates in only one of the transmissions. np linear decoding functions (cid:99) φ ij , ∀ ≤ i ≤ n, ≤ j ≤ p such that: x ij = (cid:99) φ ij ( y , y . . . y t , N i ) = (cid:99) φ ij ( y m , N i ) (7)for that unique m , such that G m,ij (cid:54) = 0 . Here, N ( i ) is the set of side information packets user i has accessto, listed by the directed out-neighborhood of vertex i in the graph G d . If j ∈ N i , then [ x j x j . . . x jp ] ispresent as side information at user i . ♦ .The optimum vector XOR coloring (the optimum ratio tp ) is given by fractional coloring of the complementof the undirected side information graph denoted by χ f ( ¯ G ) . The achievable scheme was first outlined in [6]. Webriefly mention it here. Fractional coloring number χ f (cid:0) ¯ G (cid:1) is the optimum of the following linear program: min (cid:88) C ∈MC ( G ) q ( C )subject to (cid:88) C : v ∈ C q ( C ) ≥ , ∀ v ∈ Vq ( C ) ≥ , ∀ C ∈ MC ( G ) , q ( C ) ∈ R (8)where MC ( G ) is the set of all maximal cliques in G . Real nonnegative weight q ( C ) is assigned to every maximalclique C in G such that every vertex is covered by a weight of at least through only the maximal cliques thatcontain it. The minimum possible total weight is called the fractional chromatic number. Since the program hasintegral coefficients, the optimum q ( C ) is always rational for all C . Let p denote the greatest common divisor of alldenominators of q ( C ) in the optimum solution. Then, setting q (cid:48) ( C ) = pq ( C ) ∀ C , the covering constraint becomes (cid:80) C : v ∈ C q (cid:48) ( C ) ≥ p . Let the total number of colors be t = (cid:80) C ∈MC ( G ) q (cid:48) ( C ) . This means every maximal clique C isassigned q (cid:48) ( C ) integral colors such that every vertex gets at least p colors. And the total number of colors is t .Now it is possible to reallocate the colors from the set of maximal cliques to the set of all cliques in such a waythat every vertex is colored exactly p times and the total number of colors (objective function value) t remainsthe same. We will not go into how the reallocation is done. We refer to [22] for details of reallocation of colorsfrom the set of maximal cliques to the set of cliques while maintaining the total number of colors. Therefore, aftersolving the linear program, every clique (even non maximal ones) is assigned a nonnegative integral weight suchthat every vertex is covered exactly by p colors and the total number of colors used is t and χ f (cid:0) ¯ G (cid:1) = t/p is thesmallest 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 p and out of that p (cid:48) < p colors have been assigned to a clique C = { , , } . Let us number all the colors from to t . Let color m beassigned to C . Let i, j and k represent the positions of color m in the different sorted orderings of p colors assignedto vertices , and respectively. Then, the m -th transmission is an XOR of sub-packets x i , x j and x k , i.e. y m = x i + x j + x k as in (6). Since C is a clique in the side information graph G , each of the users , and decodes exactly one sub-packet using the side information available. Clearly, every sub-packet participatesin exactly one transmission corresponding to a clique. Therefore, fractional chromatic number corresponds to thebroadcast rate of the optimal vector XOR coloring scheme.Clearly, (8) is a linear program with exponentially many variables (one for each maximal clique) for a generalgraph. If we consider an undirected k -partite graph G u with the complete bipartite structure, we show that usingthe machinery of section V, problem (8) is equivalent to the following linear program which corresponds to afractional multi-coloring problem on the complement of the category graph ( ¯ G ): min (cid:88) S ∈MC ( G ) c ( S )subject to (cid:88) S : v ∈ S c ( S ) ≥ w ( v ) , ∀ v ∈ V c ( S ) ≥ , ∀ S ∈ MC ( G ) , c ( S ) ∈ R (9) Here, G ( V , E ) is the category graph of G . MC ( G ) is the set of maximal cliques in G . As before, S represents amaximal clique in the category graph and c ( S ) represents the amount of ”fractional colors” assigned exclusivelyto the maximal clique S . w ( v ) is the weight of the category vertex v or the number of vertices in the graph G thatbelongs to category v . We have the following theorem: Theorem 6:
Fractional multi-coloring of ¯ G (Problem 9) is equivalent to the fractional coloring of ¯ G (Problem8). Proof:
Let t ( q ) and t ( c ) represent the objective functions corresponding to the respective feasible assignments q ( . ) and c ( . ) for problems (8) and (9) respectively. First, we show that if ∃ q ( · ) satisfying (8), then ∃ c ( · ) satisfying(9) such that t ( c ) = t ( q ) . From the properties of the category graph G in section V, we have the followingobservation: Any maximal clique C = { i , i , i . . . i m } ∈ G is such that it corresponds to a unique maximal clique h ( C ) = S = { v , v . . . v m } ∈ G such that i j is in category v j . This is because vertices belonging to a category aredisconnected and G has the complete bipartite structure. Now, we can set c ( S ) = (cid:80) C : h ( C )= S q ( C ) . Since a category v contains w ( v ) vertices, the assignment satisfies all the constraints of Problem (9). Hence, one direction has beenshown.Now, we show the other direction: if ∃ c ( · ) satisfying (9), then ∃ q ( · ) satisfying (8) such that t ( c ) = t ( q ) . Let thenode a ∈ G belong to category v . Problem (9) is a linear program with integer coefficients. Therefore, the optimalfeasible assignment c ( · ) is rational. Hence, without loss of generality we assume that c ( S ) is rational for all S .Define c (cid:48) ( · ) = bc ( · ) where b is the least common multiple of all the denominators of the rational numbers c ( S ) .The assignment c (cid:48) ( · ) satisfies: (cid:88) S : v ∈ S c (cid:48) ( S ) ≥ w ( v ) b (10)Define the new objective function to be t ( c (cid:48) ) = bt ( c ) . Define the set of colors used in the new assignment c (cid:48) ( · ) tobe L = { , , . . . ..t ( c (cid:48) ) } . Let C (cid:48) S ⊆ L be the unique set of c (cid:48) ( S ) numbered colors assigned to the maximal clique S . Define S v = { S : v ∈ S } . Choose a set of colors C (cid:48) a ⊂ (cid:83) S ∈S v C (cid:48) S such that |C (cid:48) a | ≥ b . It is always possible to finda pairwise disjoint sets of colors {C (cid:48) a } for all the nodes a belonging to the category v such that (cid:83) S ∈S v C (cid:48) S = (cid:83) a ∈ v C (cid:48) a due to the constraint (10). Consider a maximal clique C = { a , a . . . a m } made of nodes in G from differentcategories. Define Q C = (cid:84) a ∈ C C (cid:48) a for all maximal cliques C in G .Note that a the category set h ( C ) = { v , v . . . v m } forms a maximal clique in G iff C is a maximal clique in G .Therefore, by this procedure, any color in L is assigned to some Q C . We will now show that C (cid:54) = C implies that Q C (cid:84) Q C = ∅ . We prove this by contradiction. Let S (resp. S ) corresponds to the maximal clique of categoriescorresponding to nodes in C (resp. C ). Consider x ∈ Q C (cid:84) Q C and C (cid:54) = C . This implies that there is a colorunder assignment c (cid:48) ( · ) assigned to different maximal cliques S and S , i.e. x ∈ C (cid:48) S (cid:84) C (cid:48) S . But, this is not possibleas no color is assigned to more than one maximal clique S . Therefore, Q C (cid:84) Q C = ∅ . Now, set q ( C ) = |Q ( C ) | b .Since |C (cid:48) a | ≥ b ∀ a , it is easy to see that q ( · ) satisfies the constraints of (8) and t ( q ) = t ( c ) .Hence, the optimal Vector XOR coloring solution can be obtained by the linear program in (9) which is arelaxation of (4). The number of variables is atmost k and each variable can take a value of at most n . Hence,the running complexity of this LP is O ( k ) n .VIII. S IMULATION R ESULTS
In this section, we provide some simulation results regarding the performance of the vector XOR coloringalgorithm for the ICDH problem with constant number of helpers ( k ). The number of users for the simulationresults is . The number of users in the neighborhood of a particular helper is k . Every user is connected toat most one helper. We assume that the user requests for files arise from a library of files. Every requestis a random sample according to a zipf distribution on files with the zipf parameter . . Let the number offiles stored per caching helper be M . To populate the caches in helpers, random samples are drawn from the zipfdistribution. The user requests are again drawn from the same zipf distribution. If a user request incurs a cachehit from the helper nearby then the particular request is replaced by resampling till a cache miss occurs. Note
100 150 200 250 300 350 400 450 500300400500600700800 Files stored per helper N o o f t r an s m i ss i on s No Users:600 Zipf parameter:0.5 Files:1400
Gain:2.4
Fig. 7: Number of transmissions versus storage capacity per helper for different schemes.that it may happen that a particular user request may not be cached anywhere. Finally, we have a random set ofuser requests all of which have a cache miss with respect to a random cache state both determined by the zipfdistribution. We apply the linear program in section VII to determine the broadcast rate of the optimal vector XORcoloring solution.The results presented are averaged ( times for every realization) over random realizations of user requests andhelper cache states. We compare the number of transmissions (or the broadcast rate) of the optimal vector XORcoloring solution, a greedy algorithm that finds a matching over the side information graph induced by the problemand the naive scheme of transmitting packets. A matching is a set of undirected edges such that every vertex iscovered at most once by the edges. Each edge corresponds to an XOR transmission of the corresponding packetsrequested by the users represented by the vertices participating in the edge. A greedy matching is a low complexityheuristic to produce a good index coding solution. The plot in Fig. 7 shows the number of transmissions versuscache capacity per helper under different transmission schemes when k = 5 , , . We observe that the vector XORcoloring gives a constant gain ( about . ) when the storage capacity per helper is about files over randomcache states and random user requests. This shows that, with constant number of helpers, the vector XOR coloringcan reduce the number of transmissions by a constant factor with reasonable storage capacity per helper.IX. CONCLUSION
We considered a special case of the index coding problem with k caching helpers and n users connected to abase station. When there is no cache hit for any user (file request not found in its neighboring helpers), users receivecoded transmission from base station which is cognizant of the cache status of the helpers. Further, the cachedfiles in the neighboring helpers act as side information for users. With interference constraints on helper placementand planar topology, we reduced a general problem, where users are connected to multiple but limited number ofhelpers, to a canonical form in which every user is connected to just one helper. For the equivalent problem reducedto such a canonical form, the problem of finding the optimal XOR coloring (resp. vector XOR coloring) schemebased on coloring (resp. fractional coloring) of the complement of the side information graph reduces to a problemof multi coloring (resp. fractional multi coloring) a fixed prototypical graph uniquely determined by k only. Usingthis machinery, we showed that the achievable schemes are computable in time polynomial in n if k is a constant.For future work, it would be interesting to show a corresponding tractability result with constant number ofcaching helpers for the scalar linear achievable schemes based on minrank. Further, it would be interesting toreduce the dependence on k in the running time ( O ( k ) n ) of the fractional multicoloring algorithm for the vectorXOR coloring scheme. It would also interesting to see if any low complexity greedy algorithm for k > can bedesigned for solving the XOR coloring scheme similar to the one outlined for the special case of k = 3 .A PPENDIX P ROOF OF T HEOREM A is a matrix with entries drawn from { , } . Let c ∈ Z f ( k ) . Let the domain of integer vectors be S = { c ∈ Z f ( k ) : Ac = w , n ≥ c ≥ } . Here, we assume that c ≤ n (this is truesince the total number of vertices is n in the graph) for ensuring that the domain is bounded. Let the integral nullspace of A be defined as: L ( A ) = { c ∈ Z f ( k ) : Ac = 0 , c (cid:54) = 0 } . Definition 8:
Two vectors u , v ∈ R f ( k ) are said to obey the partial order u (cid:64) v (or one is conformal to theother) when they are both in the same orthant and | u i | ≤ | v i | , ∀ i (component wise v dominates u in absolutevalue) [24]. ♦ Definition 9:
Graver Basis of A is defined to be the set G ( A ) of (cid:64) -minimal elements in L ( A ) or the set ofconformal minimal elements of the integral null space of A [24]. ♦ Definition 10:
A finite sum v = (cid:80) a i is a conformal sum if all summands a i lie in the same orthant as v [24]. ♦ Lemma 6:
Any c ∈ L ( A ) is a conformal sum c = (cid:80) g i of graver basis elements g i ∈ G ( A ) with, possibly,some elements appearing more than once [24]. (cid:3) Now we state the results from [24] with some modification to the case under consideration here.
Lemma 7: [24] Define an augmentation oracle which, when given any feasible point a ∈ S to start with, checksif there exists a g ∈ G ( A ) : T g > , ≤ a + g ≤ n . If it exists, the oracle returns a + g , or otherwise, returns a . Then the augmentation oracle returns the supplied input feasible point if the input is optimal for (5) or otherwiseproduces a better feasible solution. (cid:3) Note that one augmentation step takes O ( f ( k ) f ( k ) log n ) where f ( k ) is the number of vectors in the graver ba-sis and log n is due to the encoding complexity of every entry value. We give an algorithm, named OPTINTPROG ,(modified for purposes here from [24]) which issues subsequent calls to the above augmentation oracle to improveon the current objective value to reach the optimum. Also, we bound the number of such calls.
Lemma 8:
Intialize the algorithm
OPTINTPROG with the feasible solution where c v = w ( v ) (the cliquevariable, corresponding to a singleton category vertex, is set to the weight of the vertex) and c ¯ s = 0 , ∀ ¯ s : (cid:96) (¯ s ) > ( (cid:96) denotes the length of the string). Call the augmentation oracle with this initial feasible solution. If the outputreturned is different from the feasible solution passed, then the output is used to call the oracle again. Thisprocedure is followed till the optimum is reached. The algorithm OPTINTPROG issues at most nf ( k ) calls tothe augmentation oracle. (cid:3) Proof:
The proof bounding the running time of this algorithm is given in [24] for a bit scaling version ofthe algorithm for a general linear objective x T c . Since in our case, x T = T , the algorithm and the complexityguarantee reduces to what is mentioned in the lemma as bit scaling is not necessary.Hence, the time complexity of finding the optimal solution is O ( f ( k )( f ( k )) n log n ) . The complexity with respectto k for this algorithm depends on the number of vectors in the graver basis G ( A ) . Computing the graver basismay take a long time, but can be done offline since the matrix A is fixed for a given k . We are not able to findgeneral bounds on f ( k ) for any k . It is known that the number of elements on the graver basis for any matrix isfinite (in our case it depends on k ). We provide the algorithm from [24] to compute the graver basis which can becarried out offline. Let r ( k ) denote the rank of the matrix A . Let c i denote the i -th element in the vector c .1) Enumerate all integer null space vectors, c ∈ L ( A ) , such that max i | c i | ≤ ( f ( k ) − r ( k ))∆( A ) where ∆( A ) is the largest determinant of a square submatrix of A .2) Find the (cid:118) minimal elements from this and add them to the graver basis.This solution is aimed at solving the clique cover problem for very small k .R EFERENCES [1] N. Golrezaei, K. Shanmugam, A. Dimakis, A. Molisch, and G. Caire, “Femtocaching: Wireless video content delivery through distributedcaching helpers,”
Arxiv preprint arXiv:1109.4179 , 2011.[2] M. Zink, K. Suh, Y. Gu, and J. Kurose, “Characteristics of youtube network traffic at a campus network-measurements, models, andimplications,”
Computer Networks , vol. 53, no. 4, pp. 501–514, 2009.[3] Z. Bar-Yossef, Y. Birk, T. Jayram, and T. Kol, “Index coding with side information,”
Information Theory, IEEE Transactions on , vol. 57,no. 3, pp. 1479–1494, 2011.[4] M. Neely, A. Tehrani, and Z. Zhang, “Dynamic index coding for wireless broadcast networks,”
Arxiv preprint arXiv:1108.1977 , 2011.[5] N. Alon, E. Lubetzky, U. Stav, A. Weinstein, and A. Hassidim, “Broadcasting with side information,” in
Foundations of ComputerScience, 2008. FOCS’08. IEEE 49th Annual IEEE Symposium on . IEEE, 2008, pp. 823–832.[6] A. Blasiak, R. Kleinberg, and E. Lubetzky, “Index coding via linear programming,”
Arxiv preprint arXiv:1004.1379 , 2010.[7] W. Haemers, “On some problems of lov´asz concerning the shannon capacity of a graph,”
Information Theory, IEEE Transactions on ,vol. 25, no. 2, pp. 231–232, 1979. [8] R. Peeters, “Orthogonal representations over finite fields and the chromatic number of graphs,”
Combinatorica , vol. 16, no. 3, pp.417–431, 1996.[9] S. Dau, V. Skachek, and Y. Chee, “Optimal index codes with near-extreme rates,”
Arxiv preprint arXiv:1202.1150 , 2012.[10] E. Lubetzky and U. Stav, “Nonlinear index coding outperforming the linear optimum,”
Information Theory, IEEE Transactions on ,vol. 55, no. 8, pp. 3544–3551, 2009.[11] L. Ong and C. Ho, “Optimal index codes for a class of multicast networks with receiver side information,”
Arxiv preprintarXiv:1204.0867 , 2012.[12] Y. Berliner and M. Langberg, “Index coding with outerplanar side information,” in
Information Theory Proceedings (ISIT), 2011 IEEEInternational Symposium on . IEEE, 2011, pp. 806–810.[13] I. Haviv and M. Langberg, “On linear index coding for random graphs,”
Arxiv preprint arXiv:1107.0390 , 2011.[14] E. Chlamt´aˇc and I. Haviv, “Linear index coding via semidefinite programming,” in
Proceedings of the Twenty-Third Annual ACM-SIAMSymposium on Discrete Algorithms . SIAM, 2012, pp. 406–419.[15] H. Maleki, V. Cadambe, and S. Jafar, “Index coding-an interference alignment perspective,”
Arxiv preprint arXiv:1205.1483 , 2012.[16] M. A. Maddah-Ali and U. Niesen, “Fundamental limits of caching,” arXiv preprint arXiv:1209.5807 , 2012.[17] G. Miller, S. Teng, W. Thurston, and S. Vavasis, “Separators for sphere-packings and nearest neighbor graphs,”
Journal of the ACM(JACM) , vol. 44, no. 1, pp. 1–29, 1997.[18] B. Bollob´as,
Modern graph theory . Springer Verlag, 1998, vol. 184.[19] G. Venkatesan and C. Rangan, “Approximate triclique coloring for register allocation,”
Information processing letters , vol. 60, no. 5,pp. 249–253, 1996.[20] M. Chudnovsky, N. Robertson, P. Seymour, and R. Thomas, “The strong perfect graph theorem,”
Annals of Mathematics , pp. 51–229,2006.[21] M. Gr¨otschel, L. Lov´asz, and A. Schrijver, “Geometric algorithms and combinatorial optimization. 1988.”[22] A. Mehrotra and M. Trick, “A branch-and-price approach for graph multi-coloring,”
Extending the Horizons: Advances in Computing,Optimization, and Decision Technologies , pp. 15–29, 2007.[23] H. Lenstra Jr, “Integer programming with a fixed number of variables,”
Mathematics of operations research , pp. 538–548, 1983.[24] S. Onn,