1 Code Construction for Two-Source Interference Networks Elona Erez and Meir Feder Dept. of Electrical Engineering-Systems ,Tel Aviv University, Tel Aviv, 69978, Israel, E-mail:{elona, meir}@eng.tau.ac.il I. I NTRODUCTION Most literature on network coding focuses on the multicast case where performance bounds and codes that achieve these bounds were found. The general case seems to be much more complicated to analyze. Koetter and M´ edard [1] gave an algebraic formulation of linear network codes in the general communication problem with multiple sources. However, the complexity of finding the coding coefficients of the code is NP-complete. Furthermore, their procedure finds the solvabil- ity of a given set of rates required at certain sinks, but it does not provide, in general, the optimal rate region. Yeung [2, Chapter 15] gave information-theoretical inner and outer bounds to the rate region in the general case of acyclic networks with multiple sources. The inner and outer bounds in [2] are not explicit as in the multicast case, and are exponential in the graph size. This result is extended in [3] for the case of zero-error network codes. A different framework for formulating the general network coding problem uses a graph theoretic model [4]. In this model, the conflict hypergraph of the network is defined and it was shown that a network coding is solvable over a given alphabet and a class of codes if the conflict hypergraph has a stable set. Unfortunately, the size of the conflict graph might grow exponentially with the field size, since the number of possible codes grows exponentially, and also, in general, the problem of finding the stable set might be difficult. A constructive mulit-source network coding is presented in [5]. The construction is based on the observation that random mixing is asymptotically optimal for a pollution- free multi-source network coding problem, where no receiver can be reached by a source it does not need. Here too, the computational cost might be prohibitively high. In the problem of multiple unicast for d users transmitter s i has to transmit information to terminal t i at rate h i . The d sources are simultaneous and independent. When no codes are employed in the network, then the data can be treated as flow. The problem of multiple sources and multiple sinks in the network is termed in network optimization as the multi- commodity flow problem. The multicommodity flow can be found using linear programming. In [6] it was shown how the multicommodity problem can be implemented distributively. In [7], which considers the multiple unicast problem, the operations of the network codes are restricted to binary XOR. The problem is formulated as a linear program or an integer program. This constitutes a suboptimal, yet practical scheme to construct network codes, that improves the multicommodity solution for some particular settings. The computational com- plexity, however, is high in comparison to multicommodity. This approach was solved in a decentralized way in [8],[9]. In this paper we present a different approach based on modifying the multicommodity solution and thus improving, in certain settings, the achievable rate region. Specifically, we focus on the interference network for the unicast problem with two users (s 1 ,t 1 ) and (s 2 ,t 2 ). We start by a special case, where one of the sources, say s 2 , transmits information at its maximal min-cut max-flow rate and find a possible rate for s 1 . We show that this rate of s 1 is better than the best multicommodity flow rate. Building on this special case, we generalize it as follows. Suppose we are given a certain point on the border of the rate region of the multicommodity flow (R 1 ,R 2 ). That is, when s 2 transmits at rate R 2 , source s 1 cannot transmit at a rate higher than R 1 using multicommodity. We show how our method, that uses network codes, can im- prove R 1 . We formulate our method as a linear programming problem that is closely related to the flow problem. It is often desirable for network algorithms to be localized, such that the topology need not be globally known to the designer. The similarity to the flow problem allows our method to be implemented distributively, analogously to the distributive multicommodity algorithm in [6]. For both the non-distributive case and the distributive case, the computational complexity of our algorithms for network coding are comparable to those of the parallel multicommodity problems. II. CODE CONSTRUCTION FOR SPECIAL CASE In this section we present a code construction algorithm for the special case where one of the sources transmits at its maximal rate, and the other source tries to simultaneously transmit data at a certain, as high as possible, rate. Consider a directed acyclic, unit capacity network G = (V,E) where parallel edges are allowed. There are two sources s 1 and s 2 and two sinks t 1 and t 2 . Source s 1 is required to deliver data to t 1 and s 2 is required to deliver data to t 2 . For edge e, denote as Γ I (e) the set of edges entering e and Γ O (e) the set of edges outgoing from e. The coding coefficient between edge e and edge e ′ is denoted as m(e, e ′ ). That is, the symbol y(e) on edge e is given by: y(e)= e ′ ∈Γ I (e) m(e, e ′ )y(e ′ ) (1) In the first stage of our code construction we perform an algorithm similar to the polynomial time algorithm in the multicast case [10]. The algorithm starts by finding the maximal flow G 1 of rate h 1 from s 1 to t 1 and the maximal flow G 2 of rate h 2 from s 2 to t 2 . In the sequel we will be interested only in the subgraph G 1 ∪ G 2 , so we can assume