说,我有许多非常相似但不完全相同的字符串。
它们可能或多或少不同,但肉眼可以看出相似之处。
所有长度都是相等的,每个都是 256 字节。字符串总数小于 2^16。
这种情况下最好的压缩方法是什么?
更新(数据格式):
我无法分享数据,但我可以将其描述得非常接近现实:
想象一下符号(如LOGO语言),它是某些设备在平面上移动和绘图的命令序列。如:
U12 - move up 12 steps
D64 - move down 64 steps
C78 - change drawing color to 78
P1 - pen down (start drawing)
等等。
这种语言的全部词汇量不超过英文字母的大小。
然后该字符串描述了一个完整的画面:“U12C6P1L74D74R74U74P0....”。
现在想象一下,一万名儿童被告知在这种语言的帮助下画出一些非常具体的图像:比如他们国家的国旗。我们将同时获得 10K 个不同且相似的字符串。
我们的任务是尽可能好地压缩整个字符串。
我的怀疑是,有一种方法可以利用字符串的这种相似性和共同长度,而 Huffman 例如不会明确使用它。