Algorithm 对于随机数据,最好的无损压缩算法是什么

Algorithm 对于随机数据,最好的无损压缩算法是什么,algorithm,compression,data-compression,lossless-compression,Algorithm,Compression,Data Compression,Lossless Compression,我需要压缩一个随机流数据,如[25,94182,3254,…]。数据数量接近400万。我目前只得到1.4倍的哈夫曼代码比率。我尝试的LZW算法压缩时间太长。我希望找到一种高效的压缩方法,并且仍然具有高压缩率,至少是3倍。 是否有其他算法能够更好地压缩这些随机数据?这取决于rng的分布。压缩比为1:1.4表示不均匀或不好。哈夫曼和算术编码实际上是唯一的选择*,因为好的RNG的连续条目之间没有其他相关性 *准确地说,最好的压缩方案必须是0阶统计压缩,能够为每个符号分配可变数量的比特以达到香农熵 H(

我需要压缩一个随机流数据,如[25,94182,3254,…]。数据数量接近400万。我目前只得到1.4倍的哈夫曼代码比率。我尝试的LZW算法压缩时间太长。我希望找到一种高效的压缩方法,并且仍然具有高压缩率,至少是3倍。
是否有其他算法能够更好地压缩这些随机数据?

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

*准确地说,最好的压缩方案必须是0阶统计压缩,能够为每个符号分配可变数量的比特以达到香农熵

H(x)=-Sigma_{i=1}^{N}p(x_i)log_2p(x_i)


理论上最好的编码是通过算术编码实现的,但其他编码也可能是偶然的。算术编码可以为每个符号分配不到一位,而作为哈夫曼或戈洛姆编码,每个符号(或符号组)至少需要一位。

(1)压缩器有很多基准测试,它们不关心您是否获得了8位或32位值(在内部处理字节或位)尽管有些用例可能需要一些调整(特别是使用额外的过滤器)。(2) 如果你的数据是一致随机的,它就不能被压缩(可以被证明),这表明你的问题缺乏细节。(3) 这个问题在这里有点离题(至少太宽泛了)。如果这个问题来自任何一种随机数生成器,请使用另一种。真正的随机流不能被压缩。看到1.4倍的比率表明流中有相当多的规律性。真正的随机数据(和加密安全数据)很难压缩。如果你有这么高的比率,这意味着你的随机数不是那么随机你的问题有一个矛盾:真正的随机数根本不能被压缩(无论算法如何)。您的流真正包含什么?
我尝试的LZW算法[花费]太多时间来压缩
-在引用了使用
哈夫曼代码的结果后(更快?!):您使用了什么LZW实现?