【发布时间】:2015-09-18 14:23:36
【问题描述】:
我对两个符号的字母表的最小描述长度的解释感到困惑。
更具体地说,假设我们要编码一个二进制字符串,其中 1 的出现概率为 0.80;例如,这是一个长度为 40 的字符串,有 32 个 1 和 8 个 0:
1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1
按照标准的 MDL 分析,我们可以使用前缀码(如 Huffman 的)对该字符串进行编码,该字符串的编码码为 (-log(0.8) * 32 - log(0.2) * 8),低于在没有任何编码的情况下复制字符串。
直观地说,编码这个字符串比 1 和 0 以相等概率出现的某个字符串“更便宜”。但是,在实践中,我不明白为什么会这样。至少,我们需要一位来区分 1 和 0。我看不出前缀代码如何比只编写不编码的二进制字符串做得更好。
有人可以帮我澄清一下吗?
【问题讨论】:
标签: compression huffman-code information-theory