Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 67

Тема: Оптимальное LZ-кодирование

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Оптимальное LZ-кодирование

    Ситуация: есть некий файл, его хочется запаковать LZ-методом.
    Файл гружу в память и для каждого байта строю набор всех подходящих к нему LZ-кодов (длина, смещение, размер кода в битах).

    Надо: выбрать оптимальную цепочку этих кодов и сгенерить самый короткий из возможных выходных запакованных файлов.

    Вопрос: как? =)

    Делаю пакер megalz на сях.
    --- Кто съел всю уху?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Member
    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Ситуация: есть некий файл, его хочется запаковать LZ-методом.
    Файл гружу в память и для каждого байта строю набор всех подходящих к нему LZ-кодов (длина, смещение, размер кода в битах).

    Надо: выбрать оптимальную цепочку этих кодов и сгенерить самый короткий из возможных выходных запакованных файлов.

    Вопрос: как? =)

    Делаю пакер megalz на сях.
    Платформа какая?

    Возможно, поможет представление кода, как прохода по графу, а оптимальный в смысле длины кода, как путь по графу минимальной длины.

  4. #3
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valker
    Платформа какая?
    Какая разница - если на сях пишу... Не спек уж точно! =) Жрёт память по-чёрному, так что не дос тоже. :)

    Возможно, поможет представление кода, как прохода по графу, а оптимальный в смысле длины кода, как путь по графу минимальной длины.
    Ну да - и как этот путь минимальной длины искать? ;)
    --- Кто съел всю уху?

  5. #4
    Member
    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Какая разница - если на сях пишу... Не спек уж точно! =) Жрёт память по-чёрному, так что не дос тоже.

    Ну да - и как этот путь минимальной длины искать?
    Если чистый С, то реализовать алгоритм Дейкстры (он подходит для неотрицательных весов).
    Если С++, то возьми BGL (Boost Graph Library), там этот алгоритм (и многие другие) уже реализован.

    Удачи!

  6. #5
    Member
    Регистрация
    17.01.2005
    Адрес
    Gorno-Altaysk
    Сообщений
    82
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Valker: оптимальность кодирвания может быть как минимум 2 типов: опимальность в смысле размера упакованного файла, и оптимальность в смысле минимизации количества пар(длина смещение) и литералов. Какая у тебя имеется ввиду?

  7. #6
    Member
    Регистрация
    17.01.2005
    Адрес
    Gorno-Altaysk
    Сообщений
    82
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В дополнение: ага, понял о чем ты. Минимизация количества пар (длина смещение) и литералов не означает того, что получится файл минимальной длины. Но за то, скорее всего такой файл будет быстрее всего распаковываться. Хотя выигыш по скорости распаковки, наверное, составит менее 0.1%.
    Последний раз редактировалось Hrumer; 15.12.2005 в 17:53.

  8. #7
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hrumer
    Valker: оптимальность кодирвания может быть как минимум 2 типов: опимальность в смысле размера упакованного файла, и оптимальность в смысле минимизации количества пар(длина смещение) и литералов. Какая у тебя имеется ввиду?
    Hrumer, пасиб за посыл в нужном направлении в емыле Я отыскал то же самое уже потом в инфогуиде#6 =)
    Valker, по сути алго дейкстры это то же самое что Хрумер мне предложил (и что в инфогуиде#6), только во втором случае он упрощён применительно к специфическому виду деревьев.
    elf/2, ага 10х, выкачал всё, завтра доберусь до компа где выкачано и посмотрю =))
    --- Кто съел всю уху?

  9. #8
    Member
    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hrumer
    Valker: оптимальность кодирвания может быть как минимум 2 типов: опимальность в смысле размера упакованного файла, и оптимальность в смысле минимизации количества пар(длина смещение) и литералов. Какая у тебя имеется ввиду?
    В смысле длины полученного кода в битах.

  10. #9
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Ситуация: есть некий файл, его хочется запаковать LZ-методом.
    Посмотри исходники, надеюсь поможет.

  11. #10
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro
    Посмотри исходники, надеюсь поможет.
    Хм... там даже и намёка нет на оптимальный выбор цепочки... =)
    --- Кто съел всю уху?

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •