我需要压缩像[25,94,182,3,254,...]这样的随机流数据。数据量接近400万。我目前只通过霍夫曼代码获得1.4倍的比率。我试过的LZW算法需要花费太多时间来压缩。我希望找到一种效率压缩方法,并且仍然具有高压缩率,至少3倍。 还有另一种能够更好地压缩这种随机数据的算法吗?
答案 0 :(得分:1)
这取决于rng的分布。压缩比为1:1.4表明它不均匀或不好。霍夫曼和算术编码实际上是唯一的选项*,因为良好RNG的连续条目之间没有其他相关性。
*确切地说,最佳压缩方案必须是0阶统计压缩,能够为每个符号分配可变数量的位以达到香农熵
H(x) = -Sigma_{i=1}^{N} P(x_i) log_2 P(x_i)
理论上最好的是通过算术编码实现,但其他编码可能是偶然的。算术编码每个符号可以分配少于一个比特,其中霍夫曼或哥伦布编码每个符号(或符号组)至少需要一个比特。