Re: Вопрос: поиск подстрок в LZ сортировкой


Сайт о сжатии >> Форум #Компрессор# >> [Ответить] [Ответы]

Автор: Eugene D. Shelwien,
13 августа 2003 года в 03:12:29

В ответ на : Re: Вопрос: поиск подстрок в LZ сортировкой от Никита Лесников в 12 августа 2003 года в 09:49:23:


Hi!

> > Чей-то я не понял, как должен работать
> > декодер. Допускаются ссылки только
> > на прошлый блок? ;)
>
> Да. При ссылках на любую подстроку
> значительно усложняется декодер. А
> простой и быстрый декодер - IMHO,
> главное достоинство LZ.

Без близких ссылок будет плохо,
LZ и так именно из-за них сильно
проигрывает PPM в сжатии (изредка
выигрывая за счет дальних ;)

> Кстати, есть ли вообще алгоритмы,
> использующие LZ77-ссылки в будущее?

Алгоритм придумать несложно.
Вот о реализациях не слышал.

> SEQUITUR не предлагать! :)

Это о перестановке слов? Так вроде
секветур там только для парсинга
использовался...

> Именно. А вся затея как раз в том, чтобы
> строить дерево только один раз для всего
> блока.

Тогда уж имхо лучше подумать над
построением словаря. Если его давить
специализированной моделью (PPM),
то можно будет и скорость (асимптотическую ;)
сохранить и эффективность повысить.

> Плюс ко всему дерево это идеально
> сбалансировано. Поэтому на больших
> (соизмеримых с размером блока) словарях
> в идеале только поиски должны быть в 2
> раза быстрее (т.к. высота RB и AVL
> деревьев не превышает 2*Logn). Не говоря
> о том, что добавления и удаления вообще
> не нужны.

Ага. А хэшей не существует.

> > > Мне бы хотелось узнать мнение
> > > специалистов об этом алгоритме.
> > > Достаточно ли он эффективен,
> > > чтобы его применять на практике?
>
> > Вообще-то непохоже. ;)
>
> Кстати, следует еще упомянуть
> исключительную простоту реализации.

Да уж. Особенно в сравнении с полным
сканированием окна ;)
Имхо вообще сейчас люди если для PC LZ-кодеры
и пишут, то многопроходные и с замашками
на оптимальное разбиение - потом меряются,
у кого zip меньше. А для этого структуры
данных совсем другие нужны.

> Но несмотря на нее, у меня что-то нет
> особого желания проверять этот алгоритм,
> так как может оказаться, что он -
> нерабочий труп. Если же кому-то кажется,
> что он достаточно практичен, то,
> пожалуйста, черкните пару строк.

Вообще-то речь шла не об алгоритме,
а о СД. Имхо если начинать с СД, то
конкурентноспособного LZ-компрессора
не получится ;)

> Regards,
> Никита Лесников
> (mailto: nlo_one@mail.ru)

Счастливо!
- Шелвин

Ответы:



Ответить на это сообщение

Тема:

Имя (желательно полное):

E-Mail:

URL:

Город:

Страна:

Вежливый и подробный комментарий:
(Форматируйте его, пожалуйста, как почту - короткими строками
Еnter в конце строки, пустая строка между параграфами).

Пожалуйста, заполните все поля.
И не нажимайте по два раза на кнопку! Дождитесь ответа сервера.