奇思妙想:无限压缩的可能实现方式

[复制链接]
查看: 9157   回复: 10
发表于 2021-12-14 18:44:29 | 显示全部楼层 |阅读模式
无限压缩基本不可能实现,以下仅提供一种思路,未验证!

压缩实际是对数据进行映射,例如将 aaaaaaaaaa 映射到 10a 那么可以减少一部分空间!

但是实际上到最后是没办法进行映射了的,因为要表示所有可能必须要做到 1 对 1 映射

那么现在要无限压缩则 需要消除一部分需要映射的数量了

举例说明:
32位的二进制  有4294967295个状态

一个由 【a-z】组成的N位长度的字符串共有 26的N次方个状态

这时候我想做到无限压缩,必然需要将其中一部分状态舍弃,例如 32位的二进制原来有4294967295个状态 我假设舍弃一半 就只剩下 2147483647个状态了

可以映射到31位的二进制中去了!   但是为了表示32位的所有可能我必须要把被舍弃的状态通过某个方案转换为 没有被舍弃的状态!

如何转换?我目前想到的方案是对称加密,对称加密也可以看作是 通过某个函数 实现状态的 1 对 1 映射

即,如果本次压缩的数据是被舍弃的状态,那么对称加密一次,如果加密结果还是被舍弃的,继续加密!!

直到加密后的状态是未被舍弃的状态即可(此处需要记录总共的加密次数)解压时再加密这么多次即可!!!

如此就可以实现不限次数的压缩

但是实际情况貌似很难实现,问题还是在于需要记录加密次数!假设 数据以二进制表示!

要把1024位长度的二进制 压缩到1023位 的同时需要有数据来记录压缩次数!!!! 压缩次数转为二进制还不止 1位

当然可以把 1024位直接映射到1000位 但是这时候损失的状态太多了,需要加密很多次才能转为 未被舍弃的状态!这时候可能压缩次数的二进制数又大于24位了


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


综上~

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

多想了下 明显不可行!
回复

使用道具 举报

 楼主| 发表于 2021-12-14 18:45:08 | 显示全部楼层
随着宽带和存储越来越发达 可以不用考虑压缩了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:45:59 | 显示全部楼层
可以学习一下信息论
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:46:05 | 显示全部楼层
不错 想的不错
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:46:45 | 显示全部楼层
:lol 嗨 明知不可能实现的 东西 但是就是想尝试 因为这种东西的吸引力太强了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:46:55 | 显示全部楼层
nog 发表于 2021-10-9 16:40
嗨 明知不可能实现的 东西 但是就是想尝试 因为这种东西的吸引力太强了 ...
那绝对引发新的科技**,也就比可控核聚变的现实意义稍小了一些,在数学哲学意义上的话甚至更高。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:47:51 | 显示全部楼层
如果可以实现无限压缩到某一个长度比如1KB,那我穷举1KB内的所有二进制数是否能够解压缩出理论上所有的数据呢,我觉得不可能,而且所有的程序不可能映射到某一个固定的长度里,那么既然长度不可控,那跟基本的压缩算法也就一样了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:48:20 | 显示全部楼层
这玩意儿不是光想就能想出来的,这背后数学基础一般本科生都不会
回复 支持 反对

使用道具 举报

发表于 2021-12-14 18:49:14 | 显示全部楼层
技术贴,mark
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:49:22 | 显示全部楼层
32位可压缩为31位加1位的编码 实际还是32位
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-14 18:49:34 | 显示全部楼层
shuke 发表于 2021-10-9 17:24
如果可以实现无限压缩到某一个长度比如1KB,那我穷举1KB内的所有二进制数是否能够解压缩出理论上所有的数据 ...
就跟md5还原出原数据一样,逆天操作了。宇宙中突显一块低熵区~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则