关于无损压缩的思考

昨晚思考了一下无损压缩的问题——存不存在一种通用并可以无限压缩的方法。

我们常用数学描述现实世界。就如 y = x + 1 代表一条直线。再如 π 作为典型的无理数,拥有无限不循环的小数。那么,对于一段数据,是否可以找到一个描述其内容的公式呢?

也许有些可以。比如 y = x + 1。描述一下 x 的取值范围,就可以得到一串 y 值。但那串 y 值是若干可能性中确定的一种。如果那串 y 值并非规律的呢?比如:1,3,2,6,3,7,5,8 。这该用什么公式描述呢?即使有,也不是 y = x + 1 这种简洁的形式,其复杂度可能超过原数据本身。

压缩,是用另一种描述代替原来的描述。压缩后的描述的可能性应该大于等于原来描述的可能性。用 A 代表原数据,AS 代表原数据位数的所有可能。比如十位数,每位数有 0~9 十种可能,总的的可能就是 10^10(AS),1000000000(A) 为其中一种。A∈AS。1[1]0[9](B)为压缩后的数据。B∈BS。AS 中的每一种可能都要可以在 BS 中描述,即 BS 要覆盖 AS 的所有可能。AS 中的 1324353289 按照同样的规则在 BS 中就为 1[1]3[1]2[1]4[1]3[1]5[1]3[1]2[1]8[1]9[1]。存在压缩边长的情况。

压缩本质上是去除冗余信息。如果原信息没有冗余(或很少),压缩就达不到效果了。