什么是随机数据的最佳无损压缩算法



我需要压缩一个随机流数据,例如[25,94,182,3,254,...]。数据数接近400万。我目前仅通过Huffman代码获得1.4倍的比率。我尝试的LZW算法是花费太多时间来压缩。我希望找到一种效率压缩方法,并且仍然具有高压缩率,至少3倍。还有另一种算法能够更好地压缩这些随机数据吗?

它取决于RNG的分布。1:1.4的压缩率表明它不统一或不好。霍夫曼和算术编码实际上是唯一的选择*,因为良好rng的连续条目之间没有其他相关性。

*确切地说,最好的压缩方案必须是0阶统计压缩,能够为每个符号分配可变数量的位才能到达Shannon熵

H(x) = -Sigma_{i=1}^{N} P(x_i) log_2 P(x_i)

理论上最好的方法是通过算术编码来实现的,但是其他编码可能会偶然地接近。算术编码的每个符号的分配少于一位,其中huffman或golomb编码至少需要每个符号(或符号组)。

最新更新