形式陈述
给定有限、单位容量的有向无环网络公理库有向无环图Directed acyclic graph · DAG不含有向环的有向图。,每条边每次传一个有限域公理库有限域Finite field · Galois field底层集合有限的域。 符号。指定源 和非空终点集 。源持有 个符号 ,若源的每条输出边取其持有的这 个源符号的线性组合,而每个非源节点的输出边取其输入边值的线性组合,称为线性网络码。
沿拓扑顺序展开后,每条边都携带 , 称为全局编码向量。这些组合构成从源向量到接收向量的线性映射公理库线性映射Linear map · Linear transformation保持向量加法和标量乘法的函数。。终点 的接收向量为
它可恢复全部源符号,当且仅当 。同一消息多播到所有终点时,只要每个源到终点的最小割至少为 ,在足够大的有限域上存在同时使所有 满秩的线性码。
定理针对单源多播。多个相互独立源分别要送往不同终点时,线性码并不总能达到全部可达率。
直觉
普通路由要求一个包保持原样穿过网络。编码节点可以把多个包混在一起;只要不同接收者手头已有不同的辅助信息,同一个混合包就能为他们分别补齐不同缺口。
全局编码向量记录“这个包到底是哪几个源包的什么组合”。节点不必理解源数据的语义,只需对向量与负载实施同样的线性运算。
例子与边界
蝴蝶网络的一个 XOR
源将 分别送到上、下分支。上分支把 送给终点 并送到中央节点;下分支把 送给 并送到中央节点。中央瓶颈只能传一个 bit,发送 ,再分送两终点。
得到 ,计算 ; 得到 ,计算 。例如 时 ,前者算出 ,后者算出 。两个接收矩阵分别为
都在 上可逆。若中央只原样转发 , 仍缺 ;只转发 , 仍缺 。XOR 用同一个瓶颈符号同时服务两种缺口。
解码条件是秩,不是包数
收到 个包不代表有 份独立信息。例如两包编码向量都是 ,接收矩阵只有秩一,无论重复多少次都不能区分 与 。满秩条件才是正确的验收标准。
推论与应用
实现时先为源包标注标准基向量,节点按拓扑顺序计算局部线性组合,终点用精确行化简公理库行化简Row reduction用初等行变换把矩阵化为阶梯形以求解线性方程组和判定秩。对编码向量矩阵作消元,再将相同消元作用于负载。每一步保持不变量“负载等于编码向量作用于原始数据”。若每包有 个域符号, 包的朴素消元约用 次域运算。
确定性存在性证明把各终点某个 阶子式看作局部编码系数的多项式。单位容量的最大流最小割及整数性公理库最大流最小割定理Max-flow min-cut theorem以净跨割恒等式和残量可达集证明最大流等于最小割,并给出独立可检查的最优性证书。为每个终点给出 条边不交源汇路。对单个终点,沿这些路径选路由系数便使一个接收子式为 ,因此该子式多项式在所用域上不恒为零;各终点的非零子式相乘仍非零。在足够大的域中可同时避开它们的零点。随机线性网络编码公理库随机线性网络编码Random linear network coding · RLNC通过随机选择局部有限域系数构造多播码,并用满秩概率与多项式零点界量化失败风险。进一步直接随机选择这些系数,用非零多项式的零点概率控制失败。
参考资料