首页 玄幻 仙侠 都市 历史 网游 科幻 言情 其它 男频 女频 排行
搜索
今日热搜
消息
历史

你暂时还没有看过的小说

「 去追一部小说 」
查看全部历史
收藏

同步收藏的小说,实时追更

你暂时还没有收藏过小说

「 去追一部小说 」
查看全部收藏

金币

0

月票

0

第495章 幻数据压缩算法猜想1

作者:纯白色科幻宅 字数:2341 更新:2022-03-10 16:24:07

=数据压缩算法=速记算法=

递增素数之间,可以使用加法,得出相对小的数,可以用乘法,得出相对大的数,可以用乘方号,得出很大很大的数。

当使用特定长度把一个大数据分割成N个小片段时,就可以进行统计,比如全体相加,然后除以总数得到全局平均数。

然后使用1KB的平均数,1MB的平均数,1GB的平均数作为比大小基准。

然后还有特定数(比如出现了一次以上的多次数)(比如只出现了一次的一次数)(比如出现的最大值)(比如出现的最小值)。

现在的问题就是,统计能够获得数据的被过滤掉了很多信息的被压缩后的数据,如何使用统计获得的数据,来逆推原始数据(包括各种统计的先后顺序)(当然,因为数据的缺失,导致必须使用试错方式来实现)。

在处理大数据时,如何减少解压缩时试错次数,就是大数据压缩专用算法的重难点。

[示例]

如果有一个二进制数1010010010011100110001000100010,统计出其二进制的1总共有12个,二进制的0总共有19个;转换为八进制为12223461042,统计出其八进制的0总共出现了1次,八进制的1出现了2次,八进制的2出现了4次,八进制的3出现了1次,八进制的4出现了2次,八进制的6出现了1次;转换为十进制为1380868642,统计出其十进制的0出现了1次,十进制的1出现了1次,十进制的2出现了1次,十进制的3出现了1次,十进制的4出现了1次,十进制的6出现了2次,十进制的8出现了3次(当然了,为了加速碰撞,一般都是使用素数进制的方式,而不是使用这种方式,作者用这种方式示例,只是为了方便使用微软自带的程序员计算器换算进制,从而进行统计),那么接下来,就需要通过进制碰撞的方式,来逆推根据统计得出的原始数据。

当然了,也可以使用MD4,MD5和其他的哈希值生成算法,用于快速生成哈希值,以及记录上大小,然后是二进制的0和1,然后是八进制,16进制(一般都采取2的正整数次方进制的方式,来加速快速压缩时的速度,换算更快)。

另外还有一种快速碰撞的方式,使用大于X的(Y+1次方),小于X的Y次方的方式。

第一次比大小范围:

示例:取X=16;Y=18;

16^19=75,557,863,725,914,323,419,136

16^18=4,722,366,482,869,645,213,696

第二次比大小范围:

示例:取X=15;Y=7;

15^8=2,562,890,625

15^7=170,859,375

当然了,因为作者并没有使用16^19-16^18,然后再把结果进行开15次方,然后再进行筛查,可能就会导致第二次和第一次的相关度不高。

一个二进制数据根据位数,可以表达多少数值?

1位二进制,有两种可能,1和0。

2位二进制,有四种可能,00,01,10,11。

16位二进制,有2的16次方种可能,然而一个数据本身使用这么多位是一种浪费。

也就是说,一个16位二进制所表达的数,是一个固定数,是大于或等于0,小于2的16次方+1。

就比如说,一个1ZB大小的数据,只要其本身是固定的,那么就注定大于或等于0,然后小于2的多少次方来着???+1。

表达固定的数,并不一定需要使用到很长的长度。

比如2的987654321次方,可以是一个很大的数,其换算成二进制,会占用多大的存储空间?然后是不是可以逆推为算术内容:2的987654321次方?

问题就是,并非所有的数,都是规律数,都可以使用A的B次方+C乘以D+E阶乘方式正好等于该数,也就导致往往只能采取使用比大小的方式,无限近似,大于某个最接近该数的小数,小于某个最接近该数的大数。

比如说,想要记录一个5,那么在只能使用素数的表达方式时,就可以记录为该数大于3,小于7。

使用大于和小于之后,就可以获得一个数据范围,该范围内可能包含有有数的可能性,接下来的方法,就是把这个可能性减少,比如说(3+7)/5=2,则表示这个数正好处于大于和小于的中间值,比如说(3+7)/4=2.5,则表示这个数正好大于大于和小于的中间值;以此类推;

设定一个数为未知数B,A大于B小于C。

那么就可以取近似值(A+B)/C=D

一般情况下,D都是带有小数的,那么把D的小数去掉,那么D的整数部分就可以作为第二轮的最小值,D+1就可以作为第二轮的最大值。

取(A+B)/C=区间值1(也就是C更靠近A,还是更靠近B)。

(A-B)/(B-C)=区间值2

(A+C)/B=区间值3

(B+C)/A=区间值4

还有一种固定数大于小于法,就是A+→B←+C}总长度为多少位,特定数大于某个可以用循环速记法记录的数,小于某个可以用循环速记法记录的数。

然后就是使用特定算法生成一个数,该数大于B,然后使用特定刷房生成一个数,该数小于B。

示例:3*7=21;4*5=20;3*7大于B小于4*5;那么就可以获得该数百分之八十的近似值,然后再使用不断精准的继续用比大小法接近的方式,获得。

比如3.1415926

第一次比大小:4大于圆周率大于3

第二次比大小:3.14小于圆周率小于3.15

第三次比大小:3.141592小于圆周率小于3.141593

比大小之后,就是使用一个算术,来生成更接近的比大小精准度。

比如第一次比大小,大和小之间相差2的16次方,第二次比大小,大和小之间相差2的14次方,第三次比大小,大和小之间相差2的12次方,以此类推,就能快速还原出原始数据。

1TB的固定数据,可以使用1GB的算法来生成,1GB算法当做固定数据,就能使用1KB的算法来生成,这就是TB2KB算法的原理。

打赏
回详情
上一章
下一章
目录
目录( 1138
APP
手机阅读
扫码在手机端阅读
下载APP随时随地看
夜间
日间
设置
设置
阅读背景
正文字体
雅黑
宋体
楷书
字体大小
16
月票
打赏
已收藏
收藏
顶部
该章节是收费章节,需购买后方可阅读
我的账户:0金币
购买本章
免费
0金币
立即开通VIP免费看>
立即购买>
用礼物支持大大
  • 爱心猫粮
    1金币
  • 南瓜喵
    10金币
  • 喵喵玩具
    50金币
  • 喵喵毛线
    88金币
  • 喵喵项圈
    100金币
  • 喵喵手纸
    200金币
  • 喵喵跑车
    520金币
  • 喵喵别墅
    1314金币
投月票
  • 月票x1
  • 月票x2
  • 月票x3
  • 月票x5