Какие хорошие алгоритмы для извлечения иерархической структуры из последовательностей?
Моя главная задача - сжатие последовательности, и последовательность имеет некоторую иерархическую структуру.Меня не слишком беспокоит время выполнения алгоритма, хотя длина последовательности составляет до 256 тыс. Символов, и она не должна выполняться дольше, чем несколько секунд.
До сих пор я знал о алгоритме sequitur , и я хотел бы знать о любых других алгоритмах / идеях, которые могут быть аналогичным образом полезными.
EDIT: декомпрессия должна быть очень простой.
EDIT2: Я сжимаю код.Я разработал довольно большую функцию в виде огромного базового блока кода, который работает быстрее, чем исходная рекурсивная функция для некоторых размеров, но затем код становится громоздким и большим по мере изменения параметра.Я экспериментировал с sequitur для сжатия полностью проработанной функции, и она хорошо работает - это позволяет мне достичь некоторого среднего уровня между рекурсивной функцией и полностью проработанным базовым блоком.Теперь мне интересно, есть ли другие алгоритмы, которые я тоже должен попробовать.