Compression 是否可以创建一个使用大量(100GB?)伪随机查找文件的压缩算法?

Compression 是否可以创建一个使用大量(100GB?)伪随机查找文件的压缩算法?,compression,Compression,创建一个压缩算法,将文件分割成块,然后将这些块与一个巨大的(100GB?、200GB?)伪随机文件进行比较,这是否可行 生成的“压缩”文件将包含偏移量和长度的有序列表。使用该算法的每个人都需要相同的巨大文件来压缩/解压缩文件 这样行吗?我想其他人以前也想过并尝试过,但这对谷歌来说是个难题。这是一个常见的技巧,被许多压缩“claimers”使用,他们经常宣布“革命性”的压缩比,达到荒谬的水平 显然,诀窍取决于参考词典中的内容 如果像建议的那样,这样一本字典只是“随机的”,那么它是无用的。简单的数学

创建一个压缩算法,将文件分割成块,然后将这些块与一个巨大的(100GB?、200GB?)伪随机文件进行比较,这是否可行

生成的“压缩”文件将包含偏移量和长度的有序列表。使用该算法的每个人都需要相同的巨大文件来压缩/解压缩文件


这样行吗?我想其他人以前也想过并尝试过,但这对谷歌来说是个难题。

这是一个常见的技巧,被许多压缩“claimers”使用,他们经常宣布“革命性”的压缩比,达到荒谬的水平

显然,诀窍取决于参考词典中的内容

如果像建议的那样,这样一本字典只是“随机的”,那么它是无用的。简单的数学计算将表明,平均而言,偏移成本与它引用的数据一样高

但是,如果字典碰巧包含了大部分或整个输入文件,那么它将“神奇地”压缩为一个引用或一系列引用

这种技巧被称为“隐藏熵”。Matt Mahoney编写了一个简单的程序()来演示这项技术,甚至可以将任何内容减少到1字节


解决这个问题的办法是,比较练习应该始终包括压缩数据、解压缩程序和它使用的任何外部字典。当所有这些元素都被计算在方程中时,就不可能再“隐藏”熵了。作弊被揭穿了……

青色是正确的。更重要的是:你不需要有这样的文件。您可以确定地生成相同的伪随机序列,而无需存储它。通过这种方式查看,您会发现随机查找文件没有任何价值。

生成psuedo随机序列的好处。非常感谢。