形式陈述
发送者知道 条消息 ,每个消息组合都允许出现。接收者 要恢复 ,并预先知道索引集 中的消息。索引编码寻找最短的定长公共广播:编码函数公理库函数Function · Map · Mapping由定义域、陪域和单值图共同组成,并把每个输入送到唯一输出的映射。 给出 ,使每个接收者从 恢复 ,并最小化域符号数 。
本页先取每条消息为一个有限域公理库有限域Finite field · Galois field底层集合有限的域。符号并要求零错误。用有向图公理库有向图Directed graph · Digraph以顶点有序对为弧、能够保留连接方向的有限简单图结构。表示边信息,约定 表示接收者 已知 。与一般源编码公理库信源码Source code以码字表示信源符号或符号块,并区分单射、串联唯一可译与前缀结构。不同,压缩收益来自译码者各自持有的边信息,而非假定源消息相关。
标量线性码广播 。若存在拟合矩阵 满足 、当 时 ,且各行都在 的行空间中,则接收者可算出 ,再减去已知项得到 。最小标量线性长度等于所有拟合矩阵的最小秩公理库线性映射的秩Rank of a linear map · Matrix rank线性映射像空间的维数,表示其保留下来的独立输出方向数。。
直觉
同一个 XOR 对不同接收者有不同用途。知道 的人可以从 取回 ,知道 的人则取回 。公共广播不必把每条消息逐条重发,只需让每个人结合已有信息完成自己的解码。
最小秩刻画只覆盖指定域上的标量线性码。把消息拆成长向量、改用另一有限域或允许非线性编码,最短长度可能改变。
例子与边界
三个接收者构成有向环
令 ,消息是 bit。广播两位
即可。接收者 1 用 ;接收者 2 用 ;接收者 3 先由 求 ,再由 求 。
若 ,广播 ,三人依次恢复 。两个广播比直接发送三位节省一位,却不能缩成一位。
证明下界时,向一个联合译码者额外给 。它可模仿接收者 2 从广播恢复 ,再模仿接收者 1 恢复 。因 是两个独立均匀 bit,给定 后广播仍须区分四种可能,故至少长两位。这个下界连非线性码也适用,所以本例两位确实最优。
边信息的方向不能反读
在上例,箭头 表示 1 已经知道 2 的消息,而非需要把 1 的消息发往 2。画图前固定约定,可以避免把一张网络路由图误当成边信息图。
如果人人已知除自己外的全部消息,二元消息的一次总 XOR 就够(一般域取所有消息之和);如果人人没有边信息,公共广播必须包含全部独立消息的信息量,无法凭编码无条件缩短。
推论与应用
缓存更新是自然场景:客户端已有不同旧数据,服务器通过公共广播补齐缺失块。设计时应先列出每个接收者真实拥有的内容,再检查逐个解码等式。仅展示一个低秩矩阵而未核对哪些项为已知,可能让译码器用上它实际上没有的数据。
参考资料