【问题标题】:Huffman minimum variance coding霍夫曼最小方差编码
【发布时间】:2013-02-03 21:40:04
【问题描述】:

众所周知,具有最小方差的霍夫曼代码更可取。 我已经浏览了整个波兰语/英语互联网,这就是我发现的: 要构建具有最小方差的霍夫曼代码,您需要使用以下方法之一打破联系(当然节点的概率是最重要的):

  • 选择代表最短树的节点
  • 选择最早创建的节点(将叶子视为在开始时创建的)。

问题是,我找不到任何这些方法正确性的证据。 有人可以证明这些吗?

我很乐意澄清任何事情。

【问题讨论】:

  • 如果您想进行数学证明,您可能想在 math.stackexchange.com 或 cs.stackexchange.com 上询问。
  • 我不知道我是否做对了,但我将问题复制到了 math.stackexchange.com。感谢您的建议!
  • 霍夫曼码是最小化熵的代码,即每个符号的位数。如果几个符号具有相同的概率,那么如何解决这种平局在代码效率方面没有任何区别。霍夫曼在他的原始论文中提到了这一点。然而,重要的是编码器和解码器坚持相同的平局解析策略。我没有严格的“证据”,但是是什么让您怀疑打破平局规则会影响最终的比特率?
  • 霍夫曼代码最优性的一般证明在这里:cse.ust.hk/faculty/golin/COMP271Sp03/Notes/MyL17.pdf
  • 你说的不对。举个例子,你想通过网络(带宽 3kbit/s)发送编码字符串并实时解码。确实,在要发送的平均位数方面如何打破平局并不重要。但是,它确实改变了代码长度的变化,所以如果你的平均值是 2.2kbit/s 但你的方差很高,那么你最终可以发送 1kbit/s(而不是使用所有可用带宽)或 4kbit/s(带宽将成为瓶颈)。因此,打破关系方法确实很重要,因为它可以降低方差。

标签: algorithm compression proof huffman-code


【解决方案1】:

有些系统的约束比 “当出现平局时,做出使树的最大深度最小化的选择”—— 他们对树的最大深度设置了硬性限制 (length-limited, also called minimum variance Huffman coding):

我的理解是人们已经开发了几个heuristic algorithms for limiting Huffman codeword lengths 可以正常工作,但是heuristics don't always give exactly the best possible compression

一些人提到“最优长度限制霍夫曼码”,显然存在不止一种算法来找到它们:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    相关资源
    最近更新 更多