Algorithm 有没有不基于模式的数据压缩算法?

Algorithm 有没有不基于模式的数据压缩算法?,algorithm,computer-science,data-compression,Algorithm,Computer Science,Data Compression,大多数数据压缩算法都基于“模式”。但我正在寻找一种不基于“模式”的数据压缩算法。你的问题的答案几乎是“不”。推理很复杂,但我会尽力解释: 定义“(无损)数据压缩算法”的最简单方法是将一个字节序列以可逆方式转换为一个新的字节序列,这样新的字节序列通常比原始的短 “通常”一词就在这里,因为没有任何算法可以压缩所有可能的文件。因为压缩必须是可逆的,所以每个不同的输入文件必须映射到不同的输出文件。对于任何给定的长度N,只有这么多长度N或更少的文件。因此,如果压缩器将长度大于N的任何输入文件映射到长度小于

大多数数据压缩算法都基于“模式”。但我正在寻找一种不基于“模式”的数据压缩算法。

你的问题的答案几乎是“不”。推理很复杂,但我会尽力解释:

定义“(无损)数据压缩算法”的最简单方法是将一个字节序列以可逆方式转换为一个新的字节序列,这样新的字节序列通常比原始的短

“通常”一词就在这里,因为没有任何算法可以压缩所有可能的文件。因为压缩必须是可逆的,所以每个不同的输入文件必须映射到不同的输出文件。对于任何给定的长度N,只有这么多长度N或更少的文件。因此,如果压缩器将长度大于N的任何输入文件映射到长度小于等于N字节的输出文件,那么它还必须将较短的文件映射到长度大于N的文件,因为可能的较短输出不足以将它们全部压缩

因此,最好的压缩算法是文件的排列。它不能压缩每个文件。它不能压缩“随机”文件,因为排列的输出仍然是随机的

因为“这些压缩器怎么可能工作?”它们通过将最可能的输入文件分配给最短的输出文件来工作,因此平均而言,输出将比输入短。这就像它有一个很大的列表,按概率顺序列出所有文件,它只是按照长度顺序匹配所有文件的列表

为了做到这一点,压缩器需要有一些文件更可能被使用的模型。基于LZ的压缩器基本上假设我们在现实生活中使用的文件往往具有比随机数据更多的重复字符串。因此,与没有重复的文件相比,具有更多重复字符串的输入文件被分配给更短的输出文件。哈夫曼和算术压缩器假设文件往往具有输入符号的倾斜分布


因此,每个压缩器本质上都有一个概率模型——一个它希望文件更经常匹配的模式。与模式匹配的文件压缩效果很好,与模式不匹配的文件压缩效果也很好。

如果没有更多的解释,我无法理解您的问题。