Compression 对一个文件重复应用不同的压缩算法是否有效?

Compression 对一个文件重复应用不同的压缩算法是否有效?,compression,computer-science,theory,Compression,Computer Science,Theory,我知道反复应用一种算法是不可能无限压缩文件的 但是,无论文件的结构是什么,通过反复应用不同的算法是否可以继续压缩文件?可以,但这没有任何区别。大多数压缩算法都是基于减少冗余来运行的,但是有些算法效率更高,因此速度较慢 现在,当您应用第一种算法时,它会减少这些冗余,因此应用第二种算法并没有多大区别 查看更多信息。您可以,但这没有任何区别。大多数压缩算法都是基于减少冗余来运行的,但是有些算法效率更高,因此速度较慢 现在,当您应用第一种算法时,它会减少这些冗余,因此应用第二种算法并没有多大区别 查看更

我知道反复应用一种算法是不可能无限压缩文件的


但是,无论文件的结构是什么,通过反复应用不同的算法是否可以继续压缩文件?

可以,但这没有任何区别。大多数压缩算法都是基于减少冗余来运行的,但是有些算法效率更高,因此速度较慢

现在,当您应用第一种算法时,它会减少这些冗余,因此应用第二种算法并没有多大区别


查看更多信息。

您可以,但这没有任何区别。大多数压缩算法都是基于减少冗余来运行的,但是有些算法效率更高,因此速度较慢

现在,当您应用第一种算法时,它会减少这些冗余,因此应用第二种算法并没有多大区别

查看更多信息。

否。
我们用来“加权”文件的单位是字节。
字节只是更基本的单位位的倍数

虽然“位”一词来自“二进制数字”,但它实际上是一个测量单位,就像米、焦耳、秒等等。
比特测量可测量的最小信息量,就像e是最小的电荷一样。
当我们说一个文件有大小为2的MiB时,我们是说有220+3=8.388.608位信息

现在,如果你想爬上一座20米高、体重50公斤的小山,你至少需要E=mgh=50·9.81·20=9810 J.
无论你做什么,你至少需要那种能量,否则你就得不到它。
此外,您还可以获得更多的能量,最小能量为9810 J

同样的道理也适用于信息。一个文件包含一条消息,该消息至少需要X位信息才能被清楚地理解。
大多数文件包含的信息超过了最小数量,因为文件易于处理。
这就像一个人用英语说“我要出去”和“出去”一样。两者都给出了相同的信息,但其中一个更容易处理,而且时间更长

因此,我们可以直观地删除文件的冗余,从而减小其大小,直到达到最小X。
在达到最小值后继续删除位意味着删除有用信息,从而阻止恢复原始文件(读取:解压缩)。
这实际上是通过有损算法实现的,例如MP3、JPEG等

字符串不能无限压缩的直觉很容易被证明。
我们遵循Sipser计算理论导论第6.4章的方法

我们用这种方式给字符串S赋权:我们考虑所有的算法A,当处理一个新的字符串MA输出时,BR> 我们将每个A和Ma编码为一个字符串,并将K(s)设置为该字符串中最短的长度。
K(s)称为s的最小描述符,表示生成s所需的最小信息

如果K(s)小于长度s,则称s可压缩。
我们现在证明存在不可压缩的字符串

假设s的长度为n。有2n个这样的字符串。
如果s是可压缩的,那么它的最小长度描述符最多为n-1。
有1+2+4+8+…+2n-1=2n-1这样的描述符。
由于每个描述符都唯一地定义一个字符串,并且描述符的数量少于长度为n的字符串,因此某些长度为n的字符串是不可压缩的。
由任意长度的n个不可压缩字符串组成

简而言之,如果我们继续压缩,最终会得到一个不可压缩的文件。 实际上,一个好的压缩算法应该在第一步消除大部分冗余,而不添加大量信息。
这就是为什么压缩jpeg(一种已经压缩的格式)不会产生与压缩文本文件相同的结果。 这也解释了为什么加密文件,看起来是随机的,没有任何冗余,不能很好地压缩


1我们这里只讨论简单的牛顿物理学。

不。
我们用来“加权”文件的单位是字节。
字节只是更基本的单位位的倍数

虽然“位”一词来自“二进制数字”,但它实际上是一个测量单位,就像米、焦耳、秒等等。
比特测量可测量的最小信息量,就像e是最小的电荷一样。
当我们说一个文件有大小为2的MiB时,我们是说有220+3=8.388.608位信息

现在,如果你想爬上一座20米高、体重50公斤的小山,你至少需要E=mgh=50·9.81·20=9810 J.
无论你做什么,你至少需要那种能量,否则你就得不到它。
此外,您还可以获得更多的能量,最小能量为9810 J

同样的道理也适用于信息。一个文件包含一条消息,该消息至少需要X位信息才能被清楚地理解。
大多数文件包含的信息超过了最小数量,因为文件易于处理。
这就像一个人用英语说“我要出去”和“出去”一样。两者都给出了相同的信息,但其中一个更容易处理,而且时间更长

因此,我们可以直观地删除文件的冗余,从而减小其大小,直到达到最小X。
在达到最小值后继续删除位意味着删除有用信息,从而阻止恢复原始文件(读取:解压缩)。
这实际上是通过有损算法实现的,例如MP3、JPEG等

字符串不能无限压缩的直觉很容易被证明。
我们遵循理论导论第6.4章的方法