可以将数据压缩到小于Shannon数据压缩限制的大小吗?


17

我正在阅读有关数据压缩算法和数据压缩的理论限制。最近,我遇到了一种称为“组合熵编码”的压缩方法,该方法的主要思想是将文件编码为文件中显示的字符,它们的频率以及文件代表的这些字符排列的索引。

这些文档可能有助于解释此方法:

https://arxiv.org/pdf/1703.08127

http://www-video.eecs.berkeley.edu/papers/vdai/dcc2003.pdf

https://www.thinkmind.org/download.php?articleid=ctrq_2014_2_10_70019

但是,在第一个文档中,我读到了通过使用这种方法,他们可以将某些文本压缩到小于Shannon限制(他们没有考虑节省字符频率所需的空间和节省元数据所需的空间。文件的数据)。我考虑了一下,发现这种方法对很小的文件不是很有效,但另一方面,它对于大文件可能很好用。实际上,我对这个算法或Shannon限制并不十分了解,我只知道它是每个字符的概率之和乘以概率的倒数的log2

所以我有一些问题:

  1. 这种压缩方法是否真的将文件压缩到小于Shannon限制?

  2. 是否有任何压缩算法将文件压缩到小于Shannon限制(据我所知,对这个问题的回答是“否”)?

  3. 是否存在将文件压缩到小于Shannon限制的压缩方法?

  4. 如果组合编码确实压缩了超出Shannon限制的文件,难道不能一次又一次地压缩文件,直到达到所需的文件大小?


26
香农证明您不能压缩到香农极限以下。
Yuval Filmus

11
您可以通过有损压缩低于Shannon限制。香农只表明你不能压缩到限制以下而不会丢失信息。@YuvalFilmus。就像在RGB图像上一样,您可以丢弃R,G,B分量的低位。
smci


6
@smci在有关压缩理论的任何讨论中,这基本上都是无关紧要的。显然,我可以扔掉每一点并称之为压缩。
管道

1
假设我有一个大文件,例如图片。现在在模型中,我将整个图像映射到“ 1”公顷。.我已经压缩到香农极限以下,因为整个图像被压缩为“ 1”……
Pieter B

Answers:


34

实际上,我对这个算法或Shannon限制并不十分了解,我只知道它是每个字符的概率之和乘以概率倒数的log2。

关键就在这里。香农限制不是文本字符串的某些通用属性。它是文本字符串的属性,再加上提供(可能取决于上下文)符号概率的模型。它告诉我们,假设模型是正确的,该模型可以如何压缩文本

如果使用一个模型来计算Shannon限制,然后使用另一个模型来压缩,则如果第二个模型更准确,则可以超过您已经计算出的原始Shannon限制,但这并没有太大关系。


4
举一个实际的例子,如果您知道数据由重复N次的单个字母组成,则可以实现任意大的压缩率(即从100亿个“ a”变为元组('a',10000000))
Ant

12

可以很简单地证明您可以在Shannon限制以下进行压缩-选择作弊的压缩器,该压缩器具有一堆分配给令牌的通用文件。所述文件被存储为那些令牌。(显然,压缩机必须是非常大的,或在一个非常大的库来绘制。)

但是,压缩器在本质上将无法有效处理库中未包含的任何文件,因为它必须以某种方式将令牌与常规压缩区分开。

您无法执行的压缩器超过了所有文件的Shannon限制。


11

您首先将模型应用于数据,计算概率序列,例如 1个/21个/31个/6。然后,以概率对每个符号进行编码p, 你需要 ØG21个/p位。在给定某些特定模型的情况下,您无法比该特定模型产生的概率的香农熵更好地压缩数据。

但是,如果您应用其他模型,则将获得另一个概率序列。Fe字母“ u”非常少见,因此它在整个文本中的概率可能是3%,这是您必须使用零阶马尔可夫模型分配给该字母的概率

但是在英文文本中,“ q”之后通常是“ u”,因此使用1阶模型,可以为“ u”后面的“ q”分配更高的概率,从而提高了压缩率。

此外,某些模型输出的符号少于输入的符号,fe LZ77用反向引用替换文本重复,因此“ abababab”变成“ ab [2,8]”。

当某人谈论某些数据的香农熵而不是由特定模型压缩的数据时,她通常是指由零阶模型产生的香农熵,即为每个符号分配其在整个文本中的概率。显然,您可以通过对数据应用更复杂的模型来超越此界限。


3

文本的另一种可能解释:给定的压缩算法将为您更好地压缩某些文本,而对其他文本进行更差的压缩。但是,用户通常比其他文件(真正的随机数表,为了减少重复而选择的无意义的噪声)更关心某些文件(英语的HTML页面,80386机器代码)。任何压缩方案都将在压缩实际数据方面更好,而在压缩某些其他种类的字符串方面则无济于事。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.