Скажем, у меня есть несколько строк, которые очень похожи, но не абсолютно идентичны.
Они могут отличаться более или менее, но сходство видно невооруженным глазом.
Все длины равны, каждая по 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 ....».
Представьте теперь класс из десяти тысяч детей, которым было сказано нарисовать какой-то очень специфический образ с помощью этого языка: например, флаг своей страны. Мы получим 10 тыс. Строк, которые все разные и одинаковые одновременно.
Наша задача - сжать всю цепочку как можно лучше.
Мое подозрение здесь заключается в том, что существует способ использовать это сходство и общую длину строк, в то время как, например, Хаффман. не буду использовать это явно.