网络信息流
对于网络编码理论的介绍通常是从著名的“最大流最小割”定理开始。
定理1.1:在网络流图中,源节点向收点发送信息,其流量的最大值等于所有 与之间割容量的最小值,即:
Ford-fulkerson标号法对上面的定理进行了证明,在实际使用中,我们并不需要关心其证明过程,直接拿来使用即可。如果没有学习过图论相关知识,一时肯定无法理解该定理。建议自行搜集关于“最大流最小割”定理的资料进行学习。
上述最大流最小割定理探讨的是单个源节点与汇聚节点之间的最大速率问题,即面向的是单播网络。而当网络中有多个目的节点时,源节点能否同时为这些汇聚节点提供最大流的速度则是网络编码所讨论的问题,以经典的蝴蝶模型为例。

在上图中,源节点到目标节点的最大流均为2,而节点有两个输入链路,却只有一个输出链路,这成为了网络的瓶颈,使得节点无法同时达到网络的最大流。这一问题在引入网络编码后得到解决。如上图所示,在中间节点对数据流和进行异或运算后,使得节点和能够同时以2的速率接收数据。
在后续的研究中,网络编码被证明能够使网络的通信速率达到网络的组播容量,组播容量被定义为从源节点到不同的汇聚节点的最大流中的最小的一个。在这一速率水平的网络编码方案可以通过随机或确定的算法获得,关于网络编码领域的研究,大部分是为了达到这一组播速率。
近年来,一些研究人员提出采用多速率网络编码来进一步提高网络的吞吐量。多速率网络编码主要面向异构的网络,这种网络中源节点到目的节点的接收速率不同。 设计网络编码方案的目标变成如何使得网络中的节点的接收速率总和达到最大。这一速率在数值上通常要比传统的网络编码的速率要大。如下图2所示,网络中有1个源节点,4个汇聚节点。图3为对应的邻接矩阵。


当为网络中的4个汇聚节点分别采用Ford-Fulkerson方法对邻接矩阵进行标记时,在搜索增广矩阵时采用Edmonds_Karp算法,得到的网络的最大流分别为4,2,3,3. 此时网络编码设计的目标是通过指派网络码字使得这些目标节点均能以较大的速率接收。如果采用传统的网络编码,那么网络的速率将被统一设置为网络的组播容量,即所有接收节点均以2的速率接收。这样一来,传统的网络编码的整体速率便较低。这促进了后续研究人员关于多速率网络编码的研究,显然多速率网络编码技术相比传统的单速率网络编码能进一步地提高网络的吞吐量。
从理论上来讲,使得每个接收节点都达到最大流的组播方案不见得存在,这样的方案是否存在很大程度上依赖于具体的网络拓扑结构。因此,此类研究的目的是提出较快的算法设计出尽可能快的传输方案。能达到这一速率时尽量达到,如果不能,牺牲部分带宽,力图使网络的整体吞吐量仍然保持在一个较高的水平上。
这节的介绍的就是网络编码的提出背景。关于“最大流最小流”,ford-fulkerson算法,可以自己搜索资料学习。
后续会补充一些文献,介绍网络编码的发展历史。