AIMCS 的与其它压缩算法的比较


作者使用 AIMCS 和其它的压缩方法分别压缩一组 ASCII 编码和 Unicode 编码的短文本。这些短文本是在没有任何过滤的情况下从英语、阿拉伯语以及波斯语的 Twitter 和短文本消息中提取的。

  • 为什么使用不同语言来进行实验呢? 那是因为每种语言都有自己的熵,而熵直接影响了压缩比。

在运行时间和压缩比方面,分别比较了 AIMCS 和 LZW 与 Huffman 压缩方法的性能。结果在下面的表中。

实验一:压缩英语字符串(ASCII)得到的结果

语言

类型

算法

原始大小(Bytes)

压缩比(%)

运行时间(min)

English

SMS

LZW

80904070

85.60

5.43

English

SMS

AIMCS

80904070

77.81

16.3

English

Twitter

LZW

584630

86.79

0.04

English

Twitter

AIMCS

584630

84.31

0.13

由上表可知:

  • LZW 算法在压缩英文文本的速度要比其它讨论的算法更快
  • AIMCS 在压缩英文文本的压缩比其它讨论的算法要低

可以看到,在压缩相同大小的 SMS 和 Twitter 英文文本时,LZW 算法分别以 5.43分和 0.04分的时间快于 AIMCS 的 16.3分和0.13分;

但从压缩比来看,AIMCS 在压缩 SMS 和 Twitter 的英文文本时的压缩比分别是 77.81% 与 84.31% ,要远低于 LZW 压缩这两种文本的压缩比 85.60% 与 86.79%。

实验二:压缩阿拉伯和波斯语字符串(Unicode)得到的结果

语言

算法

原始大小(Bytes)

压缩比(%)

运行时间(s)

Persian

Huffman

3243550

67.55

32.56

Persian

AIMCS

3243550

58.82

35.37

Arabic

Huffman

265156

68.34

1.92

Arabic

AIMCS

265156

54.93

2.23

由上表知:

  • 在几乎相同的运行时间内,AIMCS 的压缩比要明显低于 LZW 算法的压缩比。

可以看到,在压缩相同大小的文本时,AIMCS 压缩比要比 Huffman 低 8.73% 与 13.41%,极大地降低了传输文本的时间和成本。

实验三:一段时间内压缩900万条推文的压缩比

AIMCS 的与其它压缩算法的比较_计算机视觉


上图描述了 AIMCS 在压缩大量 tweet 的性能。

  • 可以看到,随着消息数量的增加,AIMCS 在压缩 tweet 的压缩比会降低,压缩性能会更好。

结果分析

  1. AIMCS 一开始对之前的数据没有足够的了解,没有建立足够大的字典,AIMCS 可能会因此无法预测之后会出现的字符串。随着字典中条目数量的增加,可以检测字符的种类和重复频率。因此随着时间的推移,AIMCS 将会提供更好的性能。
  2. 为了核对偏移现象(drift phenomenon),将会把预测的字符的数量发送给接收者。如果预测的字符的数量是准确的,一个积极的分数将会被考虑,否则将考虑消极的分数。
  3. AIMCS 独立于语言和语法,可以用于压缩任何具有语法结构的语言。另外,AIMCS 是通过压缩数据流来进行压缩的,所以词法错误并不会影响 AIMCS 的性能。

实验总结

由于以上优点,AIMCS 也适用于基于雾计算(fog computing)的方法。

AIMCS 的与其它压缩算法的比较_字符串_02


在物联网(IoT)的场景中,许多计算能力有限的小型智能设备需要不断产生极短字符串(tiny strings)的数据,并通过互联网将其发送到远程服务器上进行处理。在这些场景中,生成的原始数据将会由一个名为 Fog Server 的实体进行压缩,该实体位于产生数据的节点和远程服务器之间,以减少 Internet 流量。

此外,AIMCS也有一些缺点,AIMCS 不太适合字符数量多、重复字符数量少的语言文本压缩。其次,AIMCS 不适合压缩文本以外的数据,因为AIMCS 设计时的压缩单元是一个字符,压缩其它图像、音频等其它数据,这些数据包含很多与文本压缩不同的参数,这使得 AIMCS 需要在发送端进行大量计算,将会大大减少压缩效率。


posted @ 2022-12-28 11:40  繁依Fanyi  阅读(8)  评论(0)    收藏  举报  来源