我知道无损压缩依赖于统计冗余。不过,我对压缩随机二进制字符串有这个想法,我想知道它是否(以及为什么)行得通/行不通:
由于二进制字符串是随机的,因此预期与最后一位不同的位的概率为一半。即,如果位串是... 01101,则下一位为0的概率为一半。就是说,假设有一半的数据将“更改其数字流”为“ 1”。我们将N个连续的二进制数字称为“序列”(注意:一个1的序列依赖于零,反之亦然)。
话虽如此,但可以预期: 一位数字的1/2(50%) 两位数的1/4(25%) 三位数的序列的1/8(12.5%) 四位数的序列的1/16(6.25%) ... N位数字的1 /(2 ^ N)
可以利用它来压缩数据吗?如:
考虑一个无限随机的二进制字符串,选取2 ^ M个序列的样本,我们知道其中一半将是一个序列,四分之一是两个序列,依此类推。为了有效压缩随机数据,应采用什么适当的逻辑?而且,如果不可能的话,为什么不能呢?
答案 0 :(得分:1)
不。完全不知道。
如果每个所有文件仅压缩了一点,那么通过简单计数,您可以确保至少两个个不同的文件被压缩为完全相同的东西。 (实际上远远不止于此,但我只需要两个就可以了。)现在,您的解压缩器将从该压缩的输入产生单个结果。该单个结果最多可以匹配不同文件之一。因此,它无法无损地压缩和解压缩不匹配的内容。