• No results found

The reference [4] has discovered that the min-cut max-flow theorem [78] in graph theory also holds in the context of network coding, as a network coding problem can be interrelated by a graph. The min-cut max-flow theorem specifically for network coding, which is called the Main Network Coding Theorem[4], is stated as follows.

Theorem 1 (Main Network Coding Theorem [4]). Consider a directed acyclic graph with unit capacity edges, H unit rate sources located on the same vertex of the graph and M sink nodes. Assume that the value of the min-cut to each sink node is H. Then there exists a multicast transmission scheme over a large enough finite field FQwith a number of Q elements, in which

intermediate network nodes linearly combine their incoming information symbols over FQ, that

delivers the information from the sources simultaneously to each receiver at a rate equaling H. This theorem implies that the maximum achievable rate of a network is determined by a cut between the source node and the receiver with the minimal capacity. This theorem also implies that for a rate that is less or equal to the maximum achievable rate of a network, there exists a linear network coding scheme for the network.

By contrast, for the network configurations where the network coding min-cut max-flow theorem [4] does not stand, it has been recognized [4, 79] that there are no solutions when con- sidering linear network coding. However, in this case, there might be coding solutions based on vector-linear network coding or non-linear network coding, when we loosen the constraints on the network coding [75]. Moreover, network coding may benefit from alphabet size reduction, when using the vector-linear network coding or non-linear network coding, instead of linear net- work coding [76]. Note that the alphabet of a coding scheme is a set, such as ΣΣΣ, of symbols used to encode the information to be transmitted. The size of the alphabet is the number of symbols contained in the set ΣΣΣ, which is an important parameter of a network coding scheme. Generally, the coding complexity increases, as the alphabet size increases.

In more detail, it has been proved in [41] that, when the size of the alphabet is sufficiently large, there always exists at least one linear network coding solution for a given network coding problem. However, when the alphabet size becomes large, some practical issues need to be considered. Firstly, when binary signalling is used for transmission, transmitting a symbol taken from a large alphabet size needs more time than transmitting a symbol chosen from a smaller alphabet size. In this case, when a network coding is based on an large size alphabet, a sink node may have to wait for a long time before it starts decoding a message. Consequently, the network latency may become high. Secondly, when a node computes the values of functions over a large alphabet size, it may need a lot of memory in order to store the symbols received from its incoming edges. Thirdly, a smaller size alphabet may reduce the complexity of edge functions. Finally, when using a large alphabet size, a network failure during transmission of a symbol may cause the loss of many data bits.

Therefore, as long as a network coding solution can be obtained, a smaller alphabet size is preferred, in order to reduce the complexity and increase the reliability of the network. It has been proved in [80] that, in the context of network coding for a multicast network, the minimum necessary alphabet size isO(√M) and it is a tight bound, where M is the number of sink nodes. However, an alphabet size ofO(√M) is not generally sufficient, it is only sufficient for a certain type of networks, as constructed in [80]. Furthermore, it has been recognized that determining the smallest alphabet size for network coding is Nondeterministic Polynomial-time Hard (NP-Hard) [75, 76].

Once a proper alphabet is determined, network codes can be designed. In literature, the approaches for systematically designing vector-linear and non-linear network coding schemes are unavailable. However, there are a range of algorithms [50, 58, 81], that can be invoked for design of linear network codes. Specifically, the common steps for designing linear network codes for networks with H source nodes and M sink nodes can be generally described as follows: 1) For every sink node, find a number of H edge-disjoint paths connecting the H source

nodes to this sink node.

2) Identify the coding points in the network.

To be more specific, the algorithms for finding linear network codes may be categorized into centralized and decentralized algorithms. The design of centralized algorithms requires global information of the entire network, while the design of the decentralized algorithms is not depen- dent on the global information of the entire network considered. In [50], a centralized greedy algorithm called Linear Information Flow (LIF) algorithm has been employed to search for so- lutions of linear network codes. While in [81], a decentralized algorithm has been proposed,

which finds effective linear network coding schemes by linearly and randomly combining the inputs of a node. After the combining, the result is sent out. It has been shown in [81] that there is a high probability to find good linear network codes based on this design approach, es- pecially, when the alphabet size is sufficiently large. Note that, both the algorithm in [50] and the algorithm in [81] assume acyclic networks.

Related documents