Skip to content

Kraft–McMillan 不等式

Kraft–McMillan inequality

刻画给定码长集合存在前缀码或唯一可译码的必要充分不等式。

条目类型
定理

形式陈述

设码字母表大小为 D2,码长 1,,m 为正整数。

  • Kraft 必要性:任意 D前缀码都满足

    K=i=1mDi1.
  • Kraft 充分性:若一组正整数满足 K1,则存在一个恰以这些整数为码长的 D 元前缀码。

  • McMillan 必要性:任意 D 元唯一可译码的码长也满足同一个不等式。

因此,在只问“这组整数长度能否由某个唯一可译码实现”时,允许一般唯一可译码并不会扩大可行长度集合:满足不等式时总能选择更便于译码的前缀码。

直觉

在无限 D 叉树中,深度 的一个码字封锁其全部后代,占据总边界空间的 D。前缀码对应互不相交的子树,所以占用比例之和不能超过一。反过来,只要总占用不超过一,就能按长度从短到长把这些子树塞进尚未使用的树空间。

这个不等式只看到长度多重集,看不到具体码符号,也看不到哪个源符号获得哪一长度。可行性与概率加权的最优分配是两个不同问题。

前缀码部分的证明机制

L=maxii。把每个长度 i 的码字延伸到深度 L,会得到 DLi 个后代。前缀自由使这些后代集合互不相交,而深度 L 总共只有 DL 个节点,因此

iDLiDL.

两边除以 DL 即得 Kraft 不等式。充分性可把长度排序后按字典序依次选择最左侧尚未被占用的节点;K1 保证每一步都有足够的树空间。

McMillan 部分的证明机制

K=iDi。串联 N 个源符号后,全部长度权重之和是 KN。唯一可译性保证不同源串产生不同码串;若最短、最长码长为 a,b,总长度只能落在 Na,ldots,Nb。对每个总长度 r,至多有 Dr 个不同码串,故该组对 KN 的贡献至多为 DrDr=1。于是

KNN(ba)+1.

N 次方根并令 N,得到 K1

例子与边界

可复算例:可行与不可行长度

二元长度 (1,2,3,3) 满足

21+22+23+23=1,

可由 0,10,110,111 实现。长度 (1,2,2,2) 则给

21+322=54>1,

所以不存在具有这些长度的二元前缀码,甚至不存在唯一可译码。

边界与失败情形

K<1 仍可行,只表示码树未满;K=1 也不说明码对给定概率分布最优。对 D 元代码必须使用 Di,不能沿用二元的 2i

允许长度零时,空码字占用 D0=1 的全部容量,因此只能有这一个码字;这对应单符号源。码长还必须是整数,实数解 i=logDpi 即使满足形式上的等式,也未必是实际逐符号码长。

推论与应用

把 Kraft 约束与概率 pi 结合,令 qi=Di/K,可用 KL 非负性证明任意唯一可译码的平均长度满足

ipiiHD(P).

Huffman 编码在整数可行长度中求精确的逐符号最优解;无噪声编码定理则对长块应用同一约束,把每符号整数舍入损失压到零。

参考资料
  • Leon G. Kraft, “A Device for Quantizing, Grouping, and Coding Amplitude-Modulated Pulses,” M.S. thesis, MIT, 1949.
  • Brockway McMillan, “Two Inequalities Implied by Unique Decipherability,” IRE Transactions on Information Theory 2(4), 1956, pp. 115–116.
  • Thomas M. Cover and Joy A. Thomas, Elements of Information Theory, 2nd ed., Wiley, 2006, §§5.2–5.4.
关系图谱4 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

被这些条目使用