An Equivalence between Network Coding and Index Coding
AAn Equivalence between Network Coding andIndex Coding
M. Effros
California Institute of Technology [email protected]
S. El Rouayheb
Princeton University [email protected]
M. Langberg
The Open University of Israel [email protected]
Abstract —We show that the network coding and index codingproblems are equivalent. This equivalence holds in the generalsetting which includes linear and non-linear codes. Specifically,we present an efficient reduction that maps a network codinginstance to an index coding one while preserving feasibility.Previous connections were restricted to the linear case.
I. I
NTRODUCTION
In the network coding paradigm, a set of source nodestransmits information to a set of terminal nodes over a net-work while internal nodes of the network may mix receivedinformation before forwarding it. This mixing (or encoding)of information has been extensively studied over the lastdecade (see e.g., [1], [2], [3], [4], [5] and references therein).While network coding in the multicast setting is currently wellunderstood, this is far from being the case for the generalmulti-source multi-terminal setting. In particular, determiningthe capacity of a general network coding instance remains anintriguing central open problem, e.g., [6], [7], [8], [9], [10].A special instance to the network coding problem intro-duced in [11], which has seen significant interest lately, is theso-called index coding problem [11], [12], [13], [14], [15],[16]. Roughly speaking, the index coding problem encapsu-lates the “broadcast with side information” problem in whicha single server wishes to communicate with several clientseach requiring potentially different information and havingpotentially different side information (see Figure 1(a) for anexample).One may consider the index coding problem as a simple and representative instance of network coding. The instanceis “simple” in the sense that any index coding instance can berepresented as a topologically simple network coding instancein which only a single internal node has in-degree greater thanone and thus only a single internal node can perform encoding(see Figure 1(b) for an example). It is “representative” inthe sense that the index coding paradigm is broad enough tocharacterize the network coding problem under the assumptionof linear encoding [17]. Specifically, given any instance tothe network coding problem I , one can efficiently constructan instance of the index coding problem ˆ I such that: (a) The work of Michael Langberg was supported in part by ISF grant 480/08and BSF grant 2010075. The work of S. El Rouayheb was supported in partby the National Science Foundation under Grant CCF-1016671. Work donewhile Michael Langberg was visiting the California Institute of Technology.Authors appear in alphabetical order. server
Wants: (a) Index coding instance (b) Equivalent network
Terminals:Sources:
Wants: X4Has: X1Wants: X1Has: X2 X3 Wants: X2Has: X1 X3 Wants: X1 X3Has: X2 X4X1 X2 X3 X4t t t t X1 X2 X3 X4t1 t2 t3 t4X4 X1 X2 X1 X3cc ccc
Fig. 1. (a) An instance of the index coding problem. A server has binarysources X , . . . , X and there are terminals with different “wants” and“has” sets (corresponding to the communication demand and side informationrespectively). How can we satisfy the terminals’ demands with a minimumnumber of bits broadcasted by the server? The server can trivially transmit allthe sources. However, this is not optimal and it is sufficient to broadcast only bits, namely X + X + X and X + X (‘+’ denotes the xor operation).(b) Index coding is a special case of the network coding problem. All linksare of unit capacity (non-specified) or of capacity c . Links directly connectingbetween sources and terminals represent the “has” sets. Any solution to theindex coding problem with c broadcast bits can be efficiently mapped to asolution to the corresponding network coding instance and visa versa. Thisimplies that the index coding problem is a special case of the network codingproblem. The focus of this work is on the opposite assertion. Namely, thatthe network coding problem is a special case of the index coding problem. There exists a linear solution to I if and only if there existsan optimal linear solution to ˆ I , and (b) any optimal linearsolution to ˆ I can be efficiently turned into a linear solution to I . All undefined notions above (and those that follow), suchas “solution,” “feasibility,” and “capacity”, will be given indetail in Section II.The results of [ ] hold for (scalar and vector) linear codingfunctions only, and the analysis there breaks down once oneallows general coding (which may be non-linear) at internalnodes. The study of non-linear coding functions is central tothe study of network coding as it is shown in [18] that non-linear codes have an advantage over linear solutions, i.e. , thatthere exist instances in which linear codes do not suffice toachieve capacity.In this work, we extend the equivalence between networkcoding and index coding to the setting of general encodingfunctions (which may be non-linear). Our results imply that,effectively, when one wishes to solve a network codinginstance I , a possible route is to turn the network codinginstance into an index coding instance ˆ I (via our reduction), a r X i v : . [ c s . I T ] N ov olve the index coding instance ˆ I , and turn the solution to ˆ I into a solution to the original network coding instance I .Hence, any efficient scheme to solve index coding will yieldan efficient scheme for network coding. Stated differently, ourresults imply that an understanding of the solvability of indexcoding instances will imply an understanding of the solvabilityof network coding instances as well.The remainder of the paper is structured as follows. InSection II, we present the models of network and indexcoding. In Section III, we present an example based on the“butterfly network” that illustrates our proof techniques. InSection IV, we present the main technical contribution of thiswork: the equivalence between network and index coding.In Section V, we show a connection between the capacityregions of index coding and network coding in networks withcollocated sources. Finally, in Section VI, we conclude withsome remarks and open problems.II. M ODEL
In what follows we define the model for the network codingand index coding problems. Throughout this paper, “hatted”variables (e.g., ˆ x ) will correspond to the variables of indexcoding instances, while “unhatted” variables will correspondto the network coding instance. For integers k > , we use [ k ] to denote the set { , . . . , k } . A. Network coding
An instance I = ( G, S, T, B ) of the network codingproblem includes a directed acyclic network G = ( V, E ) , aset of sources nodes S ⊂ V , a set of terminal nodes T ⊂ V ,and an | S | × | T | requirement matrix B . We assume, withoutloss of generality, that each source s ∈ S has no incomingedges and that each terminal t ∈ T has no outgoing edges.Let c e denote the capacity of each edge e ∈ E , namely forany block length n , each edge e can carry one of the c e n messages in [2 c e n ] . In our setting, each source s ∈ S holds arate R s random variable X s uniformly distributed over [2 R s n ] .The variables describing different messages are independent.We assume that values of the form c e n and R s n are integers.A network code, ( F , X ) = { ( f e , X e ) } ∪ { g t } , is anassignment of a pair ( f e , X e ) to each edge e ∈ E and adecoding function { g t } to each terminal t ∈ T . For e = ( u, v ) , f e is a function taking as input the random variables associatedwith incoming edges to node u , and X e ∈ [2 c e n ] is the randomvariable equal to the evaluation of f e on its inputs. If e is anedge leaving a source node s ∈ S , then X s is the input to f e .The input to the decoding function g t consists of the randomvariables associated with incoming edges to terminal t . Theoutput of g t is required to be a vector of all sources requiredby t .Given the acyclic structure of G , the functions { f e } andtheir evaluation { X e } can be defined by induction on thetopological order of G . Namely, given the family { f e } onecan define a function family { ¯ f e } such that each ¯ f e takes In the network coding literature, { f e } and { ¯ f e } are sometimes referredto as the local and global encoding functions, respectively. as input the source information { X s } and outputs the randomvariable X e . More precisely, for e = ( u, v ) in which u is asource node, define ¯ f e = f e . For e = ( u, v ) in which u isan internal node with incoming edges In ( e ) = { e (cid:48) , . . . , e (cid:48) (cid:96) } ,define ¯ f e = f e ( ¯ f e (cid:48) , . . . , ¯ f e (cid:48) (cid:96) ) . Namely, the evaluation of ¯ f e onsource information { X s } equals the evaluation of f e given thevalues of ¯ f e (cid:48) for e (cid:48) ∈ In ( e ) . We will use both { f e } and { ¯ f e } in our analysis.The | S | × | T | requirement matrix B = [ b i,j ] has entries inthe set { , } , with b s,t = 1 if and only if terminal t requiresinformation from source s .A network code ( F , X ) is said to satisfy terminal node t under transmission ( x s : s ∈ S ) if the decoding function g t outputs ( x s : b ( s, t ) = 1) when ( X s : s ∈ S ) = ( x s : s ∈ S ) .The Network code ( F , X ) is said to satisfy the instance I with error probability ε ≥ if the probability that all t ∈ T are simultaneously satisfied is at least − ε . The probabilityis taken over the joint distribution on random variables ( X s : s ∈ S ) .For a rate tuple R = ( R , . . . , R | S | ) , an instance I tothe network coding problem is said to be ( ε, R, n ) -feasibleif there exists a network code ( F , X ) with block length n that satisfies I with error at most ε when applied to sourceinformation ( X , . . . , X | S | ) , where X s is uniformly distributedover [2 R s n ] . An instance I to the network coding problem issaid to be R -feasible if for any ε > and any δ > thereexists a block length n such that I is ( ε, R (1 − δ ) , n ) -feasible.Here, R (1 − δ ) = ( R (1 − δ ) , . . . , R | S | (1 − δ )) . The capacityregion of an instance I refers to all rate tuples R for which I is R -feasible. B. Index coding
The index coding problem captures the “broadcast withside information” problem in which a single server wishesto communicate with several clients each having differentside information. Specifically, an instance to index codingincludes a set of terminals ˆ T = { ˆ t , . . . , ˆ t | ˆ T | } and a set ofsources ˆ S = { ˆ s , ˆ s , . . . , ˆ s | ˆ S | } available at the server. Given ablock length n , source ˆ s holds a rate ˆ R ˆ s random variable ˆ X ˆ s uniformly distributed over [2 ˆ R ˆ s n ] (and independent from othersources). Each terminal requires information from a certainsubset of sources in ˆ S . In addition, information from somesources in ˆ S are available a priori as side information to eachterminal. Specifically, terminal ˆ t ∈ ˆ T is associated with sets: • ˆ W ˆ t is the set of sources required by ˆ t , and • ˆ H ˆ t is the set of sources available at ˆ t .We refer to ˆ W ˆ t and ˆ H ˆ t as the “wants” and “has” sets of ˆ t ,respectively. The server uses an error-free broadcast channelto transmit information to the terminals. The objective is todesign an encoding scheme that satisfy the demands of allthe terminals while minimizing the number of uses of thebroadcast channel (See Figure 1).Formally, an instance ˆ I to the index coding problem isthe tuple ( ˆ S, ˆ T , { ˆ W ˆ t } , { ˆ H ˆ t } ) . An index code (ˆ E B , ˆ D ) for ˆ I with broadcast rate ˆ c B , includes an encoding function ˆ E B e e e e e e t t X X s s (a) Butterfly Network (b) Equivalent Index Coding Instance Wants HasTerminal ˆ t e ˆ t e ˆ t e ˆ t e ˆ t e ˆ t e ˆ t e ˆ t ˆ t ˆ t all ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X ˆ X ˆ X ˆ X Wants HasTerminal ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X e ˆ X ˆ X ˆ X ˆ X ˆ X e ... ˆ X e ˆ X , ˆ X ˆ X e , . . . , ˆ X e Wants: X X Fig. 2. (a) The butterfly network with two sources X and X and twoterminals t and t . (b) The equivalent index coding instance. The server has sources: one for each source, namely { ˆ X , ˆ X } , and one for each edge inthe network, namely { ˆ X e , . . . , ˆ X e } . There are clients corresponding tothe edges in the network, clients corresponding to the two terminals ofthe butterfly network and one extra terminal ˆ t all . for the broadcast channel, and a set of decoding functions ˆ D = { ˆ D ˆ t } ˆ t ∈ ˆ T with one function for each terminal. Thefunction ˆ E B is a function that takes as input the sourcerandom variables { ˆ X ˆ s } and outputs a rate ˆ c B random variable ˆ X B ∈ [2 ˆ c B n ] . The input to the decoding function ˆ D ˆ t consistsof the random variables in ˆ H ˆ t (the source random variablesavailable to ˆ t ) and the broadcast message ˆ X B . The output of ˆ D ˆ t is intended to be a vector of all sources in ˆ W ˆ t required by ˆ t . An index code (ˆ E B , ˆ D ) of broadcast rate ˆ c B is said to satisfyterminal ˆ t under transmission (ˆ x ˆ s : ˆ s ∈ ˆ S ) if the decodingfunction ˆ D ˆ t outputs (ˆ x ˆ s : ˆ s ∈ ˆ W ˆ t ) when ( ˆ X ˆ s : ˆ s ∈ ˆ S ) =(ˆ x ˆ s : ˆ s ∈ ˆ S ) . Index code (ˆ E B , ˆ D ) is said to satisfy instance ˆ I with error probability ε ≥ if the probability that all ˆ t ∈ ˆ T are simultaneously satisfied is at least − ε . The probability istaken over the joint distribution on random variables { ˆ X ˆ s } ˆ s ∈ ˆ S .For a rate tuple ˆ R = ( ˆ R , . . . , ˆ R | ˆ S | ) and broadcast rate ˆ c B , an instance ˆ I to the index coding problem is said to be ( ε, ˆ R, ˆ c B , n ) -feasible if there exists an index code (ˆ E B , ˆ D ) with broadcast rate ˆ c B and block length n that satisfies ˆ I witherror at most ε when applied to source information ( ˆ X ˆ s : ˆ s ∈ ˆ S ) where each ˆ X ˆ s is uniformly and independently distributedover [2 ˆ R ˆ s n ] . An instance ˆ I to the network coding problem issaid to be ( ˆ R, ˆ c B ) -feasible if for any ε > and δ > thereexists a block length n such that ˆ I is ( ε, ˆ R (1 − δ ) , ˆ c B , n ) -feasible. As before, ˆ R (1 − δ ) = ( ˆ R (1 − δ ) , . . . , ˆ R | ˆ S | (1 − δ )) .The capacity region of an instance ˆ I refers to all rate tuples ˆ R and capacities ˆ c B for which ˆ I is ( ˆ R, ˆ c B ) -feasible.III. E XAMPLE
Our main result states that the network coding and indexcoding problems are equivalent (for linear and non-linearcoding). Theorem 1 in Section IV gives a formal statement ofthis result. The proof is based on a reduction that constructs forany given network coding problem an equivalent index codingproblem. In this section, we explain the main elements of ourproof by applying it to the butterfly network [1] example in Fig. 2(a). For simplicity, our example does not consider anyerror in communication. Our reduction goes along the lines ofthe construction in [17], while our analysis differs to capturethe case of non-linear encoding.We start by briefly describing the butterfly network depictedin Fig. 2(a). The network has two information sources s and s that hold two uniform i.i.d binary random variables X and X , respectively. There are also two terminals (destinations) t and t that want X and X , respectively. All the edges in thenetwork, e , . . . , e , have capacity 1. Following the notationin Section II-A, let ¯ f e i ( X , X ) be the one-bit message onedge e i . Then, the following is a network code that satisfiesthe demands of the terminals: ¯ f e = ¯ f e = X ¯ f e = ¯ f e = X (1) ¯ f e = ¯ f e = ¯ f e = X + X , where ‘+’ denotes the xor operation. Terminal t can decode X by computing X = ¯ f e + ¯ f e , and t can decode X by computing X = ¯ f e + ¯ f e . Thus, the butterfly network is ( (cid:15), R,
1) = (0 , (1 , , -feasible.The problem now is to construct an index coding instancethat is “equivalent” to the butterfly network, i.e. , any indexcode for that instance would imply a network code for thebutterfly network, and vice versa. We propose the followingconstruction, based on that presented in [17], in which theserver has sources split into two sets (see Figure 2). • ˆ X and ˆ X corresponding to the two sources X and X in the butterfly network. • ˆ X e , . . . , ˆ X e corresponding to the edges e , . . . , e inthe butterfly network.There are clients, as described in the Table in Fig. 2(b).These clients are split into sets: • A client ˆ t e i for each edge e i . Client ˆ t e i wants ˆ X e i andhas the variables ˆ X e j for each edge e j in the butterflynetwork that is incoming to e i . • A client ˆ t i for each network terminal t i . ˆ t i wants ˆ X i andhas the variables ˆ X e j for each edge e j in the butterflynetwork that is incoming to t i . Namely ˆ t wants ˆ X andhas ˆ X e and ˆ X e , whereas ˆ t wants ˆ X and has ˆ X e and ˆ X e . • One client ˆ t all that wants all variables that correspondto edges of the butterfly network (i.e., ˆ X e , . . . , ˆ X e ) andhas all variables that correspond to sources of the butterflynetwork (i.e., ˆ X and ˆ X ).Next, we explain how the solutions are mapped betweenthese two instances. While “Direction 1” strongly follows theanalysis appearing in [17], our major novelty is in “Direction2” (both proof directions are presented below for completion). Direction 1: Network code to index code . Suppose weare given a network code with local encoding functions f e i ,and global encoding functions ¯ f e i ( X , X ) , i = 1 , . . . , . Weconstruct the following index code solution in which the serverbroadcasts the -bit vector ˆ X B = ( ˆ X B ( e ) , . . . , ˆ X B ( e )) ,here ˆ X B ( e i ) = ˆ X e i + ¯ f e i ( ˆ X , ˆ X ) , i = 1 , . . . , . (2)For instance, the index code corresponding to the network codein (1) is ˆ X B ( e ) = ˆ X e + ˆ X ˆ X B ( e ) = ˆ X e + ˆ X ˆ X B ( e ) = ˆ X e + ˆ X ˆ X B ( e ) = ˆ X e + ˆ X (3) ˆ X B ( e ) = ˆ X e + ˆ X + ˆ X ˆ X B ( e ) = ˆ X e + ˆ X + ˆ X ˆ X B ( e ) = ˆ X e + ˆ X + ˆ X . One can check that this index code allows each client torecover the sources in its “wants” set using the broadcast ˆ X B and the information in its “has” set. For example, in the caseof the index code in (3), terminal ˆ t e computes ˆ X e = ˆ X B ( e ) − ( ˆ X B ( e ) − ˆ X e ) − ( ˆ X B ( e ) − ˆ X e ) . Here, both ‘+’ and ‘-’ denote the xor operation. More specif-ically, terminal ˆ t e first computes ¯ f e (cid:48) for its incoming edgesvia its “has” set and ˆ X B (i.e., ¯ f e = ˆ X B ( e ) − ˆ X e and ¯ f e = ˆ X B ( e ) − ˆ X e ). Then using the fact that ¯ f e ( ˆ X , ˆ X ) = f e (cid:16) ¯ f e (cid:48) ( ˆ X , ˆ X ) | e (cid:48) is an incoming edge of e (cid:17) , terminal ˆ t e can compute ¯ f e ( ˆ X , ˆ X ) . Finally, by the defi-nition of ˆ X B in (2) terminal ˆ t e recovers ˆ X e = ˆ X B ( e ) − ¯ f e ( ˆ X , ˆ X ) . By a similar process, every terminal in the indexcoding instance can decode the sources it wants. Direction 2: Index code to network code . Let ˆ c B equal thetotal capacity of edges in the butterfly network, i.e., ˆ c B = 7 .Suppose we are given an index code with broadcast rate ˆ c B that allows each client to decode the sources it requires (withno errors). We want to show that any such code can be mappedto a network code for the butterfly network. Let us denote by ˆ X B = ( ˆ X B, , . . . , ˆ X B, ) the broadcast information where ˆ X B is a function, possibly non-linear, of the sources available atthe server ˆ X , ˆ X and ˆ X e , . . . , ˆ X e .For every client ˆ t , there exists a decoding function ˆ D ˆ t thattakes as input the broadcast information ˆ X B and the sourcesin its “has” set and outputs the sources it requires. Namely,we have the following functions: ˆ D ˆ t e ( ˆ X B , ˆ X ) = ˆ X e ˆ D ˆ t e ( ˆ X B , ˆ X ) = ˆ X e ˆ D ˆ t e ( ˆ X B , ˆ X ) = ˆ X e ˆ D ˆ t e ( ˆ X B , ˆ X ) = ˆ X e ˆ D ˆ t e ( ˆ X B , ˆ X e , ˆ X e ) = ˆ X e ˆ D ˆ t e ( ˆ X B , ˆ X e ) = ˆ X e (4) ˆ D ˆ t e ( ˆ X B , ˆ X e ) = ˆ X e ˆ D ˆ t ( ˆ X B , ˆ X e , ˆ X e ) = ˆ X ˆ D ˆ t ( ˆ X B , ˆ X e , ˆ X e ) = ˆ X ˆ D ˆ t all ( ˆ X B , ˆ X , ˆ X )= ( ˆ X e , . . . , ˆ X e ) . We will use these decoding functions to construct the networkcode for the butterfly network. Consider for example edge e .Its incoming edges are e and e , so we need to define a local encoding f e which is a function of the information X e and X e they are carrying. In our approach, we fix a specific value σ for ˆ X B , and define f e ( X e , X e ) = ˆ D ˆ t e ( σ, X e , X e ) . Similarly, we define the encoding functions for every edge inthe butterfly network, and the decoding functions for the twoterminals t and t . The crux of our proof lies in showing thatthere exists a value of σ for which the corresponding networkcode allows correct decoding. In the example at hand, one maychoose σ to be the all zero vector (or actually any vectorfor that matter). The resulting network code is: f e = ˆ D ˆ t e ( , X ) f e = ˆ D ˆ t e ( , X ) f e = ˆ D ˆ t e ( , X ) f e = ˆ D ˆ t e ( , X ) (5) f e = ˆ D ˆ t e ( , f e , f e ) f e = ˆ D ˆ t e ( , f e ) f e = ˆ D ˆ t e ( , f e ) . Terminals t and t can decode using the functions ˆ D ˆ t ( , f e , f e ) and ˆ D ˆ t ( , f e , f e ) , respectively.To prove correct decoding, we show that for any fixed valuesof ˆ X and ˆ X , there exists a unique value for the vector ( ˆ X e , . . . , ˆ X e ) that corresponds to ˆ X B = . Otherwise, it canbe seen that ˆ t all cannot decode correctly since ˆ c B = 7 and ˆ X B is a function of ˆ X , ˆ X and ˆ X e , . . . , ˆ X e . Roughly speaking,this correspondence allows us to reduce the analysis of correctdecoding in the resulting network code, to correct decoding inthe original index code. Full details of this reduction, and onhow to choose σ appear in the upcoming Section IV.IV. M AIN R ESULT
We follow the proof of [17] to obtain our main result.
Theorem 1:
For any instance to the network coding prob-lem I one can efficiently construct an instance to the indexcoding problem ˆ I and an integer ˆ c B such that for any ratetuple R , any integer n , and any ε ≥ it holds that I is ( ε, R, n ) feasible iff ˆ I is ( ε, ˆ R, ˆ c B , n ) feasible. Here, therate vector ˆ R for ˆ I can be efficiently computed from R ;and the corresponding network and index codes that implyfeasibility in the reduction can be efficiently constructed fromone another. Proof:
Let G = ( V, E ) , and I = ( G, S, T, B ) . Let n beany integer, and let R = ( R , . . . , R | S | ) . We start by defining ˆ I = ( ˆ S, ˆ T , { ˆ W ˆ t } , { ˆ H ˆ t } ) , the integer ˆ c B , and the rate tuple ˆ R . See Figure 2 for an example. To simplify notation, weuse the notation ˆ X ˆ s to denote both the source ˆ s ∈ ˆ S andthe corresponding random variable. For e = ( u, v ) in E let In ( e ) be the set of edges entering u in G . If u is a source s let In ( e ) = { s } . For t i ∈ T , let In ( t i ) be the set of edgesentering t i in G . • ˆ S consists of | S | + | E | sources: one source denoted ˆ X s for each original source s in I and one source denoted ˆ X e for each edge e in G . Namely, ˆ S = { ˆ X s } s ∈ S ∪{ ˆ X e } e ∈ E . • ˆ T consists of | E | + | T | + 1 terminals: | E | terminalsdenoted ˆ t e corresponding to the edges in E , | T | terminalsenoted ˆ t i corresponding to the terminals in I , and asingle terminal denoted ˆ t all . Namely, ˆ T = { ˆ t e } e ∈ E ∪{ ˆ t i } i ∈ [ | T | ] ∪ { ˆ t all } . • For ˆ t e ∈ ˆ T we set ˆ H ˆ t e = { ˆ X e (cid:48) } e (cid:48) ∈ In ( e ) and ˆ W ˆ t e = { ˆ X e } . • For ˆ t i ∈ ˆ T , let t i be the corresponding terminal in T . Weset ˆ H ˆ t i = { ˆ X e (cid:48) } e (cid:48) ∈ In ( t i ) and ˆ W ˆ t i = { ˆ X s } s : b ( s,t i )=1 . • For ˆ t all set ˆ H ˆ t all = { ˆ X s } s ∈ S and ˆ W ˆ t all = { ˆ X e } e ∈ E . • Let ˆ R be a vector of length | S | + | E | consisting of twoparts: ( ˆ R s : s ∈ S ) represents the rate ˆ R s of each ˆ X s and ( ˆ R e : e ∈ E ) represents the rate ˆ R e of ˆ X e . Set ˆ R s = R s for each s ∈ S and ˆ R e = c e for each e ∈ E .(Here R s is the entry corresponding to s in the tuple R ,and c e is the capacity of the edge e in G .) • Set ˆ c B to be equal to (cid:80) e ∈ E c e = (cid:80) e ∈ E ˆ R e .We now present the two directions of our proof. The factthat I is ( ε, R, n ) feasible implies that ˆ I is ( ε, ˆ R, ˆ c B , n ) feasible was essentially shown in [17] and is presented herefor completeness. The other direction is the major technicalcontribution of this work. I is ( ε, R, n ) feasible implies that ˆ I is ( ε, ˆ R, ˆ c B , n ) : For this direction we assume the existence of a networkcode ( F , X ) = { ( f e , X e ) } ∪ { g t } for I which is ( ε, R, n ) feasible. As mentioned in Section I, given the acyclic structureof G , one may define a new set of functions ¯ f e with input { X s } s ∈ S such that the evaluation of ¯ f e is identical to theevaluation of f e , which is X e . We construct an index code (ˆ E B , ˆ D ) = (ˆ E B , { ˆ D t } ) for ˆ I . We do this by specifying thebroadcast encoding ˆ E B and the decoding functions { ˆ D ˆ t } ˆ t ∈ ˆ T .The function ˆ E B will be defined in chunks, with one chunk(of support size [2 c e n ] ) for each edge e ∈ E denoted ˆ E B ( e ) .We denote the output of ˆ E B ( e ) by ˆ X B ( e ) and the output of ˆ E B by the concatenation ˆ X B of the output chunks ˆ X B ( e ) . In whatfollows we use ‘a+b’ as the bitwise xor operator between equallength bit vectors a and b . For each e ∈ E , the correspondingchunk in ˆ E B ( e ) will be equal to ˆ X e + ¯ f e ( ˆ X , . . . , ˆ X | S | ) . Itfollows that ˆ E B is a function from the source random variablesof ˆ I to ˆ X B with support (cid:104) (cid:80) e ∈ E ˆ R e n (cid:105) = [2 ˆ c B n ] . We now set the decoding functions: • For ˆ t e in ˆ T we set ˆ D ˆ t e to be the function defined by thefollowing decoding scheme: – First, for each e (cid:48) ∈ In ( e ) , using the informationin ˆ H ˆ t e , the decoder computes ˆ X B ( e (cid:48) ) + ˆ X e (cid:48) =¯ f e (cid:48) ( ˆ X , . . . , ˆ X | S | ) + ˆ X e (cid:48) + ˆ X e (cid:48) = ¯ f e (cid:48) ( ˆ X , . . . , ˆ X | S | ) . – Then, let In ( e ) = { e (cid:48) , . . . , e (cid:48) (cid:96) } . Using the function f e from network code ( F , X ) , the decoder computes f e ( ¯ f e (cid:48) ( ˆ X , . . . , ˆ X | S | ) , . . . , ¯ f e (cid:48) (cid:96) ( ˆ X , . . . , ˆ X | S | )) . By definition of ¯ f e this is exactly ¯ f e ( ˆ X , . . . , ˆ X | S | ) . – Finally, compute ˆ X B ( e ) + ¯ f e ( ˆ X , . . . , ˆ X | S | ) = ˆ X e , which is the source information client ˆ t e wants in ˆ I . • For ˆ t i ∈ ˆ T the process is almost identical to that above.Let t i be the corresponding terminal in T . The function g t i is used on the evaluations of ¯ f e (cid:48) for e (cid:48) ∈ In ( t i ) ,and the outcome is exactly the set of sources ˆ W ˆ t i = { ˆ X s } s : b ( s,t i )=1 wanted by t i . • For ˆ t all , recall that ˆ H ˆ t all = { ˆ X s } s ∈ S and ˆ W ˆ t all = { ˆ X e } e ∈ E . To obtain ˆ X e the decoder evaluates ˆ X B ( e ) +¯ f e ( ˆ X , . . . , ˆ X | S | ) .Let ε ≥ . We now show that if the network code ( F , X ) succeeds with probability − ε on network I (over the sources { X s } s ∈ S of rate tuple R ), then the corresponding index codealso succeeds with probability − ε over ˆ I with sources { ˆ X } of rate tuple ˆ R .Consider any realization x = { x s } of source information { X s } of the given network coding instance I for which allterminals of the network code decode successfully. Denote arealization of source information { ˆ X ˆ s } ˆ s ∈ ˆ S in ˆ I by ( ˆx s , ˆx e ) ,where ˆx s corresponds to the sources { ˆ X s } s ∈ S and ˆx e cor-responds to sources { ˆ X e } e ∈ E . Let ˆx s ( s ) be the entry in ˆx s corresponding to source ˆ X s for s ∈ S , and let ˆx e ( e ) be theentry in ˆx e corresponding to source ˆ X e for e ∈ E . Consider asource realization ( ˆx s , ˆx e ) in ˆ I “corresponding” to x = { x s } :namely, for s ∈ S set ˆx s ( s ) = x s and set ˆx e to be anycomplementary source realization.For source realization x of I , let x e be the realization of X e transmitted on edge e in the execution of the networkcode ( F , X ) . By our definitions, it holds that for any edge e ∈ E , ¯ f e ( ˆx s ) = ¯ f e ( x ) = x e . It follows that the realizationof ˆ X B ( e ) = ˆ X e + ¯ f e ( ˆ X , . . . , ˆ X | S | ) is ˆx e ( e ) + ¯ f e ( ˆx s ) = ˆx e ( e ) + x e . In addition, as we are assuming correct decodingon x , for each terminal t i ∈ T of I it holds that g i ( x e (cid:48) : e (cid:48) ∈ In ( t i )) = ( x s : b ( s, t i ) = 1) .Consider a terminal ˆ t e in ˆ I . The decoding procedureof ˆ t e first computes for e (cid:48) ∈ In ( e ) the realization of ˆ X B ( e (cid:48) ) + ˆ X e (cid:48) which by the discussion above is exactly ˆx e ( e (cid:48) ) + x e (cid:48) + ˆx e ( e (cid:48) ) = x e (cid:48) . Then the decoder computes f e ( x e (cid:48) : e (cid:48) ∈ In ( e )) = ¯ f e ( x ) = ¯ f e ( ˆx s ) = x e . Finally, thedecoder computes the realization of ˆ X B ( e )+ ¯ f e ( ˆ X , . . . , ˆ X | S | ) which is ˆx e ( e ) + x e + x e = ˆx e ( e ) which is exactly theinformation that the decoder needs.Similarly, consider a terminal ˆ t i in ˆ I corresponding to aterminal t i ∈ T of I . The decoding procedure of ˆ t i firstcomputes for e (cid:48) ∈ In ( t i ) the realization of ˆ X B ( e (cid:48) ) + ˆ X e (cid:48) which by the discussion above is exactly x e (cid:48) . Then the decodercomputes g i ( x e (cid:48) : e (cid:48) ∈ In ( t i )) = ( x s : b ( s, t i ) = 1) , whichis exactly the information needed by ˆ t i .Finally, consider the terminal ˆ t all . The decoding procedureof ˆ t all computes for each e ∈ E the realization of ˆ X B ( e ) +¯ f e ( ˆ X , . . . , ˆ X | S | ) which is ˆx e ( e ) + x e + x e = ˆx e ( e ) whichagain is exactly the information needed by ˆ t all .All in all, we conclude that all terminals of ˆ I decode cor-rectly on source realization ( ˆx s , ˆx e ) corresponding to sourcerealization x of I which allows correct decoding in I . Thisimplies that the instance ˆ I is indeed ( ε, ˆ R, ˆ c B , n ) feasible. I is ( ε, ˆ R, ˆ c B , n ) feasible implies that I is ( ε, R, n ) feasible: Here, we assume that ˆ I is ( ε, ˆ R, ˆ c B , n ) feasible with ˆ c B asdefined above. Thus, there exists an index code (ˆ E B , ˆ D ) =(ˆ E B , { ˆ D ˆ t } ) for ˆ I with block length n and success probabilityat least − ε . In what follows we obtain a network code ( F , X ) = { ( f e , X e ) }∪{ g t } for I . The key observation we useis that by our definition of ˆ c B = (cid:80) e ∈ E ˆ R e , the support [2 ˆ c B n ] of the encoding ˆ E B is exactly the size of the (product of) thesupports of the source variables { ˆ X e } in ˆ I . The implicationsof this observation are described below.We start with some notation. For each realization ˆx s = { ˆ x s } s ∈ S of source information { ˆ X s } in ˆ I , let A ˆx s be the re-alizations ˆx e = { ˆ x e } e ∈ E of { ˆ X e } e ∈ E for which all terminalsdecode ( ˆx s , ˆx e ) correctly. That is, if we use the term “good”to refer to any source realization pair ( ˆx s , ˆx e ) for which allterminals decode correctly ( ˆ X s , ˆ X e ) = ( ˆx s , ˆx e ) , then A ˆx s = { ˆx e | the pair ( ˆx s , ˆx e ) is good } . Claim 1:
For any given σ ∈ [2 ˆ c B n ] and any ˆx s , there is atmost one ˆx e ∈ A ˆx s for which ˆ E B ( ˆx s , ˆx e ) = σ . Proof:
Let ˆx s = { ˆ x s } s ∈ S be a realization of the sourceinformation { ˆ X s } s ∈ S . Treat the broadcasted value ˆ E B ( ˆx s , ˆx e ) as a function of ˆx e . Namely, set ˆ E B ( ˆx s , ˆ X e ) = ˆ E ˆx s ( ˆ X e ) .Now, for any ˆx s and any ˆx e ∈ A ˆx s , it holds that terminal ˆ t all will decode correctly given the realization of the “has”set ˆ H ˆ t all = ˆx s and the broadcasted information ˆ X B via ˆ E B .Namely, ˆ D ˆ t all (ˆ E ˆx s ( ˆx e ) , ˆx s ) = ˆx e . We now show (by meansof contradiction) that the function ˆ E ˆx s ( ˆx e ) obtains differentvalues for different ˆx e ∈ A ˆx s . This will suffice to prove ourassertion.Suppose that there are two values ˆx e (cid:54) = ˆx (cid:48) e in A ˆx s such that ˆ E ˆx s ( ˆx e ) = ˆ E ˆx s ( ˆx (cid:48) e ) . This implies that ˆx e =ˆ D ˆ t all (ˆ E ˆx s ( ˆx e ) , ˆx s ) = ˆ D ˆ t all (ˆ E ˆx s ( ˆx (cid:48) e ) , ˆx s ) = ˆx (cid:48) e , which gives acontradiction. Claim 2:
There exists a σ ∈ [2 ˆ c B n ] such that at least a (1 − ε ) fraction of source realizations ˆx s satisfy ˆ E B ( ˆx s , ˆx e ) = σ for some ˆx e ∈ A ˆx s . Proof:
Consider a random value σ chosen uniformlyfrom [2 ˆ c B n ] . For any partial source realization ˆx s , the prob-ability that there exists a realization ˆx e ∈ A ˆx s for which ˆ E B ( ˆx s , ˆx e ) = σ is at least | A ˆx s | / ˆ c B n . This follows byClaim 1, since for every ˆx e ∈ A ˆx s it holds that ˆ E B ( ˆx s , ˆx e ) isdistinct. Hence, the expected number of source realizations ˆx s for which there exists a realization ˆx e ∈ A ˆx s with ˆ E B ( ˆx s , ˆx e ) = σ is at least (cid:80) ˆx s | A ˆx s | ˆ c B n ≥ (1 − ε )2 n ( (cid:80) s ∈ S ˆ R s + (cid:80) e ∈ E ˆ R e ) ˆ c B n . We use here the fact that the total number of source realiza-tions ( ˆx s , ˆx e ) for which the index code (ˆ E B , ˆ D ) succeeds isexactly (cid:80) ˆx s | A ˆx s | , which by the ε error assumption is at least (1 − ε )2 n ( (cid:80) s ∈ S ˆ R s + (cid:80) e ∈ E ˆ R e ) .Since ˆ c B = (cid:80) e ∈ E ˆ R e , (1 − ε )2 n ( (cid:80) s ∈ S ˆ R s + (cid:80) e ∈ E ˆ R e ) ˆ c B n = (1 − ε )2 n ( (cid:80) s ∈ S ˆ R s ) , which, in turn, is exactly the size of a (1 − ε ) fraction of allpartial source realizations ˆx s .We conclude that there is a σ ∈ [2 ˆ c B n ] which “behaves” atleast as well as expected, namely a value of σ that satisfiesthe requirements in the assertion.We will now define the encoding functions of ( F , X ) forthe network code instance I . Specifically, we need to definethe encoding functions { f e } and the decoding functions { g t } for the edges e in E and terminals t in the terminal set T of I . We start by formally defining the functions. We then provethat they are an ( ε, R, n ) feasible network code for I .Let σ be the value specified in Claim 2, let A σ be the setof partial realizations ˆx s for which there exists a realization ˆx e ∈ A ˆx s with ˆ E B ( ˆx s , ˆx e ) = σ . By Claim 2, the size of A σ is at least (1 − ε )2 n ( (cid:80) s ∈ S ˆ R s ) = (1 − ε )2 n ( (cid:80) s ∈ S R s ) .For e ∈ E let f e : (cid:104) n (cid:80) e (cid:48)∈ In ( e ) c e (cid:48) (cid:105) → [2 nc e ] be the function that takes as input the random variables ( X e (cid:48) : e (cid:48) ∈ In ( e )) and outputs X e = ˆ D ˆ t e ( σ, ( X e (cid:48) : e (cid:48) ∈ In ( e ))) .Here, we consider X e (cid:48) for e (cid:48) ∈ E to be a random variable ofsupport [2 c e (cid:48) n ] .For terminals t i ∈ T in I let g t i : (cid:104) n (cid:80) e (cid:48)∈ In ( ti ) c e (cid:48) (cid:105) → (cid:104) n (cid:80) s ∈ S : b ( s,ti )=1 R s (cid:105) be the function that takes as input the random variables ( X e (cid:48) : e (cid:48) ∈ In ( t i )) and outputs ˆ D ˆ t i ( σ, ( X e (cid:48) : e (cid:48) ∈ In ( t i ))) .We will now show that the network code defined abovedecodes correctly with probability − ε . Consider any rate R =( R , . . . , R | S | ) realization of the source information in I : x = { x s } . Consider the source information ˆx s of ˆ I correspondingto x , namely let ˆx s = x . Assume that ˆx s ∈ A σ . Using Claim 2,let ˆx e be the realization of source information { ˆ X e } in ˆ I forwhich ˆ E B ( ˆx s , ˆx e ) = σ . Recall that, by our definitions, allterminals of ˆ I will decode correctly given source realization ( ˆx s , ˆx e ) . For s ∈ S , let ˆx s ( s ) = x s be the entry in ˆx s thatcorresponds to ˆ X s . For e ∈ E , let ˆx e ( e ) be the entry in ˆx e that corresponds to ˆ X e .We show by induction on the topological order of G that for source information x the evaluation of f e in thenetwork code above results in the value x e which is equalto ˆx e ( e ) . For the base case, consider an edge e = ( u, v ) in which u is a source with no incoming edges. In thatcase, by our definitions, the information x e on edge e equals f e ( x s ) = ˆ D ˆ t e ( σ, x s ) = ˆ D ˆ t e (ˆ E B ( ˆx s , ˆx e ) , ˆx s ( s )) = ˆx e ( e ) .Here, the last equality follows from the fact that the index code (ˆ E B , ˆ D ) succeeds on source realization ( ˆx s , ˆx e ) , and thus allterminals (and, in particular, terminal ˆ t e ) decode correctly.In general, consider an edge e = ( u, v ) with incoming edges e (cid:48) ∈ In ( e ) . In that case, by our definitions, the information x e on edge e equals f e ( x e (cid:48) : e (cid:48) ∈ In ( e )) . However, by induction,each x e (cid:48) for which e (cid:48) ∈ In ( e ) satisfies x e (cid:48) = ˆx e ( e (cid:48) ) . Thus x e = ˆ D ˆ t e ( σ, ( x e (cid:48) : e (cid:48) ∈ In ( e ))) = ˆ D ˆ t e (ˆ E B ( ˆx s , ˆx e ) , ( ˆx e ( e (cid:48) ) : e (cid:48) ∈ In ( e ))) = ˆx e ( e ) . As before, the last equality followsrom the fact that the index code (ˆ E B , ˆ D ) succeeds on sourcerealization ( ˆx s , ˆx e ) .Finally, we address the value of the decoding functions g t . By definition, the outcome of g t is exactly ˆ D ˆ t i ( σ, ( x e (cid:48) : e (cid:48) ∈ In ( t i ))) = ˆ D ˆ t i (ˆ E B ( ˆx s , ˆx e ) , ( ˆx e ( e (cid:48) ) : e (cid:48) ∈ In ( t i ))) =( ˆx s ( s ) : b ( s, t i ) = 1) = ( x s : b ( s, t i ) = 1) . As before,we use the inductive argument stating that x e (cid:48) = ˆx e ( e (cid:48) ) ,and the fact that the index code (ˆ E B , ˆ D ) succeeds on sourcerealization ( ˆx s , ˆx e ) , and thus all terminals (and, in particular,terminal ˆ t i ) decode correctly. This suffices to show that theproposed network code ( F , X ) succeeds with probability − ε on source input of rate tuple R . We have presented correctdecoding for I when x = ˆx s ∈ A σ , and shown that | A σ | ≥ (1 − ε )2 n ( (cid:80) s ∈ S R s ) . Therefore, we have shown correctdecoding for I with probability at least (1 − ε ) .V. C APACITY REGIONS
In certain cases, our connection between network and indexcoding presented in Theorem 1 implies a tool for determiningthe network coding capacity via the capacity of index codinginstances. Below, we present such a connection in the caseof collocated sources (i.e., for network coding instances inwhich all the sources are collocated at a single node in thenetwork). Similar results can be obtained for “super source”networks (studied in, e.g., [19], [20]). We discuss generalnetwork coding instances in Section VI.
Corollary 1:
For any instance to the network coding prob-lem I where all sources are collocated, one can efficientlyconstruct an instance to the index coding problem ˆ I and aninteger ˆ c B such that for any rate tuple R : R is in the capacityregion of I iff ( ˆ R, ˆ c B ) is in the capacity region of ˆ I . Here,the rate vector ˆ R for ˆ I can be efficiently constructed from R . Proof:
Let I be an instance to the network codingproblem and let R be any rate tuple. The instance ˆ I , the ratetuple ˆ R and the integer ˆ c B are obtained exactly as presentedin Theorem 1. We now show that any R is in the capacityregion of I iff ( ˆ R, ˆ c B ) is in the capacity region of ˆ I . From network coding to index coding:
Suppose that R is in the capacity region of the network coding instance I . Namely, for any ε > , any δ > , and source rates R (1 − δ ) = ( R (1 − δ ) , . . . , R | S | (1 − δ )) , there exists anetwork code with a certain block length n that satisfies I with error probability ε . As shown in the proof of the firstdirection of Theorem 1, this network code can be efficientlymapped to an index code for ˆ I of block length n , broad-cast rate equal to ˆ c B n , error probability ε and source rates ˆ R δ = ( { ˆ R s (1 − δ ) } s ∈ S , { ˆ R e } e ∈ E ) . Therefore, for any ε > and any δ > , there exists a block length n for which ˆ I is ( ε, ˆ R δ , ˆ c B , n ) feasible, and thus ( ˆ R, ˆ c B ) is in the capacityregion of ˆ I . From index coding to network coding:
Suppose that ( ˆ R, ˆ c B ) is in the capacity region of ˆ I . Recall that ˆ R =( { ˆ R s } s ∈ S , { ˆ R e } e ∈ E ) and ˆ c B = (cid:80) e ∈ E ˆ R e . Therefore, for any ε > and any δ ≥ there exists an index code with acertain block length n and error probability ε such that ˆ I is ( ε, ˆ R (1 − δ ) , ˆ c B , n ) -feasible. Note that we cannot readilyuse the proof of the second direction of Theorem 1 to mapthis index code into an network code for I . That is becausethis map requires that ˆ c B be equal to the sum of rates ofrandom variables in ˆ I that correspond to edges in E , namelythat ˆ c B = (1 − δ ) (cid:80) e ∈ E ˆ R e . However, in our setting we have ˆ c B = (cid:80) e ∈ E ˆ R e . This (small) slackness will not allow theproof of Theorem 1 to go through. Instead, we proceed byfirst stating a claim similar to Claim 2, which will allow us toprove our results in the setting in which all sources in I arecollocated. The proof of Claim 3 appears at the end of thissection. Throughout, we use the notation set in the proof ofTheorem 1. Claim 3:
There exists a set Σ ⊂ [2 ˆ c B n ] of cardinality | Σ | = n log (4 / − δ )( (cid:88) s ∈ S ˆ R s )2 nδ (cid:80) e ∈ E ˆ R e such that least a (1 − ε ) fraction of source realizations ˆx s satisfy ˆ E B ( ˆx s , ˆx e ) = σ for some ˆx e ∈ A ˆx s and some σ ∈ Σ .Assuming Claim 3 we will now define the encoding anddecoding functions for the network coding instance I . Supposethat all the sources s ∈ S are collocated at a single node thatwe call the source node. For each source realization x s , thesource node checks whether there exists ˆx e ∈ A ˆx s and some σ x s ∈ Σ such that ˆ E B ( ˆx s , ˆx e ) = σ x s (Case A) or not (CaseB).In Case A, the network code operates in two phases. Duringthe first phase, the source node sends an overhead message toall the nodes in the network revealing the value of σ x s usingat most log | Σ | bits (by Claim 3). The rate needed to convey theoverhead message vanishes for arbitrarily small values of δ . Inthe second phase, we implement the network code described inthe second direction of the proof of Theorem 1 (with σ = σ x s ).The source x s is transmitted through the network by sendingon edge e the message X e = ˆ D ˆ t e ( σ x s , ( X e (cid:48) : e (cid:48) ∈ In ( e ))) and each terminal t i implementing the decoding function ˆ D ˆ t i ( σ x s , ( X e (cid:48) : e (cid:48) ∈ In ( t i ))) . The total block length usedis n (1 + δ (cid:48) ) for δ (cid:48) = log | Σ | /n that tends to zero as δ tends to zero. It is not hard to verify (based on the proof ofTheorem 1) that such encoding/decoding functions for I willallow successful decoding when the source realization for I is x s .In Case B, we allow the network to operate arbitrarily,and consider this case as an error. Claim 3 implies thatCase B will happen with probability at most (cid:15) . Therefore,for R = ( ˆ R s , . . . , ˆ R s | S | ) the network coding instance I is (2 ε, R (1 − δ )1+ δ (cid:48) , n (1 + δ (cid:48) )) feasible for δ (cid:48) = log | Σ | /n . As ε tends to zero with ε tending to zero, and similarly δ (cid:48) tendsto zero as δ tends to zero, we conclude that I is R -feasible.We now present the proof of Claim 3. Proof: (Claim 3) Consider the elements ˆx s for which | A ˆx s | is at least of size n (1 − δ )ˆ c B − . Recall that ˆ c B = Any node that cannot be reached by a directed path from the source nodecan be set to remain inactive (not transmit any message) without altering thecapacity region of the network. e ∈ E ˆ R e . Denote these elements ˆx s by the set A . Noticethat | A | ≥ (1 − ε ) · n (1 − δ ) (cid:80) s ∈ S ˆ R s . Otherwise the total error in the index code we are consideringis greater than ε , which is a contradiction to our assumption.Let Σ (cid:48) be a subset of [2 n ˆ c B ] of cardinality | Σ (cid:48) | = 2 δn ˆ c B chosen uniformly at random (i.e., each element of Σ (cid:48) is i.i.d.uniform from [2 n ˆ c B ] ). For ˆx s ∈ [2 n (1 − δ ) (cid:80) s ∈ S ˆ R s ] define thebinary random variable Z ˆx s , such that Z ˆx s = 1 whenever thereexist ˆx e ∈ A ˆx s and σ ∈ Σ (cid:48) such that ˆ E B ( ˆx s , ˆx e ) = σ , and Z ˆx s = 0 otherwise.Using Claim 1, we have for any ˆx s ∈ A that Pr( Z ˆx s = 1) = 1 − (cid:18) − | A ˆx s | n ˆ c B (cid:19) | Σ (cid:48) | ≥ − (cid:18) − n (1 − δ )ˆ c B − n ˆ c B (cid:19) | Σ (cid:48) | = 1 − (cid:18) − | Σ (cid:48) | (cid:19) | Σ (cid:48) | > . We say that the ˆx s ∈ A is covered by Σ (cid:48) if Z ˆx s = 1 . It sufficesto cover all ˆx s ∈ A in order to satisfy our assertion.In expectation, Σ (cid:48) covers at least of the elements in A .Using the same averaging argument as in Claim 2, it followsthat there exists a choice for the set Σ (cid:48) that covers of theelements in A . By removing these covered values of ˆx s andrepeating on the remaining elements in A in a similar manneriteratively, we can cover all the elements of A . Specifically,iterating log | A | / log (4 / times (each time with a new Σ (cid:48) )it is not hard to verify that all elements of A will eventuallybe covered. Taking Σ to be the union of all Σ (cid:48) i obtained initeration i , we conclude our assertion.VI. C ONCLUSIONS
In this work, we addressed the equivalence between thenetwork and index coding paradigms. Following the line ofproof presented in [17] for a restricted equivalence in the caseof linear encoding, we present an equivalence for general (notnecessarily linear) encoding functions. Our results show thatthe study and understanding of the index coding paradigmimplies a corresponding understanding of the network codingparadigm.Although our connection between network and index codingis very general it does not directly imply a tool for determiningthe network coding capacity region as defined in Section II forgeneral network coding instances. Indeed, as mentioned in theproof of Corollary 1 for collocated sources, a naive attemptto reduce the problem of determining whether a certain ratevector R is in the capacity region of a network coding instance I to the problem of determining whether a corresponding ratevector ˆ R is in the capacity region of an index coding instance ˆ I , shows that a stronger, more robust connection betweenindex and network coding is needed. A connection whichallows some flexibility in the value of the broadcast rate ˆ c B .Such a connection is subject to future studies. Recently, it has been shown [20], [21] that certain intriguingopen questions in the context of network coding are wellunderstood in the context of index coding (or the so-called“super-source” setting of network coding). These include thequestion of “zero-vs- ε error: “What is the maximum loss inrate when insisting on zero error communication as opposedto vanishing decoding error?” [19], [20]; the “edge removal”question: “What is the maximum loss in communication rateexperienced from removing an edge of capacity δ > froma given network?” [22], [23]; and the following questionregarding the independence of source information: “What isthe maximum loss in rate when comparing the communicationof source information that is “almost” independent to that ofindependent source information?” [21].At first, it may seem that the equivalence presented in thiswork implies a full understanding of the open questions abovein the context of network coding. Although this may be thecase, a naive attempt to use our results with those presentedin [20], [21] again shows the need of a stronger connectionbetween index and network coding that (as above) allows someflexibility in the value of ˆ c B .VII. A CKNOWLEDGEMENTS
S. El Rouayheb would like to thank Prof. H. VincentPoor for his valuable feedback and continuous support, andCurt Schieler for interesting discussions on the index codingproblem. R
EFERENCES[1] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung. Network InformationFlow.
IEEE Transactions on Information Theory , 46(4):1204–1216,2000.[2] S.-Y. R. Li, R. W. Yeung, and N. Cai. Linear Network Coding.
IEEETransactions on Information Theory , 49(2):371 – 381, 2003.[3] R. Koetter and M. Medard. An Algebraic Approach to Network Coding.
IEEE/ACM Transactions on Networking , 11(5):782 – 795, 2003.[4] S. Jaggi, P. Sanders, P. A. Chou, M. Effros, S. Egner, K. Jain, andL. Tolhuizen. Polynomial Time Algorithms for Multicast Network CodeConstruction.
IEEE Transactions on Information Theory , 51(6):1973–1982, June 2005.[5] T. Ho, M. M´edard, R. Koetter, D. R. Karger, M. Effros, J. Shi, andB. Leong. A Random Linear Network Coding Approach to Multicast.
IEEE Transactions on Information Theory , 52(10):4413–4430, 2006.[6] T. Cover and J. Thomas.
Elements of Information Theory, second edition .John Wiley and Sons, 2006.[7] R. W. Yeung. A First Course in Information Theory.
Springer (KluwerAcademic/Plenum Publishers) , 2002.[8] R. W. Yeung, S.Y.R. Li, N. Cai, and Z. Zhang.
Network Coding Theory .Now Publishers Inc, 2006.[9] R. W. Yeung, S.-Y. R. Li, N. Cai, and Z. Zhang. Network CodingTheory.
Foundations and Trends in Communications and InformationTheory. Now Publishers , 2006.[10] T. Chan and A. Grant. Dualities Between Entropy Functions and Net-work Codes.
IEEE Transactions on Information Theory , 54(10):4470–4487, 2008.[11] Z. Bar-Yossef, Y. Birk, T. S. Jayram, and T. Kol. Index Coding withSide Information.
In Proceedings of 47th Annual IEEE Symposium onFoundations of Computer Science , pages 197–206, 2006.[12] E. Lubetzky and U. Stav. Non-linear Index Coding Outperforming theLinear Optimum.
In Proceedings of 48th Annual IEEE Symposium onFoundations of Computer Science , pages 161–168, 2007.[13] S. El Rouayheb, M. A. R. Chaudhry, and A. Sprintson. On the minimumnumber of transmissions in single-hop wireless coding networks. In
Information Theory Workshop (ITW) , 2007.14] N. Alon, E. Lubetzky, U. Stav, A. Weinstein, and A. Hassidim. Broad-casting with side information.
In Proceedings of 49th Annual IEEESymposium on Foundations of Computer Science , pages 823–832, 2008.[15] M. Langberg and A. Sprintson. On the Hardness of Approximating theNetwork Coding Capacity.
IEEE Transactions on Information Theory ,57(2):1008–1014, 2011.[16] A. Blasiak, R. Kleinberg, and E. Lubetzky. Lexicographic products andthe power of non-linear network coding.
In Proceedings of 52nd AnnualIEEE Symposium on Foundations of Computer Science , pages 609 – 618,2011.[17] S. Y. El Rouayheb, A. Sprintson, and C. Georghiades. On the RelationBetween the Index Coding and the Network Coding Problems.
Inproceedings of IEEE International Symposium on Information Theory(ISIT) , 2008.[18] R. Dougherty, C. Freiling, and K. Zeger. Insufficiency of LinearCoding in Network Information Flow.
IEEE Transactions on InformationTheory , 51(8):2745–2759, 2005.[19] T. Chan and A. Grant. On capacity regions of non-multicast networks.In
International Symposium on Information Theory , pages 2378 – 2382,2010.[20] M. Langberg and M. Effros. Network coding: Is zero error alwayspossible? In
In proceedings of Forty-Ninth Annual Allerton Conferenceon Communication, Control, and Computing , pages 1478–1485, 2011.[21] M. Langberg and M. Effros. Source coding for dependent sources.
Inproceedings of IEEE Information Theory Workshop (ITW). , 2012.[22] T. Ho, M. Effros, and S. Jalali. On equivalences between network topolo-gies. In
Forty-Eighth Annual Allerton Conference on Communication,Control, and Computing , 2010.[23] S. Jalali, M. Effros, and T. Ho. On the impact of a single edge onthe network coding capacity. In