Sum-networks from undirected graphs: construction and capacity analysis

Similar documents
A Network Flow Approach in Cloud Computing

Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information

Weakly Secure Network Coding

On the Multiple Unicast Network Coding Conjecture

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

Codes for Network Switches

Markov random fields and Gibbs measures

Approximation Algorithms

Midterm Practice Problems

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Graph Theory Problems and Solutions

Topology-based network security

Triangle deletion. Ernie Croot. February 3, 2010

Continued Fractions and the Euclidean Algorithm

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

Linear Codes. Chapter Basics

A Practical Scheme for Wireless Network Operation

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

A Sublinear Bipartiteness Tester for Bounded Degree Graphs

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

NOTES ON LINEAR TRANSFORMATIONS

Practical Guide to the Simplex Method of Linear Programming

Functional-Repair-by-Transfer Regenerating Codes

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

5.1 Bipartite Matching

On Secure Communication over Wireless Erasure Networks

1 if 1 x 0 1 if 0 x 1

Fairness in Routing and Load Balancing

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Scheduling Shop Scheduling. Tim Nieberg

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Network Monitoring in Multicast Networks Using Network Coding

The Goldberg Rao Algorithm for the Maximum Flow Problem

T ( a i x i ) = a i T (x i ).

A Turán Type Problem Concerning the Powers of the Degrees of a Graph

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Systems of Linear Equations

The chromatic spectrum of mixed hypergraphs

A 2-factor in which each cycle has long length in claw-free graphs

No: Bilkent University. Monotonic Extension. Farhad Husseinov. Discussion Papers. Department of Economics

Applied Algorithm Design Lecture 5

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES

Achievable Strategies for General Secure Network Coding

Analysis of Algorithms, I

OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION

The positive minimum degree game on sparse graphs

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

k, then n = p2α 1 1 pα k

Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, Notes on Algebra

SHORT CYCLE COVERS OF GRAPHS WITH MINIMUM DEGREE THREE

1 The Line vs Point Test

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

CHAPTER 9. Integer Programming

Lecture 16 : Relations and Functions DRAFT

Energy Benefit of Network Coding for Multiple Unicast in Wireless Networks

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

2.3 Convex Constrained Optimization Problems

Settling a Question about Pythagorean Triples

Offline sorting buffers on Line

Pigeonhole Principle Solutions

Minimizing Probing Cost and Achieving Identifiability in Probe Based Network Link Monitoring

arxiv: v1 [cs.cg] 15 Sep 2014

Definition Given a graph G on n vertices, we define the following quantities:

Tree-representation of set families and applications to combinatorial decompositions

Social Media Mining. Graph Essentials

Single machine parallel batch scheduling with unbounded capacity

Mean Ramsey-Turán numbers

Network Design and Protection Using Network Coding

INDISTINGUISHABILITY OF ABSOLUTELY CONTINUOUS AND SINGULAR DISTRIBUTIONS

The Basics of Graphical Models

1 Approximating Set Cover

Product irregularity strength of certain graphs

Efficient Recovery of Secrets

All trees contain a large induced subgraph having all degrees 1 (mod k)

Determination of the normalization level of database schemas through equivalence classes of attributes

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 3, JUNE

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

Adaptive Linear Programming Decoding

Network Coding for Security and Error Correction

Link Status Monitoring Using Network Coding

each college c i C has a capacity q i - the maximum number of students it will admit

Maximum Entropy Functions: Approximate Gács-Körner for Distributed Compression

IN THIS PAPER, we study the delay and capacity trade-offs

Labeling outerplanar graphs with maximum degree three

FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z

Polarization codes and the rate of polarization

A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems

Cycles in a Graph Whose Lengths Differ by One or Two

Secure Network Coding for Wiretap Networks of Type II

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

Graphs without proper subgraphs of minimum degree 3 and short cycles

A simple criterion on degree sequences of graphs

Notes on Determinant

Diversity Coloring for Distributed Data Storage in Networks 1

Transcription:

Sum-networks from undirected graphs: construction and capacity analysis Ardhendu Tripathy and Aditya Ramamoorthy Department of Electrical and Computer Engineering Iowa State University Ames Iowa 50011 Email: {ardhenduadityar}@iastate.edu arxiv:161.07773v1 [cs.it] Dec 016 Abstract We consider a directed acyclic network with multiple sources and multiple terminals where each terminal is interested in decoding the sum of independent sources generated at the source nodes. We describe a procedure whereby a simple undirected graph can be used to construct such a sum-network and demonstrate an upper bound on its computation rate. Furthermore we show sufficient conditions for the construction of a linear network code that achieves this upper bound. Our procedure allows us to construct sum-networks that have any arbitrary computation rate p (where p q are non-negative integers). Our work significantly generalizes a previous approach for q constructing sum-networks with arbitrary capacities. Specifically we answer an open question in prior work by demonstrating sum-networks with significantly fewer number of sources and terminals. I. INTRODUCTION Function computation using network coding is an area that has received significant attention in recent years (see for instance [1] [4]). Broadly speaking one considers directed acyclic networks with error free links a set of source nodes that generate independent information and terminal nodes that demand a certain function of the source values. The topology of the network is allowed to be arbitrary. The most general formulation is evidently quite complex to study as depending on the function the demands can be arbitrarily complex and contain for instance multiple unicast as a special case a problem which is well recognized to be hard (see for instance the discussion in [5] [6]). Accordingly several simplified settings have been considered in the literature. The work of [1] [] considers general functions but networks with only one terminal. A different line of work considers networks with multiple terminals that each need a simple function such as the sum [3] [4]. Significant prior work [7] [9] considers information theoretic issues in function computation where the sources are dependent but the network structures are simple in the sense that there are direct links between sources and the terminals. In this work we consider the problem of network coding for sum-networks. Specifically the problem is one of multicasting the finite field sum of source values that are available at a set of source nodes to a designated set of terminals over a directed acyclic network i.e. a sum-network. The topology of the graph denoting the network can be completely arbitrary under the trivial restriction that there exists a path between any terminal and each source node. We assume that the sources are independent and that the network links are delay and error-free but have finite capacity. This problem was first considered in the work of [10] where the class of networks with unit-entropy sources unitcapacity edges and either two sources or two terminals was considered. For this class of networks it was demonstrated that as long as each source is connected to each terminals computation of the sum was possible. In contrast it was shown [3] that there exist networks with three sources and three terminals where sum computation is impossible even though each source terminal pair is connected. Conditions on sum computation for networks with three sources and three terminals have also been investigated in prior work [3] [11]. More generally one can define the notion of computation rate [1]. Informally a network code for a sum-network is said to have rate r/l if in l time slots one can multicast the sum r times to all the terminals. A network is called solvable if it has a (r r) code and not solvable otherwise. The problem of multicasting the sum can be shown to be equivalent to the problem of multiple unicast. Specifically [4] shows that there is a linearly solvable equivalent sumnetwork for any multiple-unicast network. Thus characterizing the solvability of sum networks and identifying the network resources required in order to ensure solvability of a sumnetwork assumes importance. There are several open problems for sum-networks where the number of sources and terminals is at least three. For instance nontrivial sufficient conditions on the network resources that allow for sum computation are not known. However recently certain impossibility results have been obtained. Reference [1] shows that for any integer k there exists a sum-network with three sources and four or more terminals (and also a sum-network with three terminals and four or k k+1 more sources) with coding capacity for integers k 0. Reference [13] is most closely related to our work. Given a ratio p/q it constructs a sum-network that has capacity equal to p/q. In this work we propose a construction of sum networks that significantly generalizes the work of [13] and answer some of its open questions. A. Main Contributions Asssuming coprime p and q the work of [13] constructs a sum-network that has q 1 + ( ) q 1 ( sources and q 1 + q 1 ) + 1 terminals which can be significantly large if q is large. An open question posed in [13] is whether sum-networks of smaller size exist that have a capacity p/q. In this work

we answer this in the affirmative. Specifically we construct a large family of sum-networks that can be significantly smaller for several values of p/q and recover their result as a special case. We note that examples of small sum-networks with capacity strictly smaller than one are useful in investigating sufficiency conditions for general networks. For example [3] demonstrates an instance of a network with three sources and three terminals where unit connectivity between each source terminal pair does not suffice implying that a sufficiency condition for such 3-source 3-terminal networks that only looks at minimum connectivity between source terminal pairs needs to consider networks where the minimum cut between each source terminal pair is at least two. Our proof that the constructed sum-network has the appropriate capacity value is simpler than the proof of [13]. This paper is organized as follows. The problem is formally posed in Section II our construction is explained in Section III and a comparison with existing results appears in Section IV. We conclude the paper with a discussion about future work in Section V. II. PROBLEM FORMULATION We consider communication over a directed acyclic graph (DAG) G = (V E) where V is the set of nodes and E V V Z + are the edges denoting the delay-free communication links between them. Subset S V denotes the source nodes and T V denotes the terminal nodes. The source nodes have no incoming edges and the terminal nodes have no outgoing edges. Each source node s i S generates an independent random process X i such that the sequence of random variables X i1 X i... indexed by time are i.i.d. and each X ij takes values that are uniformly distributed over a finite alphabet A that is assumed to be a finite field such that A = q. Each edge is of unit capacity and can transmit one symbol from A per unit time. Our model allows for multiple edges between nodes. In this case the edges are given an additional index. For instance if there are two edges between nodes u and v these will be represented as (u v 1) and (u v ). The capacity of the edge (u v) is defined as the number of edges between u and v. We use the notation In(v) to represent the set of incoming edges at node v V. We will also work with undirected graphs in this paper. If v is a node in an undirected graph then In(v) will represent the edges incident on v. An network code is an assignment of edge functions to each edge in E and a decoding function to each terminal in T. The edge function for an edge connected to a source depends only the source values. Likewise an edge function for an edge that is not connected to a sources depends on the values received on its incoming edges and the decoding function for a terminal depends only on its incoming edges. We let the source messages be vectors of length r and the edge functions to be vectors of length l. The decoding functions should be such that each terminal recovers the sum of all the source message vectors. The domain and range of the encoding functions can be summarized as follows. Edge function for edge e. φ e : A r A l if tail(e) S φ e : A l In(tail(e)) A l if tail(e) / S. Decoding function for the terminal t i T. ψ ti : A l In(ti) A r A network code is a linear network code if all the edge and decoding functions are linear. For the sum-networks that we consider a (r l) fractional network code solution over A is such that the sum of r source symbols (over the finite field) can be communicated to all the terminals in l units of time. The rate of this network code is defined to be r/l. A network is said to be solvable if it has a (r r) network coding solution for some r 1. A network is said to have a scalar solution if it has a (1 1) solution. The supremum of all achievable rates is called the capacity of the network. III. CONSTRUCTION AND CAPACITY OF A FAMILY OF SUM NETWORKS In this section we construct a family of sum-networks which are not solvable even though each source terminal pair is connected via at least one path. In fact we will demonstrate that there exist families of sum-networks that are not solvable even though each source terminal pair has a minimum cut that is strictly larger than a fixed constant. The construction of the sum-network starts with a parallel set of b edges that we refer to as bottleneck edges in the subsequent discussion. Each bottleneck edge has a capacity α. There are α-capacity edges connecting carefully chosen subsets of the source nodes S to the tail of each bottleneck edge. Similarly α-capacity edges connect the head of each bottleneck edge to a subset of terminal nodes T. The choice of the various subsets of the source nodes is made via the help of a undirected simple connected graph 1 G = ( Ṽ Ẽ) where Ṽ = b. We arbitrarily number the vertices in G as 1... Ṽ. Then there are potentially the following three sets of sources in the sumnetwork G. 1) S 1 = {s i : i = 1... Ṽ } ) S = {s e : e Ẽ} and 3) s. Similarly there are three types of terminals in G. 1) T 1 = {t i : i = 1... Ṽ } ) T = {t e : e Ẽ} and 3) t so that T = T 1 T {t }. We propose two different constructions depending on whether we include s in the sumnetwork or not. In the constructions we assume that G is connected and that Ẽ Ṽ i.e. it is not a tree. 1 A graph is said to be simple if does not have self loops and multiple edges between a pair of nodes.

1 4 s 1 s s 3 s 4 s (1) s (3) s (34) s (14) s (13) e 1 e e 3 e 4 3 Fig. 1. G for Example 1. The dotted lines show the edge set E for Cyc Construction. A. Construction 1 For the first construction we do not include s in the network thus S = S 1 S. Let X = {X 1 X... X } {X Ṽ e : e Ẽ} (1) be the set of independent random processes generated at the respective source nodes in G. Let (i) denote the edges e Ẽ that are incident to the In G vertex i Ṽ in the simple graph G and A i = {X i } {X e : e In G (i)}. () We use A c i to denote X \ A i. Our sum-network G can be constructed as follows. We first include the source node set S the terminal node set T and the bottleneck edges B = {e 1 e... e b } where b = Ṽ and each edge is of capacity α. Next we follow the construction algorithm below where edges (each of capacity α) are included. Construction Algorithm 1 1) Edges from sources to bottlenecks. a) (s i tail(e j )) if X i A j for all i j {1... b} b) (s e tail(e j )) if X e A j for all j {1... b}. ) Edges from bottlenecks to terminals. a) (head(e i ) t i ) for all i = {1... b} b) (head(e i ) t e ) and (head(e j ) t e ) for all e = (i j) Ẽ and c) (head(e i ) t ) for all i {1... b}. 3) Direct edges. a) (s i t j ) if X i A c j for all i j {1... b} and (s e t j ) if X e A c j for j {1... b}. b) For all e = (i j) Ẽ (s k t e ) if X k A c i Ac j and (s e t e ) if X e A c i Ac j. Next we illustrate an example of the above construction. Example 1. Let G be as shown in Figure 1. Then A 1 = {X 1 X (1) X (13) X (14) } A = {X X (1) X (3) } A 3 = {X 3 X (13) X (3) X (34) } A 4 = {X 4 X (14) X (34) } The corresponding sum-network G is shown in Figure. t 1 t t 3 t 4 t (1) t (3) t (34) t (14) t (13) t A c 1 A c A c 3 A c 4 A c 1 A c A c A c 3 Ac 3 A c 4 A c 1 A c 4 A c 1 A c 3 Fig.. Sum-network G constructed from G in Fig. 1 via Construction 1. Edges e i i = 1... 4 represent the bottlenecks. The direct edges are specified by means of the set that appears below each terminal. s s 1 s s 3 s 4 s (1) s (3) s (34) s (14) s (13) e 1 e e 3 e 4 t 1 t t 3 t 4 t (1) t (3) t (34) t (14) t (13) t A c 1 A c A c 3 A c 4 A c A c A c A c 3 3 A c 4 A c 1 A c A c 4 1 A c 1 A c 3 Fig. 3. Sum-network G constructed from G in Fig. 1 via Construction (with source s ). Edges e i i = 1... 4 represent the bottlenecks. The direct edges are specified by means of the set that appears below each terminal. B. Construction In the second construction we include the source s i.e. S = S 1 S {s } so that we have source X in addition to the sources listed in eq. (1). Recall that we assumed that G is not a tree. Let Cyc = (V Cyc E Cyc ) be a subgraph of G corresponding to the shortest cycle in G; Cyc may not be unique. The following is a useful fact (proof appears in the Appendix). Claim 1. Suppose that nodes i j V Cyc. Then either (i j) E Cyc or (i j) / Ẽ. The set of random processes A i is defined as follows. A i = { {Xi } {X e : e In G (i)} {X } if i V Cyc {X i } {X e : e In G (i)} otherwise. Following the definition of the sets A i the steps outlined in Construction 1 can be followed to construct most of the sum-network G. Following this the additional source s is connected to each e i where i V Cyc. Each terminal in T that does not have a path from s to it is provided a direct edge s to it. This concludes the construction of G. For an example check Figure 3 for a sum-network constructed from Figure 1 with the choice of Cyc as indicated in caption.

C. Upper bound on the capacity of G We derive an upper bound on the capacity of G assuming that we followed Construction so that source s exists. The corresponding upper bound for Construction 1 follows in a similar manner. Suppose that there exists a (r l) fractional network code assignment φ e e E and decoding functions ψ t t T so that all the terminals in T can recover the sum of sources denoted by Z = X i Ṽ i + X e Ẽ e + X. As such we have three types of sources corresponding to (i) the vertices of G (ii) the edges of G and (iii) the starred source. We use a generic index to refer to all these types of sources. For instance β A k X β would equal X i:x i A k i Ṽ i + X e:x e A k e Ẽ e + 1 }X where 1 is the indicator {k V Cyc function. Lemma 1. For terminal t T if edge (head(e k ) t) exists then terminal t can compute β A k X β from the function value on e k. Proof: Consider terminal t k for k Ṽ. It is connected to head(e k ). By assumption it is able to recover Z from the information transmitted on its incoming edges. In the discussion below we let φ ek (X) refer to the value that the network code assigns on edge e k where we emphasize that φ ek (X) only depends on sources in the set A k. Suppose we cannot decode the sum β A k X β from the value of φ ek (X). This implies that we can find two different instantiations of source symbols x and x such that φ ek (x) = φ ek (x ) but β A k x β β A k x β and x β = x β for β Ac k. Thus even though Z Z ψ tk (x) = ψ tk (x ) as φ e (x) = φ e (x ) for all e In(t k ). Thus the terminal t k is unable to compute the sum which is a contradiction. In a similar manner the following lemma can be shown to hold. Lemma. Any terminal t e for e = (i j) Ẽ is able to compute β A i A j X β from the function values on edges e i and e j in G. Theorem 1. The rate of a fractional network coding solution for the sum-network G constructed by the procedure above is upper bounded by α Ṽ Ẽ + Ṽ +1. Proof: We assume that there is a valid network code such that each terminal is able to compute the sum Z. Consider a terminal t e where e = (i j) Ẽ. In this case t e can compute (from Lemma 1 and ) the following partial sums β A i X β. β A j X β. β A i A j X β. Thus it can compute β A i X β + β A j X β β A i A j X β. Now if e participates in the cycle Cyc we obtain X e + X which can be observed by noting that A i A j = {X e X }. It can also be seen that if edge (i j) / E Cyc then at least one of i or j do not participate in Cyc (cf. Claim 1). In this case the previous operation would simply provide X e. Terminal t is connected to all the bottleneck edges. Thus it can obtain the following symbols. Y 1e = X e + X if e E Cyc Y 1e = X e if e / E Cyc Following this step t can compute β A k X β e:x e A k Y 1e. Note that A k contains only one source corresponding to the vertices namely X k. Now if k / V Cyc then it is evident that Y 1e = X e for all e (k) so In G that β A k X β Y e:x e A k e Ẽ 1e = X k. Alternatively if k V Cyc then β A k X β Y e:x e A k e Ẽ 1e = X k X. Thus at the end of this operation t has the following symbols. Y k = X k X if k V Cyc Y k = X k if k / V Cyc Note that a cycle has the same number of edges and nodes. Thus Y k Ṽ k + Y e Ẽ 1e = X i Ṽ i + X e Ẽ e. However terminal t already knows Z thus it can compute X and consequently the value of all the sources. Therefore under the assumption that all the terminals can compute the sum of sources we can conclude that t is able to compute all the individual source symbols present in the sum-network. It can be observed that the minimum cut between the set of all the sources and t is α Ṽ. Then under a valid fractional (r l)-network code we must have ( q l ) α Ṽ (q r ) Ẽ + Ṽ +1 (3) = r l α Ṽ (4) Ẽ + Ṽ + 1. This concludes the proof. Thus for the sum network constructed in Example 1 we must have for a (r l)-network coding solution r l 4α 4 + 5 + 1 = α 5. (5) Remark 1. It can be seen that following the line of proof above for the case of Construction 1 (without source s ) one arrives at a capacity upper bound of α Ṽ Ẽ + Ṽ. Remark. In Construction we chose to connect the starred source to only a carefully chosen subset of the bottleneck edges. If instead we had connected it to all the bottleneck edges (for instance) the starred terminal could only recover the source under conditions on the characteristic of the field A. This dependency on characteristic is evaluated and shown for an example sum-network in the Appendix. Our choice of the subset of bottleneck edges avoids this dependence on the field characteristic. There is further work done in [14] in which it is shown that the computation capacity (taking into account both linear and non-linear network codes) of a sum-network is strongly dependent on the finite field A chosen for computation and communication.

D. Achievability scheme for G For certain classes of undirected simple connected graphs the corresponding sum-network is such that we can demonstrate a linear network coding scheme that achieves the upper bound in Theorem 1. Towards this end we first assign nonnegative integers to variables m (ij) (i) and m (ij) (j) for all (i j) Ẽ that satisfy certain constraints. The constraints depend on whether we use Construction 1 or for constructing G and are given below. Feasible solution for Construction 1. m (ij) (i) + m (ij) (j) = b (i j) Ẽ. (CODE-FEAS-1) m (ij) (i) Ẽ i Ṽ. j:(ij) In G (i) Feasible solution for Construction. m (ij) (i) + m (ij) (j) = b (i j) Ẽ. (CODE-FEAS-) m (ij) (i) Ẽ + 1 i Ṽ. j:(ij) In G (i) Ẽ + 1 m (ij) (i) b. j:(ij) In G (i) i V Cyc As will be evident shortly the existence of the variables m (ij) (i) allow us to construct the achievability scheme that matches the upper bound in Theorem 1. Such feasible assignments do not exist for all graphs. However for a large class of graphs we can in fact arrive at an assignment. For instance for a simple regular graph where Ṽ is even it can be seen that m (ij) (i) = Ṽ / (i j) Ẽ results in a feasible assignment for CODE-FEAS-1. The following claim can be shown (the proof appears in the Appendix). Claim. If G is a regular graph or a biregular bipartite graph then CODE-FEAS-1 has a feasible solution. 1) Linear network code for Construction 1: We construct a (r l) network code for the sum-network G constructed above by choosing r = Ṽ and l = Ṽ + Ẽ. In the discussion below we assume that α = 1. However it will be evident that the case of higher α is a simple extension of the scheme for α = 1. Here we describe the encoding function φ ei for bottleneck edge e i and assign the other edges to simply forward the messages that they receive. We number the edges in Ẽ in an arbitrary order so that the edges can be indexed as ẽ 1... ẽ Ẽ. Then the source processes can be represented as a vector X of dimension r( Ṽ + Ẽ ) as shown below. X = [X T 1 X T... X T Ṽ XT ẽ 1 X T ẽ... X T ẽ Ẽ ] T where X i i = 1... Ṽ X ẽ i i = 1... Ẽ are each of dimension r 1. Recall that tail(e i ) is connected to the set of sources in A i thus φ ei ( X) is only a function of the sources in A i. Moreover head(e i ) is connected to terminals t i and t e where e In G (i) and also t. We partition the vector φ ei ( X) as follows. φ ei ( X) T = [φ ei ( X) T 1 φ ei ( X) Ṱ e 1... φ ei ( X) Ṱ e In(i) ] where φ ei ( X) 1 is of dimension r 1. Furthermore ê 1... ê In G (i) In G (i) and φ ei ( X)êj is of dimension mêj (i) 1 (mêj (i) is obtained from CODE-FEAS-1). We set φ ei ( X) 1 = β A i X β Next for ê j = (u i) In G (i) we set φ ei ( X)êj = { [Imêj (i) m êj (i) 0]X (ui) if i < u [0 I mêj (i) mêj (i)]x (ui) otherwise. It is evident that the assignment for the encoding function φ ei ( X) discussed above is feasible since 1) it is a function only of sources in A i and ) the row dimension of the transformation is r + ê j In(i) m ê j (i) Ṽ + Ẽ. Theorem. The sum of sources Z can be computed at all the terminals with the encoding functions specified above. Proof: The terminal t i i = 1... Ṽ is connected to head(e i ) in G for i {1... Ṽ }. Therefore from φ e i ( X) 1 it recovers β A i X β. Furthermore it has access to the set of sources in A c i via direct edges. Thus it can compute the sum. Next consider a terminal t e where e = (i j) Ẽ such that i < j. From the assignment above it can be seen that t e can recover X e since [ ] [ ] φei ( X) e [Ime(i) m = e(i) 0]X (ij) = X φ ej ( X) e [0 I e me(j) m e(j)]x (ij) since m e (i) + m e (j) = b = r. Next note that β A i X β + β A j X β X e = β A i A j X β since A i A j = X e. Moreover t e gets all the sources (A i A j ) c via direct edges. Thus it can compute the sum. Finally for t note that by previous arguments it can recover any X e e Ẽ from the bottleneck edges. Following this it can recover X i = φ ei ( X) 1 e In G (i) X e for all i Ṽ and consequently the sum. Example. We describe the edge functions and decoding procedure for the case when G = K 3 i.e. the complete graph on three vertices. We note that the following assignment satisfies the constraints in CODE-FEAS-1. m (1) (1) = 1 m (1) () = m (13) (1) = m (13) (3) = 1 and m (3) () = 1 m (3) (3) =. The linear encoding functions are shown in Fig. 4.

[ ] T X = X1 T X T X3 T X(1) T X(13) T X(3) T φ e1 ( X) = φ e ( X) = I 3 0 3 3 0 3 3 I 3 I 3 0 3 3 0 0 0 [1 0] 0 0 0 0 0 0 [I 0] 0 φ e3 ( X) = 0 3 3 I 3 0 3 3 I 3 0 3 3 I 3 0 0 0 [0 I ] 0 0 0 0 0 0 0 [1 0] 0 3 3 0 3 3 I 3 0 3 3 I 3 I 3 0 0 0 0 [0 1] 0 0 0 0 0 0 [0 I ] X X X Fig. 4. Encoding functions for the sum-network constructed from K 3 (see discussion in Example ). It can observed that t 1 can be satisfied since can recover the first component of X (1) from φ e1 ( X) and the remaining components from φ e ( X) following which it can recover X 1 + X + X (1) + X (3) + X (13). It has X 3 available via a direct edge. In a similar fashion it can be verified that all terminals can be satisfied. ) Linear network code for Construction : For the second construction we have one additional source X and we construct a (r l) network code for the sum-network with r = Ṽ and l = Ṽ + Ẽ +1. Similar to the previous case we index the edges so that the source processes can be stacked in a vector X of dimension r( Ṽ + Ẽ + 1) as follows X = [X1 T X T... X T Ṽ XT ẽ 1 Xẽ T... Xẽ T X T ] T Ẽ where X i i = 1... Ṽ X ẽ i i = 1... Ẽ and X are each of dimension r 1. The constraints satisfied by variables m (ij) (i) is as outlined in CODE-FEAS-. Now for i / V Cyc the construction of φ ei ( X) is exactly the same as in the previous one. For i V Cyc the vector φ ei ( X) also contains information from source s as follows φ ei ( X) T = [φ ei ( X) T 1 φ ei ( X) Ṱ e 1... φ ei ( X) Ṱ e In(i) φ ei ( X) T ] where φ ei ( X) 1 is of dimension r 1. Also ê 1... ê In G (i) (i) and φ In G ei ( X)êj is of dimension mêj (i) 1. φ ei ( X) T is of dimension w i 1 where w i = Ẽ + 1 m (ij) (i). j:(ij) In G (i) Note that w i 0 for i V Cyc owing to the second constraint of CODE-FEAS-. φ ei ( X) 1 and φ ei ( X)êj for ê j / E Cyc are defined exactly as in previous construction. For ê j = (u i) E Cyc there is a slight modification as follows. { [Imêj (i) m êj (i) 0](X (ui) + X ) if i < u φ ei ( X)êj = [0 I mêj (i) mêj (i)](x (ui) + X ) otherwise. We let γ wi = {j:j V Cycj<i} w j and γ w i = j>i} w j. Then φ ei ( X) is defined as {j:j V Cyc φ ei ( X) = [ 0wi r( Ẽ + Ṽ ) 0 wi γ wi I wi 0 wi γ w i ] X Such an assignment for the encoding function φ ei ( X) for i V Cyc is feasible as 1) tail(e i ) is connected to the starred source s and ) the row dimension of the transformation is r + mêj (i) + w i ê j In G (i) = r + mêj (i) + ( Ẽ + 1 m (ij) (i)) ê j In(i) j:(ij) In G (i) = Ẽ + Ṽ + 1. Theorem 3. The sum of sources Z can be computed at all the terminals with the encoding functions specified above. Proof: For terminals other than t and t e where e E Cyc the sum can be computed in the same fashion as described in Theorem. Consider terminal t e where e = (i j) E Cyc such that i < j. t e is connected to head(e i ) and head(e j ). t e can recover the sum X e + X by [ ] φei ( X) X e + X = e. φ ej ( X) e Note that β A i X β + β A j X β (X e + X ) = β A i A j X β since A i A j = {X e X }. Moreover t e gets all the sources (A i A j ) c via direct edges. Thus it can compute the sum. Terminal t can obtain X as follows. X T = [ ( φei1 X) T φ ( ei X) T... φ ( ei X) T V Cyc where i 1 < i <... < i V cyc all belong to V Cyc. This is because w i = [ i V Cyc Ẽ + 1 ] j:(ij) In G (i) m (ij)(i) b owing to i V Cyc the constraints in CODE-FEAS-. Moreover eq. (6) shows that the different bottleneck edges recover all the disjoint subsets of X. For e / E Cyc t can recover X e in the same way as t e. For e = (i j) E Cyc i < j t can recover X e as [ ] φei ( X) e X φ ej ( X) = X e + X X e Thus t can recover any X e e Ẽ. Following this it can be seen that it can also recover X i for all i Ṽ and then the sum. The linear network code described here assumed edges of unit capacity. The same scheme can be used in sum-networks ] (6)

where all the edges have integer edge capacity α > 1. In order to see this we think of every α capacity edge as a union of α unit capacity edges between the same two vertices. Then we can think of this modified network as a union of α sub-networks each of which is topologically equivalent to the original network but consists of only unit capacity edges. We can use the linear network code described above to achieve the coding capacity r l on each of these unit edge capacity networks. Thus at the very least we will be able to transmit a sum of sources A αr to all the terminals by a repeated application of the same network code on all α sub-networks. Thus this will be a rate αr l solution to the original sumnetwork. However as evinced by Theorem 1 this is also the upper bound on the rate and hence this repeated application of our linear network code achieves capacity. IV. COMPARISON WITH EXISTING RESULTS The work most closely related to ours is by Rai & Das [13]. They showed that there exists a sum-network that has coding capacity p q for any p q and constructed a linear code that achieves capacity on an instance of such a sum-network. They also pointed out that finding sum-networks that have the same coding capacity but with fewer sources and terminals was an open problem. We now demonstrate that our approach is a strict generalization of the work of [13]. Their construction for a network with capacity p/q starts by constructing a base network that has a capacity of 1/q. The base network only has unit capacity edges. The edges are replicated p times to obtain a network with capacity p/q. We now show that our approach gives their result as a special case when G is chosen to be the complete graph on q 1 vertices. Example 3. Consider G to be a complete graph on q 1 vertices. This graph has a feasible assignment to constraints in CODE-FEAS-1 by Claim. Construct the sum-network G from G without using the extra source s. Then by using Theorems q 1 1 and the coding capacity of G is q 1+( q 1 ) = 1 q. By replicating each edge p times we obtain a coding rate of p/q. However it is important to note that our framework allows us more parameters which can be chosen to obtain stronger results in the sense that specific coding rates can be achieved by using fewer sources and terminals. Example 4. Suppose that the approach of [13] was used to construct a sum-network with capacity /5. It can be verified that this requires a sum-network with 45 sources and 46 terminals. In contrast in our approach we can choose G to be the graph in Fig. 1 (a feasible assignment for CODE-FEAS- can be easily derived). In this case we obtain a sum-network 4 G (with source s ) with capacity 4+5+1 = 5. However our sum-network only has 9 sources and 10 terminals. As another example we can construct a network with capacity 5/13 that is significantly smaller. Example 5. Let G be the Petersen graph [15] which is a 3-regular graph on 10 vertices (see Figure 5). Construct sum- 7 Fig. 5. 1 6 8 9 3 4 10 Petersen graph. network G (with source s ). For this choose the shortest cycle as V Cyc = {1 3 4 5}. The assignment for the variables in CODE-FEAS- can be done as follows 4 if i V Cyc and j / V Cyc m (ij) (i) = 6 if i / V Cyc and j V Cyc and 5 otherwise. w i = for all i V Cyc. The coding capacity of G can be verified to be 10 5 13 5 = 10+ 3 10 +1 and it has 6 sources and 6 terminals. However the approach of [13] would need 13 1 + ( ) 13 1 = 35 sources and 36 terminals. To a certain extent we can analyze the parameters that can be obtained by considering regular graphs. Let G be a d- regular graph on b vertices hence d b 1. Then the upper bounds that we have on the coding rate for Constructions 1 and respectively are and r l αb b + db = α + d (7) r l αb b + db (8) + 1. Without loss of generality consider p/q where p and q are coprime. It can be seen that (7) can achieve any such p/q by setting α = p and d = q. The resulting G is a q - regular graph on atleast q 1 vertices in which case it is just the complete graph on q 1 vertices. This recovers the result of [13]. We can also choose G to be a biregular bipartite graph with n l vertices of degree d l each in one part and n r vertices of degree d r each in the other part. Without the source s the coding capacity for a network constructed from such a graph is n l + n r n l + n r + n ld l +n rd r = + n ld l +n rd r = (9) + d n l +n av r where d av is the average degree of the graph. Here d av is not necessarily an integer and thus opens up more possibilities of coding capacities that can be achieved from this graph construction as opposed to (7) where d has to be an integer.

Example 6. Consider G to be the complete bipartite graph K 35. The sum-network G constructed from this graph has coding capacity = 8 + 3 5+5 3 3 and has 3 sources and 4 8 terminals. The approach of [13] would require 45 + ( ) 45 = 1035 sources and 1036 terminals. It can also be seen that for any specified minimum cut between source terminal pairs we can always choose an appropriate regular graph G so that the corresponding sum network has a capacity strictly smaller than one. Thus it can be inferred that any min-cut (= α b) between each sourceterminal pair can never guarantee solvability. V. CONCLUSIONS AND FUTURE WORK In this paper we have constructed a large class of sumnetworks for which we can determine the capacity. These sum-networks are in general smaller (with fewer sources and terminals) than sum-networks known to achieve the said capacity and answer a question raised in prior work. The construction of these sum-networks with the help of undirected graphs allows us to identify certain graph-theoretic properties that aid in constructing a capacity-achieving linear network code. Future work will involve analyzing these properties in greater detail and also examining whether there are other combinatorial structures that can be used to construct sumnetworks. APPENDIX Proof of Claim 1. We only need to rule out the possibility that (i j) / E Cyc but (i j) Ẽ. But this is impossible since if (i j) Ẽ we could find a shorter cycle in G than Cyc. Proof of Claim. Suppose G is a k-regular graph on b vertices. If b is even then assigning m (ij) (i) = b and m (ij)(j) = b (i j) Ẽ (10) satisfies the first two constraints. Also it satisfies the third constraint as m (ij) (i) = kb = Ẽ i Ṽ. (11) j:(ij) In G (i) If b is odd then k is even and we can construct an Euler tour [15] of G i.e. a cycle that traverses every edge in Ẽ exactly once though it may visit a vertex any number of times. Suppose we start at vertex 1 and the Euler tour is of the form [(1 j 1 ) (j 1 j )... (j f 1) (1 j f+1 )... (j F u)] (1) where f f + 1 are such that the Euler tour passes through the sequence of vertices j f 1 j f+1 and F is such that the edge (j F u) is the last edge traversed on the Euler tour. Then we can arrange the variables m (ij) (i) (i j) Ẽ as a one-to-one correspondence with (1) in the following way [m (1j1)(1) m (1j1)(j 1 ) m (j1j )(j 1 )... (13) m (jf 1)(1) m (1jf+1 )(1)... m (jf 1)(1)] Assigning consecutive terms in (13) alternately as b and b we see that for every vertex i the value assigned to m (iini)(i) is different from m (iiout)(i) where the Euler tour progresses in the order i in i i out. We can see that such an assignment satisfies the first constraint. Also since there are only two possible values we conclude that there are equal number of variables m (ij) (i) with values equal to b and b for all i Ṽ. Hence we have i Ṽ m (ij) (i) = j:(ij) In G (i) k b + k b = kb = Ẽ Next consider a biregular bipartite simple graph G with n l vertices in one part and n r vertices in the other part. Each vertex in the first part has degree d l and each vertex in the other part has degree d r. Since G is simple we must have that d l n r and d r n l. Every edge e in the graph is of the form (i l i r ) where i l is a vertex in one part while i r is a vertex in the other part. Then it is easy to see that the following assignment satisfies the constraints in CODE-FEAS-1. as l r Ṽ and e Ẽ m e (i l ) = n l m e (i r ) = n r m e (l) + m e (r) = n l + n r = b and m ei (l) = d l n l = Ẽ. e i:e i In(l) Explanation regarding Remark. We evaluate over two different finite fields the computation capacity of an example sum-network shown in Figure 6. The structure of the sum-network is better understood with the help of the following four subsets of the source nodes. A 1 = {s 1 s (1) s (13) s (14) s } (14) A = {s s (1) s (3) s } A 3 = {s 3 s (13) s (3) s (34) s } A 4 = {s 4 s (14) s (34) s }. This sum-network is a modification of the sum-network in Figure 3. Unlike Figure 6 there is no edge (s tail(e 4 )) in Figure 3. The inclusion of this edge is the only difference between those two sum-networks. Let A be the finite field alphabet which is used for communication. Claim 3. Suppose there is a (m n)-network code that allows each terminal in the example sum-network to compute the finite field sum over A of all the source messages. Let ch(a) denote the characteristic of the finite field A. Then if ch(a) = m/n 4/9 and if ch(a) m/n 4/10.

s s 1 s s 3 s 4 s (1) s (3) s (34) s (14) s (13) e 1 e e 3 e 4 The above holds for any finite field A. Now suppose ch(a). Then we can obtain a tighter bound on the ratio m/n. In particular terminal t can carry out the following operation based on the values received over {e 1 e e 3 e 4 }. T = P 1 + P + P 3 + P 4 (X (1) + X ) (X (13) + X ) (X (14) + X ) (X (3) + X ) (X (34) + X ) t 1 t t 3 t 4 t (1) t (3) t (34) t (14) t (13) t A c 1 A c A c 3 A c 4 A c A c A c A c 3 3 A c 4 A c 1 A c A c 4 1 A c 1 A c 3 Fig. 6. An example sum-network with 10 sources and 10 terminals. This sum-network is obtained by including an extra edge (s tail(e 4 )) in Figure 3. We describe the direct edges to each terminal with the help of the sets defined in Eq. (14). The direct edges to each terminal are indicated by the set shown below it where superscript c denotes the complement of the set. TABLE I THE PARTIAL SUMS OBTAINED BY CERTAIN TERMINALS AFTER THEY SUBTRACT THE MESSAGE VALUES RECEIVED OVER THE DIRECT EDGES. Terminal t 1 t t 3 t 4 Partial sum X 1 + X (1) + X (13) + X (14) + X X + X (1) + X (3) + X X 3 + X (13) + X (3) + X (34) + X X 4 + X (14) + X (34) + X Proof: Suppose there is a (m n)-network code that allows each terminal to compute Σ := X 1 + X + X 3 + X 4 + X (1) + X (13) + X (14) + X (3) + X (34) + X where the addition is over A. Then by subtracting the values of the source messages obtained over the direct edges each terminal of the form t i i {1 3 4} can obtain the sum of a subset of the source messages from the information transmitted over the edge e i. The particular partial sums recovered are listed in Table I. Let the value of the partial sum computed by the terminal t i i {1 3 4} as shown in Table I be denoted as P i. Since the terminal t (ij) for any (i j) {(1 ) (1 3) (1 4) ( 3) (3 4)} receives information from both the edges e i and e j it can carry out the following operation and obtain a partial sum. P i + P j Σ = X (ij) + X. (15) Let us consider the terminal t. It receives information from all the four bottleneck edges. Hence it can compute all the partial sums listed in Table I. It can also compute all partial sums of the form shown in Eq. (15). Note that since each X i and X (ij) are uniform i.i.d. over A m all the partial sums obtained above are linearly independent. However by the network code used the maximum number of distinct values that can be transmitted across the four bottleneck edges is ( A n ) 4. Hence we have that A 4n A 9m = m/n 4/9. = X 1 + X + X 3 + X 4 + X (1) + X (13) + X (14) + X (3) + X (34) X. Then t can recover the value of X by the operation 1 (Σ T ) where the inverse exists as 0 in a finite field A which has ch(a). Thus terminal t can obtain the values of ten linearly independent values in A m from the information received over the bottleneck edges. Hence A 4n A 10m = m/n 4/10. A. Linear network codes with rate equal to the upper bound Table II describes a linear network code for the example sum-network which has rate = 4/9 if ch(a) =. Note that each terminal t (ij) can recover the value of X (ij) + X from this network code. For instance based on Table II terminal t (13) obtains X (13) [1] + X [1] X (13) [] + X [] from the 5th 6th components of φ 1 (X) respectively; and it obtains X (13) [3] + X [3] X (13) [4] + X [4] from the 5th 6th components of φ 3 (X) respectively. The decoding function for the terminals t i i {1 3 4} is immediate. For a terminal of the form t (ij) its decoding procedure involves computing the following partial sum. X α + X α (X (ij) + X ) = X α. s α A i s α A j s α A i A j The source messages not present in the above partial sum are available to t (ij) through the direct edges and hence it can compute the required sum. We use the fact that ch(a) = in the decoding procedure for terminal t. Specifically it can carry out the operation in Eq. 16. 4 ( ) ( ) X α + X(1) + X + X(13) + X i=1 s α A i + ( ) ( ) ( ) X (14) + X + X(3) + X + X(34) + X (16) 4 = X i + 3 ( ) X (1) + X (13) + X (14) + X (3) + X (34) i=1 = Σ + 9X as 9 3 1 mod ch(a). If ch(a) then the upper bound is 4/10 and the network code used is as shown in Table III. Note that this network code has the same values for its first nine components as in the previous network code in Table II. The decoding for

TABLE II THE FUNCTION VALUES (EACH IN A WITH CH(A) = ) TRANSMITTED ACROSS e 1 e e 3 e 4 IN FIGURE 6. THIS NETWORK CODE HAS RATE = 4/9. EACH MESSAGE X 1 X X 3 X 4 X (1) X (13) X (14) X (3) X (34) X IS A VECTOR WITH 4 COMPONENTS AND φ1 (X) φ (X) φ 3 (X) φ 4 (X) ARE VECTORS WITH 9 COMPONENTS EACH. THE NUMBER INSIDE SQUARE BRACKETS ADJOINING A VECTOR INDICATES A PARTICULAR COMPONENT OF THE VECTOR. EACH TERMINAL t (ij) FOR ANY (i j) {(1 ) (1 3) (1 4) ( 3) (3 4)} CAN RECOVER THE VALUE OF X (ij) + X FROM THIS NETWORK CODE WHICH IS THEN USED IN COMPUTING THE SUM OVER A. Component φ 1 (X) φ (X) φ 3 (X) φ 4 (X) 1 to 4 X s α X α A 1 s α X α A α A e X 3 s e α A 4 5 X (13) [1] + X [1] X (1) [1] + X [1] X 13 [3] + X [3] X (14) [4] + X [4] 6 X (13) [] + X [] X (1) [] + X [] X 13 [4] + X [4] X (34) [1] + X [1] 7 X (14) [1] + X [1] X (1) [3] + X [3] X 3 [] + X [] X (34) [] + X [] 8 X (14) [] + X [] X (1) [4] + X [4] X 3 [3] + X [3] X (34) [3] + X [3] 9 X (14) [3] + X [3] X (3) [1] + X [1] X 3 [4] + X [4] X (34) [4] + X [4] TABLE III THE FUNCTION VALUES (EACH IN A WITH CH(A) ) TRANSMITTED ACROSS e 1 e e 3 e 4 IN FIGURE 6. THIS NETWORK CODE HAS RATE = 4/10. EACH MESSAGE X 1 X X 3 X 4 X (1) X (13) X (14) X (3) X (34) X IS A VECTOR WITH 4 COMPONENTS AND φ1 (X) φ (X) φ 3 (X) φ 4 (X) ARE VECTORS WITH 10 COMPONENTS EACH. THE NUMBER INSIDE SQUARE BRACKETS ADJOINING A VECTOR INDICATES A PARTICULAR COMPONENT OF THE VECTOR. EACH TERMINAL t (ij) FOR ANY i j {(1 ) (1 3) (1 4) ( 3) (3 4)} CAN RECOVER THE VALUE OF X (ij) + X FROM THIS NETWORK CODE WHICH IS THEN USED IN COMPUTING THE SUM OVER A. Component φ 1 (X) φ (X) φ 3 (X) φ 4 (X) 1 to 4 X s α X α A 1 s α X α A α A e X 3 s e α A 4 5 X (13) [1] + X [1] X (1) [1] + X [1] X 13 [3] + X [3] X (14) [4] + X [4] 6 X (13) [] + X [] X (1) [] + X [] X 13 [4] + X [4] X (34) [1] + X [1] 7 X (14) [1] + X [1] X (1) [3] + X [3] X 3 [] + X [] X (34) [] + X [] 8 X (14) [] + X [] X (1) [4] + X [4] X 3 [3] + X [3] X (34) [3] + X [3] 9 X (14) [3] + X [3] X (3) [1] + X [1] X 3 [4] + X [4] X (34) [4] + X [4] 10 X [1] X [] X [3] X [4] all terminals except t is the same as in the previous case. However the decoding procedure for terminal t has to be different as the operation done in Eq. 16 does not return the value Σ as both coefficients 3 9 are not equal to 1 when ch(a). From Table III the 10th component transmitted along each bottleneck edge is a distinct component of the source message X. Since the terminal t receives information from each bottleneck edge it can thus obtain the value of X. Since t can also find the value of X (ij) + X based on the network code it can recover the value of the message X (ij). Thus all the summands in s α A i X α except X i are known to t for all i {1 3 4}; moreover it knows the value of the sum s α A i X α from the first four components of the network code. Thus t can obtain the value of each source message using the network code and thus can compute the required sum. REFERENCES [1] R. Appuswamy M. Franceschetti N. Karamchandani and K. Zeger Network coding for computing: Cut-set bounds IEEE Trans. on Info. Th. vol. 57 no. pp. 1015 1030 Feb 011. [] Linear codes target function classes and network computing capacity IEEE Trans. on Info. Th. vol. 59 no. 9 pp. 5741 5753 Sept 013. [3] A. Ramamoorthy and M. Langberg Communicating the sum of sources over a network IEEE J. Select. Areas Comm. vol. 31(4) pp. 655 665 013. [4] B. K. Rai and B. K. Dey On network coding for sum-networks IEEE Trans. on Info. Th. vol. 58 no. 1 pp. 50 63 01. [5] S. Huang and A. Ramamoorthy On the multiple unicast capacity of 3-source 3-terminal directed acyclic networks IEEE/ACM Trans. on Networking vol. (1) pp. 85 99 014. [6] An achievable region for the double unicast problem based on a minimum cut analysis IEEE Trans. on Comm. vol. 61(7) pp. 890 899 013. [7] J. Korner and K. Marton How to encode the modulo- sum of binary sources IEEE Trans. on Info. Th. vol. 5 no. pp. 19 1 1979. [8] A. Orlitsky and J. R. Roche Coding for computing IEEE Trans. on Info. Th. vol. 47 no. 3 pp. 903 917 001. [9] V. Doshi D. Shah M. Médard and S. Jaggi Distributed Functional Compression through Graph Coloring in Data Compression Conference 007 pp. 93 10. [10] A. Ramamoorthy Communicating the sum of sources over a network in IEEE Intl. Symposium on Info. Th. 008 pp. 1646 1650. [11] S. Shenvi and B. K. Dey A Necessary and Sufficient Condition for Solvability of a 3s/3t sum-network in IEEE Intl. Symposium on Info. Th. 010 pp. 1858 186. [1] B. K. Rai and N. Das On the capacity of ms/3t and 3s/nt sumnetworks in IEEE Information Theory Workshop (ITW) 013 pp. 1 5. [13] On the capacity of sum-networks in 013 51st Annual Allerton Conference on Communication Control and Computing 013 pp. 1545 155. [14] A. Tripathy and A. Ramamoorthy Capacity of sum-networks for different message alphabets in IEEE Intl. Symposium on Info. Th. June 015 pp. 606 610. [15] R. Diestel Graph Theory 4th Edition. Springer 01.