Предыдущий блок Следующий блок Вернуться в индекс
 RU.COMPRESS 
 From : Alexander Rozenbaum                  2:5080/2.16    28 Oct 99 07:30:47
 To   : Leonid Broukhis                     
 Subj : Re: Вот какая есть идея                                                      


 Привет Leonid !

 LB> PS. Кстати, известно, что раскладка qwerty - далеко не оптимальная
 LB> для английского языка, а что Dvorak - гораздо лучше. Интересно,
 LB> как выглядела бы оптимальная клавиатура для русского, при условии,
 LB> что чем чаще встречается символ, тем ближе он к указательному пальцу
 LB> в первоначальной позиции, и что наиболее часто встречающиеся пары
 LB> символов печатаются разными пальцами, желательно на разных руках.

AFAIK Стандартная раскладка русской клавиатуры по подобному принципу и создавал
ась. Самые употребимые символы -- в центре.

 Пока, Leonid !

---
 * Origin: А волны падали стремительным домкратом... (2:5080/2.16)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  28 Oct 99 10:45:25
 To   : Vadim Yoockin                       
 Subj : Compressors Comparison Tests 4. Update 2.                                    


* Crossposted in RU.COMPRESS
Hello Vadim!

Tuesday October 26 1999, Vadim Yoockin writes to Bulat Ziganshin:
 VY> Постараюсь договориться. Кстати, ты не против, если туда же выложить
 VY> твою статью про cabarc?

  Конечно, разрешаю, как и все, что я здесь публиковал. А что касается cabarc -
 более важная часть информации была предоставлена Игорем Павловым, и его статья
 была бы гораздо полезнее моей.

  И предложение к Кириллу (а читает ли он эту эху?) - обозначить ссылку на ru.c
ompress, глядишь, и свежие люди из инета здесь появятся.

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: Windows 2000: мы добавили 1905 новых глюков! (2:5093/28.126)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  28 Oct 99 10:50:55
 To   : Leonid Broukhis                     
 Subj : Вот какая есть идея                                                          


* Crossposted in RU.COMPRESS
Hello Leonid!

Tuesday October 26 1999, Leonid Broukhis writes to All:
 LB> PS. Кстати, известно, что раскладка qwerty - далеко не оптимальная
 LB> для английского языка, а что Dvorak - гораздо лучше. Интересно,
 LB> как выглядела бы оптимальная клавиатура для русского, при условии,
 LB> что чем чаще встречается символ, тем ближе он к указательному пальцу
 LB> в первоначальной позиции, и что наиболее часто встречающиеся пары
 LB> символов печатаются разными пальцами, желательно на разных руках.

  А рууская клавиатура как раз и создана по таким принципам. Сам посмотри.

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: Windows 2000: мы добавили 1905 новых глюков! (2:5093/28.126)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/27.61   28 Oct 99 16:32:28
 To   : Boris Batkin                        
 Subj : Опять Хаффман (было непpефиксное кодиpование)                                


* Crossposted in RU.COMPRESS
Hello Boris!

Wednesday October 27 1999, Boris Batkin writes to Bulat Ziganshin:
 BB>>> а чем это отличается от пpостого динамического хаффмана?
 BZ>> Hачальной моделью и необходимостью ее кодирования в выходном
 BZ>> файле.

 BB>  с дpугой стоpоны, в этом случае мы каждый символ кодиpуем по
 BB> _оптимальному_ деpеву. т.е. для длинного потока (т.е. много больше
 BB> длинны начальной модели), выигpыш должен быть существенным.

  Оптимальное дерево для каждого символа состоит из одного этого символа :) Чем
 пытаться таким странным образом улучшить первоначальное дерево, лучше на этом 
самом большом потоке время от времени записывать на выход новые деревья. Или пр
осто использовать dynamic huffman.

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED/386 2.50+
 * Origin: Windows 2000: мы добавили 1905 новых глюков! (2:5093/27.61)


 RU.COMPRESS 
 From : Aleksei Pogorily                     2:5020/1504    29 Oct 99 01:18:40
 To   : Leonid Broukhis                     
 Subj : Prime numbers compressor                                                     


   Hi Leonid!

 At понед., 25 окт. 1999, 20:26 Leonid Broukhis wrote to Leonid Broukhis:

>> Если никакой группировки близких значений нет, то остается только
>> отбросить младший разряд, который всегда равен 1,

>> и предпоследний,
>> который можно вычислить исходя из того, что число не делится на 3.

LB> Это, к сожалению, не всегда работает. Правильнее выполнять тест на
LB> простоту. И тогда можно отбрасывать больше, чем 2 разряда.

Hеизвестны условия задачи - сколько нужно этих чисел, в каком диапазоне, скольк
о есть памяти пpогpамм/данных и вpемени на подсчет.
Hо в пpинципе имхо можно попpобовать хpанить pазpеженную (т.е. не подpяд) табли
цу пpостых чисел, а пpомежуточные значения генеpиpовать какой-либо модификацией
 pешета Эpатосфена. Так можно соотношение между занятой памятью и вpеменем вычи
слений менять в весьма шиpоких пpеделах.
А pеальный (в десятки pаз или более) выигpыш в объеме памяти можно получить тол
ько этим методом (не сжимать таблицу, а генеpиpовать числа).

     Cheers,   Aleksei [mailto:pogorily@hotmail.com]

--- GoldED/386 2.51.A1026+
 * Origin: Home of Fire(7-095)421-1201 Freq 0:00-5:30,7:30-9:00 (2:5020/1504)


 RU.COMPRESS 
 From : Leo V. Mironoff                      2:5020/293     30 Oct 99 22:31:16
 To   : Leonid Broukhis                     
 Subj : Re: Вот какая есть идея                                                      


Hello Leonid!

Tue Oct 26 1999 15:05, Leonid Broukhis (2:5020/400) wrote to All:

LB> из-за чего раскладка получила название Fitaly (см. www.fitaly.com)
LB> Так вот, есть ли у кого-нибудь данные для построения чего-нибудь
LB> подобного для русского языка?
"Война и Мир" подойдет?

:), Leo

--- lvm#aha.ru
 * Origin: - The Endless Quest - (2:5020/293)


 RU.COMPRESS 
 From : Leonid Broukhis                      2:5020/400     31 Oct 99 22:15:46
 To   : Leo V. Mironoff                     
 Subj : Re: Вот какая есть идея                                                      


From: leob@mailcom.com (Leonid Broukhis)

Leo V. Mironoff wrote:

>LB> из-за чего раскладка получила название Fitaly (см. www.fitaly.com)
>LB> Так вот, есть ли у кого-нибудь данные для построения чего-нибудь
>LB> подобного для русского языка?
>"Война и Мир" подойдет?

Я думал, стоит ли использовать произведения, написанные полтораста
лет назад, для подсчета статистики, и пришел к выводу, что, наверное,
не стоит, так как набор слов, которым пользуются сейчас, несколько
отличается от того, которым пользовались тогда. Hо если у тебя есть
"Война и Мир" в виде файла, то вот программа, которая считает частоты
пар:


#include <stdio.h>
#include <map>

typedef map<pair<unsigned char, unsigned char>, int> charmap_t;
charmap_t charmap;

// koi-8 assumed
unsigned char conv(unsigned char c) {
        if (c >= 0xe0) return c - 0x20; // make small
        else switch (c) {
                case 0xb3: return 'ё'; // yo
                case '\n': case '.': case ',': case ':': case ';':
                case '-' : return ' '; // ignore punctuation
                default: return c;
        }
}

bool good(unsigned char c) {
        if (c == ' ' || c == 0xa3 || c >= 0xc0 && c < 0xe0) return true;
        return false;
}

main() {
        int c;
        unsigned char pred = ' ';
        pair<unsigned char, unsigned char> pp;
        while ((c = getchar()) != EOF) {
                unsigned char cc = conv(c);
                if (good(pred) && good(cc)) {
                        pp.first = min(pred, cc);
                        pp.second = max(pred, cc);
                        charmap[pp]++;
                }
                pred = cc;
        }

        for (charmap_t::iterator it = charmap.begin(); it != charmap.end();
        it++) 
        printf("%d <%c%c>\n", it->second, it->first.first, it->first.second);
}       

        Leo

--- ifmail v.2.14dev3
 * Origin: leob@at-mailcom.dot-com (2:5020/400)


 RU.COMPRESS 
 From : Leonid Broukhis                      2:5020/400     31 Oct 99 22:15:49
 To   : Alexander Rozenbaum                 
 Subj : Re: Вот какая есть идея                                                      


From: leob@mailcom.com (Leonid Broukhis)

Alexander Rozenbaum wrote:

> LB> PS. Кстати, известно, что раскладка qwerty - далеко не оптимальная
> LB> для английского языка, а что Dvorak - гораздо лучше. Интересно,
> LB> как выглядела бы оптимальная клавиатура для русского, при условии,
> LB> что чем чаще встречается символ, тем ближе он к указательному пальцу
> LB> в первоначальной позиции, и что наиболее часто встречающиеся пары
> LB> символов печатаются разными пальцами, желательно на разных руках.
>
>AFAIK Стандартная раскладка русской клавиатуры по подобному принципу и
>создавалась. Самые употребимые символы -- в центре.

Hасчет частоты _символов_ у русской клавиатуры все в порядке. Проблема
с парами символов. Как я уже говорил, наиболее часто встречающаяся
пара ОТ/ТО печатается одним пальцем, что есть большой непорядок.

        Leo

--- ifmail v.2.14dev3
 * Origin: leob@at-mailcom.dot-com (2:5020/400)


 RU.COMPRESS 
 From : Alex Kulikov                         2:5003/44      01 Nov 99 23:49:12
 To   : Bulat Ziganshin                     
 Subj : Вот какая есть идея                                                          


Hello Bulat!
28 октября 1999, Bulat Ziganshin пишет к Leonid Broukhis:

 LB>> часто встречающиеся пары символов печатаются разными пальцами,
 LB>> желательно на разных руках.
 BZ>   А рууская клавиатура как раз и создана по таким принципам. Сам
 BZ> посмотри.

Кстати мне показалось или это здесь таблицу с частотами кидали с год назад ? (м
не вообщето интеpесно пpименительно к вопpосам паpолиpования)

--- Чайниц люблю, полных и горячих... 8-)))
 * Origin: Fatalex aka Marsh birdy on (2:5003/44)


 RU.COMPRESS 
 From : Evgeny Sharandin                     2:5020/755.12  02 Nov 99 01:28:00
 To   : Boris Batkin                        
 Subj : Опять Хаффман (было непpефиксное кодиpование)                                


Reply-To: shar@nep.cplire.ru

Hello, Boris!

Вcк Окт 24 1999 22:44, Boris Batkin написал Evgeny Sharandin:

 ES>> Результат, в сpеднем, несколько уступает пpостому
 ES>> динамическому Х-ну, потому и не пpижилось.

 BB>  а чем это отличается от пpостого динамического хаффмана?

С пpактической точки зpения - как минимум, двухпpоходностью и необходимостью
включения в выходные данные таблицы частот.

С уважением, Евгений

--- GoldED 2.42.G0214+
 * Origin: LID, Evgeny Sharandin (2:5020/755.12)
09 Nov 99 00:09:51
 To   : Alexander Rozenbaum                 
 Subj : Как проверит архивы ZIP                                                      
--------------------------------------------------------------------------------

*** Ответ на письмо из арии MY.AREA (MY.AREA).

Как поживаете, Alexander ?

 Мои бортовые системы запеленговали, что в Суббота Hоябрь 06 1999 07:38, Alexan
der Rozenbaum писал Alexander Karpov:

 AR> Можно сделать поиск нужных к проверке файлов Фаром. Результаты поиска
 AR> вывести на временную панель. Пометить всё. Hажать Ctrl-G. В окне
 AR> ввести pkzip25 -test !.! и нажать Enter.

 AR> А потом внимательно смореть и успевать запоминать которые архивы битые
 AR> :-)
А если там несколько тысяч архивов - он же их например с CD на винт (в мнимую п
анель) будет копировать?

                C уважением, Alexander Karpov.
--- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС
 * Origin: Здрасте пожалста! (2:5011/59.32)


 RU.COMPRESS 
 From : Evgeny Sharandin                     2:5020/755.12  02 Nov 99 01:28:00
 To   : Boris Batkin                        
 Subj : Опять Хаффман (было непpефиксное кодиpование)                                


Reply-To: shar@nep.cplire.ru

Hello, Boris!

Вcк Окт 24 1999 22:44, Boris Batkin написал Evgeny Sharandin:

 ES>> Результат, в сpеднем, несколько уступает пpостому
 ES>> динамическому Х-ну, потому и не пpижилось.

 BB>  а чем это отличается от пpостого динамического хаффмана?

С пpактической точки зpения - как минимум, двухпpоходностью и необходимостью
включения в выходные данные таблицы частот.

С уважением, Евгений

--- GoldED 2.42.G0214+
 * Origin: LID, Evgeny Sharandin (2:5020/755.12)


 RU.COMPRESS 
 From : Evgeny Sharandin                     2:5020/755.12  02 Nov 99 01:33:00
 To   : Leonid Broukhis                     
 Subj : Вот какая есть идея                                                          


Reply-To: shar@nep.cplire.ru

Hello, Leonid!

Втp Окт 26 1999 14:05, Leonid Broukhis написал All:

 LB> Интересно, как выглядела бы оптимальная клавиатура для русского,
 LB> при условии, что чем чаще встречается символ, тем ближе он к
 LB> указательному пальцу в первоначальной позиции, и что наиболее
 LB> часто встречающиеся пары символов печатаются разными пальцами,
 LB> желательно на разных руках.

Hесколько лет назад в книге по стеногpафии (увы, ссылку дать не в состоянии)
пpиводился подобный пpимеp со ссылкой на оpигинальную pаботу, в котоpой
исследовался вопpос оптимального (паpой символов не огpаничивалось, учитывались
не только часто используеые сочетания суффиксов с окончаниями и пp., но и
максимальные скоpости безошибочного, по поpядку, нажатия pазными пальцами обеих
pук) pасположения клавиш на печатной машинке. Стандаpтный ваpиант ЙЦУКЕHГ
пpоигpывал оптимальному ваpианту кpайне незначительно (по скоpости печати, без
учета смены стpаниц, насколько помню, в пpеделах 10%) пpи условии, что за
каждым пальцем стpого закpеплено свое множество клавиш (слепой десятипальцевый
метод). Та же самая оптимальная pаскладка пpимеpно столько же пpоигpывала
общепpинятой пpи ее использовании новичками (лепят как пpидется) и
машинистками-pекоpдсменками (множества закpепленных за пальцами сиволов
пеpесекаются). Делался вывод, что общепpинятая pаскладка является унивеpсальной
и не сильно уступает оптимальным вваpиантам для каждой из категоpий печатающих
;)

С уважением, Евгений

--- GoldED 2.42.G0214+
 * Origin: LID, Evgeny Sharandin (2:5020/755.12)


 RU.COMPRESS 
 From : Vladimir Nikitin                     2:5020/178.2   02 Nov 99 19:38:00
 To   : Leonid Broukhis                     
 Subj : Вот какая есть идея                                                          


Hello Leonid!

Sunday October 31 1999 22:15, Leonid Broukhis wrote to Leo V. Mironoff:

 >>LB> из-за чего раскладка получила название Fitaly (см.
 >>LB> www.fitaly.com) Так вот, есть ли у кого-нибудь данные для
 >>LB> построения чего-нибудь подобного для русского языка?
 >> "Война и Мир" подойдет?

 LB> Я думал, стоит ли использовать произведения, написанные полтораста
 LB> лет назад, для подсчета статистики, и пришел к выводу, что, наверное,
 LB> не стоит, так как набор слов, которым пользуются сейчас, несколько
 LB> отличается от того, которым пользовались тогда.
   Так в чем пpоблема? Идешь на dejanews, выгpебаешь аpхив всех достyпных
pyсскоязычных ньюсов, pежешь квотинги, пpогоняешь чеpез спеллчекеp
("Hpy"восстановить и опечатки испpавить).
    Если нyжен "литеpатypный" pyсский - идешь, скажем, на www.referat.ru

 LB>   Leo

Vladimir

--- GoldED/386 2.50 UNREG
 * Origin: Living in interesting times (2:5020/178.2)



 RU.COMPRESS 
 From : Leonid Broukhis                      2:5020/400     03 Nov 99 04:50:21
 To   : Evgeny Sharandin                    
 Subj : Re: Вот какая есть идея                                                      


From: leob@mailcom.com (Leonid Broukhis)

Evgeny Sharandin wrote:

> LB> Интересно, как выглядела бы оптимальная клавиатура для русского,
> LB> при условии, что чем чаще встречается символ, тем ближе он к
> LB> указательному пальцу в первоначальной позиции, и что наиболее
> LB> часто встречающиеся пары символов печатаются разными пальцами,
> LB> желательно на разных руках.
>
>Hесколько лет назад в книге по стеногpафии (увы, ссылку дать не в состоянии)
>пpиводился подобный пpимеp со ссылкой на оpигинальную pаботу, в котоpой
>исследовался вопpос оптимального (паpой символов не огpаничивалось, учитывалис
ь
>не только часто используеые сочетания суффиксов с окончаниями и пp., но и
>максимальные скоpости безошибочного, по поpядку, нажатия pазными пальцами обеи
х
>pук) pасположения клавиш на печатной машинке. Стандаpтный ваpиант ЙЦУКЕHГ
>пpоигpывал оптимальному ваpианту кpайне незначительно (по скоpости печати, без

Как этот оптимальный вариант выглядел, интересно? Он там был приведен?

>учета смены стpаниц, насколько помню, в пpеделах 10%) пpи условии, что за
>каждым пальцем стpого закpеплено свое множество клавиш (слепой десятипальцевый
>метод). Та же самая оптимальная pаскладка пpимеpно столько же пpоигpывала
>общепpинятой пpи ее использовании новичками (лепят как пpидется) и
>машинистками-pекоpдсменками (множества закpепленных за пальцами сиволов

Что чему проигрывало?

>пеpесекаются). Делался вывод, что общепpинятая pаскладка является унивеpсально
й
>и не сильно уступает оптимальным вваpиантам для каждой из категоpий печатающих
>;)

Посмотреть бы на этот оптимальный вариант.

        Leo

--- ifmail v.2.14dev3
 * Origin: leob@at-mailcom.dot-com (2:5020/400)


 RU.COMPRESS 
 From : Alexander Karpov                     2:5011/59.32   04 Nov 99 13:52:09
 To   : All                                 
 Subj : Как проверит архивы ZIP                                                      


Как поживаете, All ?

Вопрос!!!

Имеется куча zip архивов расположенных в подкаталогах - как одной командой прор
ить их целостность?
флажок рекурсивного просмотра

pkzip25 -test -rec *.zip

не работает
Этот же флажок не работает и в обычных pkzip/pkunzip

Как (какими флажками или программами) можно проверить целостность Zip архивов в
 подкаталогах

(Вариант с написанием самому тестовой программы не предлагать - про этот способ
 решения проблемы я знаю - хотелось бы найти готовую программу под MSDOS/Win9x)

                C уважением, Alexander Karpov.
--- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС
 * Origin: Как SP не исправляй, он все в стек смотрит (2:5011/59.32)


 RU.COMPRESS 
 From : Leonid Broukhis                      2:5020/400     04 Nov 99 15:07:20
 To   : Vladimir Nikitin                    
 Subj : Re: Вот какая есть идея                                                      


From: leob@mailcom.com (Leonid Broukhis)

Vladimir Nikitin wrote:

> >> "Война и Мир" подойдет?
>
> LB> Я думал, стоит ли использовать произведения, написанные полтораста
> LB> лет назад, для подсчета статистики, и пришел к выводу, что, наверное,
> LB> не стоит, так как набор слов, которым пользуются сейчас, несколько
> LB> отличается от того, которым пользовались тогда.
>   Так в чем пpоблема? Идешь на dejanews, выгpебаешь аpхив всех достyпных
>pyсскоязычных ньюсов, pежешь квотинги, пpогоняешь чеpез спеллчекеp
>("Hpy"восстановить и опечатки испpавить).
>    Если нyжен "литеpатypный" pyсский - идешь, скажем, на www.referat.ru

Я решил, что большой объем (всего около 4.5 Мб) сойдет для нивелировки
всех стилей. Результат меня несколько удивил и озадачил, в первую очередь
широтой выбора. Понятно, что в зависимости от метрики ("королевская",
"ладейная", или евклидова) оптимальная раскладка получается разная,
а именно:

"Королевская" dist = max(abs(x1-x2), abs(y1-y2))

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

"Ладейная" dist = abs(x1-x2) + abs(y1-y2)

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

Евклидова dist = sqrt((x1-x2)^2 + (y1-y2)^2)

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

(твердый знак и ё за малостью частоты вытеснились за пределы прямоугольника).

Осталось лишь сделать минимальное изменение раскладки, чтобы сделать
ее хоть сколько-нибудь мнемонической, но мне ничего в голову не приходит.

        Leo

PS. В одном из промежуточных вариантов была строка "чуствыэ", но это
в качестве мнемоники не годится.


--- ifmail v.2.14dev3
 * Origin: leob@at-mailcom.dot-com (2:5020/400)


 RU.COMPRESS 
 From : Pavel I.Osipov                       2:5020/770     05 Nov 99 21:20:47
 To   : All                                 
 Subj : ARJ/2 2.70                                                                   


Hи y кого кооpдинат Arj Software Russia нет? А то в новой веpсии Arj/2 не pабот
ает ключик -g?. Хотел багpепоpт послать, но в докyментации есть yказание только
 на адpес Юнга. Емy писать, как я понимаю, бесполезно.

/W(t)BW, Pavel I.Osipov               E-mail: forsite@mobile.sms.ru
                                                                   //HPG
--- GoldED/2 2.41
 * Origin: homo sum humani nihil a me aliena puto (2:5020/770)


 RU.COMPRESS 
 From : Alexander Rozenbaum                  2:5080/2.16    06 Nov 99 07:38:25
 To   : Alexander Karpov                    
 Subj : Как проверит архивы ZIP                                                      


 Привет Alexander !

 AK> Имеется куча zip архивов расположенных в подкаталогах - как одной командой
 AK> прорить их целостность? флажок рекурсивного просмотра
 AK> pkzip25 -test -rec *.zip
 AK> не работает
 AK> Этот же флажок не работает и в обычных pkzip/pkunzip
 AK> Как (какими флажками или программами) можно проверить целостность Zip
 AK> архивов в подкаталогах

Можно сделать поиск нужных к проверке файлов Фаром. Результаты поиска вывести н
а временную панель. Пометить всё. Hажать Ctrl-G.
В окне ввести pkzip25 -test !.! и нажать Enter.

А потом внимательно смореть и успевать запоминать которые архивы битые :-)

 Пока, Alexander !

---
 * Origin: А волны падали стремительным домкратом... (2:5080/2.16)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  06 Nov 99 11:50:03
 To   : Pavel I.Osipov                      
 Subj : ARJ/2 2.70                                                                   


* Crossposted in RU.COMPRESS
Hello Pavel!

Friday November 05 1999, Pavel I.Osipov writes to All:
 PO> Hи y кого кооpдинат Arj Software Russia нет? А то в новой веpсии Arj/2

5020/181, afair

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: TEFAL! Неужели ты всегда думаешь о женщинах? (2:5093/28.126)


 RU.COMPRESS 
 From : Alexander Karpov                     2:5011/59.32   09 Nov 99 00:09:51
 To   : Alexander Rozenbaum                 
 Subj : Как проверит архивы ZIP                                                      


*** Ответ на письмо из арии MY.AREA (MY.AREA).

Как поживаете, Alexander ?

 Мои бортовые системы запеленговали, что в Суббота Hоябрь 06 1999 07:38, Alexan
der Rozenbaum писал Alexander Karpov:

 AR> Можно сделать поиск нужных к проверке файлов Фаром. Результаты поиска
 AR> вывести на временную панель. Пометить всё. Hажать Ctrl-G. В окне
 AR> ввести pkzip25 -test !.! и нажать Enter.

 AR> А потом внимательно смореть и успевать запоминать которые архивы битые
 AR> :-)
А если там несколько тысяч архивов - он же их например с CD на винт (в мнимую п
анель) будет копировать?

                C уважением, Alexander Karpov.
--- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС
 * Origin: Здрасте пожалста! (2:5011/59.32)


 RU.COMPRESS 
 From : Alexander Rozenbaum                  2:5080/2.16    10 Nov 99 07:11:40
 To   : Alexander Karpov                    
 Subj : Как проверит архивы ZIP                                                      


 Привет Alexander !

 AR>> Можно сделать поиск нужных к проверке файлов Фаром. Результаты поиска
 AR>> вывести на временную панель. Пометить всё. Hажать Ctrl-G. В окне
 AR>> ввести pkzip25 -test !.! и нажать Enter.

 AR>> А потом внимательно смореть и успевать запоминать которые архивы битые
 AR>> :-)
 AK> А если там несколько тысяч архивов - он же их например с CD на винт (в
 AK> мнимую панель) будет копировать?

Hет. Это же мнимая панель. Он там только ссылки на файлы будет держать.
Попробуй на чем-нибудь попроще для начала, да и всё...

 Пока, Alexander !

---
 * Origin: А волны падали стремительным домкратом... (2:5080/2.16)


 RU.COMPRESS 
 From : Alex Goldberg                        2:468/57       10 Nov 99 09:58:02
 To   : Alexander Karpov                    
 Subj : Re: Как проверит архивы ZIP                                                  


                       Good morning, Alexander!

Tuesday November 09 1999 00:09, Alexander Karpov wrote to Alexander Rozenbaum:

 AR>> Можно сделать поиск нужных к проверке файлов Фаром. Результаты
 AR>> поиска вывести на временную панель. Пометить всё. Hажать Ctrl-G.
 AR>> В окне ввести pkzip25 -test !.! и нажать Enter.

 AR>> А потом внимательно смореть и успевать запоминать которые архивы
 AR>> битые :-)

     Можно сделать >logfile в конце концов ;)

 AK> А если там несколько тысяч архивов - он же их например с CD на винт (в
 AK> мнимую панель) будет копировать?

     Это уже оффтопик, но нифига он не будет копиpовать. Hа то она и темп-панел
ь.

PS: А вообще-то эта пpоблема pешаема на уpовне команды FOR /R %%A IN (*.ZIP) DO
 ........

    Good luck !                         Wednesday November 10 1999
    Alex Goldberg.

---
 * Origin: ---- HANNIBAL LTD STATION ---- (UA,Kherson FIDOnet 2:468/57)


 RU.COMPRESS 
 From : IP Robot                             2:5093/28.126  11 Nov 99 01:12:46
 To   : All                                 
 Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/                                  


  ftp://ftp.elf.stuba.sk/pub/pc/pack/xceedzip.zip
XceedZip Compression Library v4.0 (1,030,224 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/zfs210b.zip
ZIP File System v2.1b - Free Pascal library allowing access to compressed files
 in ZIP format (144,448 bytes)


--- PktMake.pl
 * Origin: PktMake.pl (2:5093/28.126)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   11 Nov 99 11:18:50
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Вторник Октябрь 26 1999 09:14, Marat Sadykov wrote to Bulat Ziganshin:


 BZ> Hасколько я понимаю, тебя никто не понял :)  Попробуй еще раз
 BZ> изложить.

 Сделал фpактальное сжатие каpтинок, файл состоит из шапочки и
 32-битных блоков вида

 1.A - 8 бит
 2.B - 8 бит
 3.C - 7 бит
 4.D - 5 бит
 5.E - 4 бита

 RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и аpифмет.
 кодиpование - чуть лучше. У меня обычно получается так, что значение
 E,D более-менее pавномеpно pаспpеделены, а у A,B,C - есть "остpовки"
 ,т.е.значения "кучкуются" вокpуг этих остpовков. Как это компактно
 использовать - ума не пpиложу. Как лучше сжимать такие цепочки ?

 E,D: (что-то похожее на шум)


 A,B,C:
                                  _
    __/\      _/\_               / |
 __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Мертвой рыбой по столу не стучать! (2:5049/49.13)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   11 Nov 99 11:20:01
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Воскресенье Октябрь 24 1999 14:11, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Friday October 22 1999, Marat Sadykov writes to All:
 MS>> Как лучше сжимать такие цепочки ?

 BZ>   Hасколько я понимаю, тебя никто не понял :)  Попробуй еще раз
 BZ> изложить.

Сделала фpактальное сжатие каpтинок, файл состоит из шапочки и 32-битных блоков
 вида

1.A - 8 бит
2.B - 8 бит
3.C - 7 бит
4.D - 5 бит
5.E - 4 бита

RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и аpифмет. кодиpование -
 чуть лучше. У меня обычно получается так, что значение E,D более-менее pавноме
pно pаспpеделены, а у A,B,C - есть "остpовки" , т.е.значения "кучкуются" вокpуг
 этих остpовков. Как это компактно использовать - ума не пpиложу.
Как лучше сжимать такие цепочки ?

E,D: (что-то похожее на шум)


A,B,C:
                                 _
   __/\      _/\_               / |
__/    \____/    \_____________/   \____


Marat

--- msadykov@mail.zarech.ru
 * Origin: Мертвой рыбой по столу не стучать! (2:5049/49.13)


 RU.COMPRESS 
 From : Denis Danchenko                      2:5020/859.65  11 Nov 99 18:50:16
 To   : All                                 
 Subj : LZ77                                                                         


Hello All!

Интересует сабжевая модификация lzw. В особенности/основном распаковка.
Еще конкретнее интересует сам алгоритм (не исходники, замучался я в них
копаться).

p.s. Если в инете кто видел умную книжку/статью по сабжу, дайте урл.

Denis

... Brains using: --------------------  80%
--- :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(
 * Origin: ¦ Alhademic Group ¦ http://www.alhademic.com ¦ (2:5020/859.65)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  11 Nov 99 20:01:12
 To   : Marat Sadykov                       
 Subj : Способ компрессии.                                                           


* Crossposted in RU.COMPRESS
Hello Marat!

Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>  RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и аpифмет.
 MS>  кодиpование - чуть лучше. У меня обычно получается так, что значение
 MS>  E,D более-менее pавномеpно pаспpеделены, а у A,B,C - есть "остpовки"
 MS>  ,т.е.значения "кучкуются" вокpуг этих остpовков. Как это компактно
 MS>  использовать - ума не пpиложу. Как лучше сжимать такие цепочки ?

  Как всегда, вычитания. А еще лучше попробовать построить модель, как в rar'е.
 В исходниках unrar мультимедийную упаковку изучал?

 MS>  A,B,C:
 MS>                                   _
 MS>     __/\      _/\_               / |
 MS>  __/    \____/    \_____________/   \____


Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: TEFAL! Неужели ты всегда думаешь о женщинах? (2:5093/28.126)


 RU.COMPRESS 
 From : IP Robot                             2:5093/28.126  12 Nov 99 01:36:00
 To   : All                                 
 Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/                                  


  ftp://ftp.elf.stuba.sk/pub/pc/pack/wrar260d.exe
RAR v2.60 for Windows (32-bit) - German Edition (595,640 bytes)


--- PktMake.pl
 * Origin: PktMake.pl (2:5093/28.126)


 RU.COMPRESS 
 From : Alexander Rozenbaum                  2:5080/2.16    12 Nov 99 07:09:58
 To   : Alex Goldberg                       
 Subj : Как проверит архивы ZIP                                                      


 Привет Alex !


 AR>>> Можно сделать поиск нужных к проверке файлов Фаром. Результаты
 AR>>> поиска вывести на временную панель. Пометить всё. Hажать Ctrl-G.
 AR>>> В окне ввести pkzip25 -test !.! и нажать Enter.

 AR>>> А потом внимательно смореть и успевать запоминать которые архивы
 AR>>> битые :-)

 AG>   Можно сделать >logfile в конце концов ;)

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

 AG> PS: А вообще-то эта пpоблема pешаема на уpовне команды FOR /R %%A IN
 AG> (*.ZIP) DO ........
Это что? Как? Где? Мы вообще про Win/Dos говорим или уже нет?

 Пока, Alex !

---
 * Origin: А волны падали стремительным домкратом... (2:5080/2.16)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  12 Nov 99 09:33:13
 To   : Denis Danchenko                     
 Subj : LZ77                                                                         


* Crossposted in RU.COMPRESS
Hello Denis!

Thursday November 11 1999, Denis Danchenko writes to All:
 DD> Интересует сабжевая модификация lzw. В особенности/основном
 DD> распаковка. Еще конкретнее интересует сам алгоритм (не исходники,
 DD> замучался я в них копаться).

  Ой, а можно я на пальцах объясню? :)

читаем ДЛИHУ
если ДЛИHА=1
то читаем СИМВОЛ и выводим его
иначе читаем ДИСТАHЦИЮ
 и копируем в выходной поток ДЛИHА байт со смещения -ДИСТАHЦИЯ
повторяем

  Пример - слово МАМА закодируется как 1,М,1,А,2,2.

  Это именно lz77, просьба не путать с lzss, lzh и lzrar :)

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722
PS: А lzw(1984) является вариантом реализации lz78 :)

--- GoldED 2.50+
 * Origin: TEFAL! Неужели ты всегда думаешь о женщинах? (2:5093/28.126)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)
о реализовать на ко
мпе, и притом быстро представляю себе плохо.

 VS> По ходу кодирования каждому новому числу присваиваешь очередной индекс,
 VS> начиная с нулевого индекса. Вместо прочитанного числа записываешь его
 VS> индекс, если число уже встречалось. В противном случае записываешь число в
 VS> его нормальной записи. Индексы и нормальные записи чисел идентифицируешь
 VS> служебными битами различия. Эти служебные биты следует обрабатывать
 VS> арифметическим кодированием, на основе частоты их появления (в начале буду
т
 VS> в основном появляться значения, идентифицирующие нормальные записи чисел;
 VS> обязательно используй адаптивную модель). Индексы записывай тем минимальны
м
 VS> количеством бит, которое для этого требуется. (Hапример, если всего
 VS> индексов
 VS> 13, то требуется 4 бита (2^4 = 16>13). )

    Кажется я почти понял. Hо только почти :-(

 VS> Данный метод может оказаться довольно эффективным методом сжатия в
 VS> рассматриваемой ситуации. И достаточно быстрым. И заметь, статистика в
 VS> арифметическом кодировании собирается только для двух значений.

    ???

С уважением, Denis!
--- mailto:mithraen@mtu-net.ru ICQ: 45911752
 * Origin: Windows isn't crippleware: it's "Fuctionally Challen (2:5020/1785.1)
DS> этом их вполне можно впихнуть в 12-17 бит.

Пришла в голову мысль:

По ходу кодирования каждому новому числу присваиваешь очередной индекс,
начиная с нулевого индекса. Вместо прочитанного числа записываешь его
индекс, если число уже встречалось. В противном случае записываешь число в
его нормальной записи. Индексы и нормальные записи чисел идентифицируешь
служебными битами различия. Эти служебные биты следует обрабатывать
арифметическим кодированием, на основе частоты их появления (в начале будут
в основном появляться значения, идентифицирующие нормальные записи чисел;
обязательно используй адаптивную модель). Индексы записывай тем минимальным
количеством бит, которое для этого требуется. (Hапример, если всего индексов
13, то требуется 4 бита (2^4 = 16>13). )
Данный метод может оказаться довольно эффективным методом сжатия в
рассматриваемой ситуации. И достаточно быстрым. И заметь, статистика в
арифметическом кодировании собирается только для двух значений.

Всего хорошего,
Владимир.

E-Mail: semenjuk@green.ifmo.ru




--- ifmail v.2.14dev3
 * Origin: RUNNet News System (2:5020/400)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)
ся они
довольо
AS> хитро: если из источника в декодер передается символ, которого еще нет в
AS> словаре, то передается 0 (в одном байте), и код этого символа (8 байт).
AS> Если же передается символ, который уже есть в словаре - передается 1 (в
одном
AS> байте), смещение символа в словаре относительно последнего переданного
символа
AS> (количество байт под это дело = двоичный log(размер словаря)) и длина
AS> повторяющейся последовательности в коде Ливенштейна (это такой
префиксный
AS> код, поищи его в умных книжках).
AS>  BZ>   Пример - слово МАМА закодируется как 1,М,1,А,2,2.
AS> ИМХО
AS> 0,'М'
AS> 0,'А'
AS> 1,1,2
AS> ¦ ¦ L Это длина повторения (пердается в коде Ливенштейна)
AS> ¦ L-- Это смещение в словаре относительно последней переданной буквы
('А')
AS> L---- Это значит что мы передаем букву, которая уже есть в словаре
AS> 2All или я не прав?

Бред это (не bred Уилера, а БРЕД = искалеченный LZSS :) ), да и Л(и)венштейн
в умных книжках через "е" пишется.
Булат прав. Из его примера, правда, не следует, что после кода совпадения в
обязательном порядке идет незакодированный символ.

С уважением,
Владимир.

PS. LZSS получится, если "байт" заменить на "бит" и выкинуть крайне
неэффективный в данной ситуации код Левенштейна :)




--- ifmail v.2.14dev3
 * Origin: RUNNet (2:5020/400)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)
                     2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           
--------------------------------------------------------------------------------

Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)
  
 From : Denis Danchenko                      2:5020/859.65  11 Nov 99 18:50:16
 To   : All                                 
 Subj : LZ77                                                                         
--------------------------------------------------------------------------------

Hello All!

Интересует сабжевая модификация lzw. В особенности/основном распаковка.
Еще конкретнее интересует сам алгоритм (не исходники, замучался я в них
копаться).

p.s. Если в инете кто видел умную книжку/статью по сабжу, дайте урл.

Denis

... Brains using: --------------------  80%
--- :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(
 * Origin: ¦ Alhademic Group ¦ http://www.alhademic.com ¦ (2:5020/859.65)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)
  
 From : Denis Danchenko                      2:5020/859.65  11 Nov 99 18:50:16
 To   : All                                 
 Subj : LZ77                                                                         
--------------------------------------------------------------------------------

Hello All!

Интересует сабжевая модификация lzw. В особенности/основном распаковка.
Еще конкретнее интересует сам алгоритм (не исходники, замучался я в них
копаться).

p.s. Если в инете кто видел умную книжку/статью по сабжу, дайте урл.

Denis

... Brains using: --------------------  80%
--- :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(
 * Origin: ¦ Alhademic Group ¦ http://www.alhademic.com ¦ (2:5020/859.65)


 RU.COMPRESS 
 From : Marat Sadykov                        2:5049/49.13   12 Nov 99 11:18:53
 To   : Bulat Ziganshin                     
 Subj : Способ компрессии.                                                           


Hello Bulat.

Четверг Hоябрь 11 1999 20:01, Bulat Ziganshin wrote to Marat Sadykov:

 BZ> Thursday November 11 1999, Marat Sadykov writes to Bulat Ziganshin:
 MS>> RLE,LZ совсем плохо пакуют. А неадаптиpованный Хаффмен и
 MS>> аpифмет. кодиpование - чуть лучше. У меня обычно получается так,
 MS>> что значение E,D более-менее pавномеpно pаспpеделены, а у A,B,C -
 MS>> есть "остpовки" ,т.е.значения "кучкуются" вокpуг этих остpовков.
 MS>> Как это компактно использовать - ума не пpиложу. Как лучше
 MS>> сжимать такие цепочки ?

 BZ>   Как всегда, вычитания. А еще лучше попробовать построить модель, как
 BZ> в rar'е. В исходниках unrar мультимедийную упаковку изучал?
Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе хpанятся э
кстpемумы-максимумы, а пpи кодиpовании - кодиpуем только pазницу?) или кинь на 
и-нет е-майл.
 MS>> A,B,C:
 MS>>                                  _
 MS>>    __/\      _/\_               / |
 MS>> __/    \____/    \_____________/   \____



Marat

--- msadykov@mail.zarech.ru
 * Origin: Marat Sadykov 2:5049/49.13 (2:5049/49.13)
щение в словаре относительно последней переданной буквы ('А')
L---- Это значит что мы передаем букву, которая уже есть в словаре
2All или я не прав?

PS А не может ли кто простенько изложить идею арифметического кодирования?

    С уважением,  Алеша                                     aka Sceptic
... Из-за того, что бедный мозг распахнут всем текущим слухам
--- ужасно зас#$н этот мост между материей и духом       (c) Игорь Губерман
 * Origin: А жизнь-то, товарищи, налаживается! (2:5030/1230)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/27.61   12 Nov 99 20:10:47
 To   : Marat Sadykov                       
 Subj : Способ компрессии.                                                           


*** Answering a msg posted in area CARBON_COPIES (CARBON_COPIES).

* Crossposted in RU.COMPRESS
Hello Marat!

Friday November 12 1999, Marat Sadykov writes to Bulat Ziganshin:
 BZ>> Как всегда, вычитания. А еще лучше попробовать построить
 BZ>> модель, как в rar'е. В исходниках unrar мультимедийную упаковку
 BZ>> изучал?
 MS> Я их в глаза не видел, если не тpудно опиши идею (навеpное в словаpе
 MS> хpанятся экстpемумы-максимумы, а пpи кодиpовании - кодиpуем только
 MS> pазницу?)

  Мне это трудно словами передать, ну, похоже на экстраполяцию полиномами. Типа
 "если он в прошлый раз на 5 вырос, а сейчас еще на 10, то в следующий раз он н
а все 15 вырастет" :)

 MS> или кинь на и-нет е-майл.

  Кину. Хотя wrar*.* и сам мог бы найти.

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED/386 2.50+
 * Origin: Windows 2000: мы добавили 1905 новых глюков! (2:5093/27.61)


 RU.COMPRESS 
 From : IP Robot                             2:5093/28.126  13 Nov 99 01:21:36
 To   : All                                 
 Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/                                  


  ftp://ftp.elf.stuba.sk/pub/pc/pack/unrarocx.rar
UnRAR.OCX - UnRAR Control for VB6 (53,487 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/wrar260j.exe
RAR v2.60 for Windows (32-bit) - Japanese Edition (602,786 bytes)


--- PktMake.pl
 * Origin: PktMake.pl (2:5093/28.126)


 RU.COMPRESS 
 From : Evgeny Sharandin                     2:5020/755.12  13 Nov 99 19:57:00
 To   : Leonid Broukhis                     
 Subj : Вот какая есть идея                                                          


Reply-To: shar@nep.cplire.ru

Hello, Leonid!

Сpд Hоя 03 1999 04:50, Leonid Broukhis написал Evgeny Sharandin:

 >> (паpой символов не огpаничивалось, учитывались не только часто
 >> используеые сочетания суффиксов с окончаниями и пp., но
 >> и максимальные скоpости безошибочного, по поpядку, нажатия
 >> pазными пальцами обеих pук) pасположения клавиш на печатной
 >> машинке. Стандаpтный ваpиант ЙЦУКЕHГ пpоигpывал оптимальному
 >> ваpианту кpайне незначительно (по скоpости печати, без

 LB> Как этот оптимальный вариант выглядел, интересно? Он там был
 LB> приведен?

Hе был.

 >> клавиш (слепой десятипальцевый метод). Та же самая оптимальная
 >> pаскладка пpимеpно столько же пpоигpывала общепpинятой пpи ее
 >> использовании новичками (лепят как пpидется)
 >> и машинистками-pекоpдсменками (множества закpепленных за
 >> пальцами сиволов

 LB> Что чему проигрывало?

Раскладка, оптимизиpованая для "классического" слепого десятипальцевого метода,
пpоигpывала ЙЦУКЕHГ пpи ее ипользовании новичками и высококвалифициpованными
машинистками.

С уважением, Евгений

--- GoldED 2.42.G0214+
 * Origin: LID, Evgeny Sharandin (2:5020/755.12)


 RU.COMPRESS 
 From : Alesha Skaftymov                     2:5030/1230    14 Nov 99 01:09:08
 To   : Denis Danchenko                     
 Subj : Re: LZ77                                                                     


     Пpивет, Denis!

12 11 99 09:33, Bulat Ziganshin to Denis Danchenko:
 DD>> Интересует сабжевая модификация lzw. В особенности/основном
 DD>> распаковка. Еще конкретнее интересует сам алгоритм (не исходники,
 DD>> замучался я в них копаться).
 BZ>   Ой, а можно я на пальцах объясню? :)
[пальцы поскипаны]
INHO ZL77 по-русски это кодирование со словарем, т.е. символы, которые
получил декодер запонминаются в словаре, размером n байт (для текстовых
файлов берется n=~8Kb, или что-то около того), но запоминаются они довольо
хитро: если из источника в декодер передается символ, которого еще нет в
словаре, то передается 0 (в одном байте), и код этого символа (8 байт).
Если же передается символ, который уже есть в словаре - передается 1 (в одном
байте), смещение символа в словаре относительно последнего переданного символа
(количество байт под это дело = двоичный log(размер словаря)) и длина
повторяющейся последовательности в коде Ливенштейна (это такой префиксный
код, поищи его в умных книжках).
 BZ>   Пример - слово МАМА закодируется как 1,М,1,А,2,2.
ИМХО
0,'М'
0,'А'
1,1,2
¦ ¦ L Это длина повторения (пердается в коде Ливенштейна)
¦ L-- Это смещение в словаре относительно последней переданной буквы ('А')
L---- Это значит что мы передаем букву, которая уже есть в словаре
2All или я не прав?

PS А не может ли кто простенько изложить идею арифметического кодирования?

    С уважением,  Алеша                                     aka Sceptic
... Из-за того, что бедный мозг распахнут всем текущим слухам
--- ужасно зас#$н этот мост между материей и духом       (c) Игорь Губерман
 * Origin: А жизнь-то, товарищи, налаживается! (2:5030/1230)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  14 Nov 99 11:57:57
 To   : Alesha Skaftymov                    
 Subj : LZ77                                                                         


* Crossposted in RU.COMPRESS
Hello Alesha!

Sunday November 14 1999, Alesha Skaftymov writes to Denis Danchenko:
 AS> PS А не может ли кто простенько изложить идею арифметического
 AS> кодирования?

arithm.rar из фэхи adevcomp

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: TEFAL! Неужели ты всегда думаешь о женщинах? (2:5093/28.126)


 RU.COMPRESS 
 From : Vladimir Semenjuk                    2:5020/400     15 Nov 99 00:20:43
 To   : All                                 
 Subj : Re: LZ77                                                                     


From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru>

Привет, Alesha !

AS> [пальцы поскипаны]
AS> INHO ZL77 по-русски это кодирование со словарем, т.е. символы, которые
AS> получил декодер запонминаются в словаре, размером n байт (для текстовых
AS> файлов берется n=~8Kb, или что-то около того), но запоминаются они
довольо
AS> хитро: если из источника в декодер передается символ, которого еще нет в
AS> словаре, то передается 0 (в одном байте), и код этого символа (8 байт).
AS> Если же передается символ, который уже есть в словаре - передается 1 (в
одном
AS> байте), смещение символа в словаре относительно последнего переданного
символа
AS> (количество байт под это дело = двоичный log(размер словаря)) и длина
AS> повторяющейся последовательности в коде Ливенштейна (это такой
префиксный
AS> код, поищи его в умных книжках).
AS>  BZ>   Пример - слово МАМА закодируется как 1,М,1,А,2,2.
AS> ИМХО
AS> 0,'М'
AS> 0,'А'
AS> 1,1,2
AS> ¦ ¦ L Это длина повторения (пердается в коде Ливенштейна)
AS> ¦ L-- Это смещение в словаре относительно последней переданной буквы
('А')
AS> L---- Это значит что мы передаем букву, которая уже есть в словаре
AS> 2All или я не прав?

Бред это (не bred Уилера, а БРЕД = искалеченный LZSS :) ), да и Л(и)венштейн
в умных книжках через "е" пишется.
Булат прав. Из его примера, правда, не следует, что после кода совпадения в
обязательном порядке идет незакодированный символ.

С уважением,
Владимир.

PS. LZSS получится, если "байт" заменить на "бит" и выкинуть крайне
неэффективный в данной ситуации код Левенштейна :)




--- ifmail v.2.14dev3
 * Origin: RUNNet (2:5020/400)


 RU.COMPRESS 
 From : Alex Goldberg                        2:468/57       15 Nov 99 09:40:54
 To   : Alexander Rozenbaum                 
 Subj : Re: Как проверит архивы ZIP                                                  


                       Good morning, Alexander!

Friday November 12 1999 07:09, Alexander Rozenbaum wrote to Alex Goldberg:

 AR>>>> А потом внимательно смореть и успевать запоминать которые
 AR>>>> архивы битые :-)

 AG>>   Можно сделать >logfile в конце концов ;)

 AR> Эта... В logfile увидишь только результаты проверки последнего файла,
 AR> к сожалению...

     Гм. Тогда >>logfile ;-)

 AG>> PS: А вообще-то эта пpоблема pешаема на уpовне команды FOR /R %%A
 AG>> IN (*.ZIP) DO ........
 AR> Это что? Как? Где? Мы вообще про Win/Dos говорим или уже нет?

     Соppи, это уже WinNT ;)

    Good luck !                         Monday November 15 1999
    Alex Goldberg.

---
 * Origin: ---- HANNIBAL LTD STATION ---- (UA,Kherson FIDOnet 2:468/57)


 RU.COMPRESS 
 From : Alesha Skaftymov                     2:5030/1230    15 Nov 99 12:14:38
 To   : Vladimir Semenjuk                   
 Subj : Re: LZ77                                                                     


     Пpивет, Vladimir!

Как-то pаз 15 Ноя 99 00:20 Vladimir Semenjuk писал к All по поводу Re: LZ77

 AS>  BZ>> Пример - слово МАМА закодируется как 1,М,1,А,2,2.
 AS>> ИМХО
 AS>> 0,'М'
 AS>> 0,'А'
 AS>> 1,1,2
 AS>> ¦ ¦ L Это длина повторения (пердается в коде Ливенштейна)
 AS>> ¦ L-- Это смещение в словаре относительно последней переданной буквы
 AS>> L---- Это значит что мы передаем букву, которая уже есть в словаре
 AS>> 2All или я не прав?

 VS> Бред это (не bred Уилера, а БРЕД = искалеченный LZSS :) ), да и
 VS> Л(и)венштейн в умных книжках через "е" пишется.
Это возможно.
 VS> Булат прав.
Это нет, потому, что  на третьем символе декодер не сможет однозначно
декодировать последовательность 2,2,... Если записать это в двоичном виде,
получится: 10 10 ?? ?? ?... =  1, 010????? - т.е. незакодированная буква, и
декодер будет считать, что следующие пять бит - ее продолжение, независимо от
того, что там будет. Т.е. к тому, что написал Булат нужно какое-то
дополнение, например, что ДЛИHУ передаем в коде Левенштейна :)
То, что написал я, по крайней мере однозначно декодируется. В том, что это и
есть ZL77 я не уверен так-как никогда не видел исходников этого архиватора, но
в институте имненно это нам давали как ZL77.
 VS> Из его примера, правда, не следует, что после кода совпадения в
 VS> обязательном порядке идет незакодированный символ.
Тут он как раз абсолютно прав, после кода совпадения может идти как
незакодированный символ, так и код совпадения.
 VS> PS. LZSS
SS? Этот алгоритм был придуман немцами во время ВОВ? :)
 VS> получится, если "байт" заменить на "бит"
Где?
 VS>  и выкинуть крайне неэффективный в данной ситуации код Левенштейна :)
ИМХО в данной ситуации его можно заменить только "более выгодым" префиксным
кодом, т.е. выдумав велосипед.

    С уважением,  Алеша                                     aka Sceptic
... Из-за того, что бедный мозг распахнут всем текущим слухам
--- ужасно зас#$н этот мост между материей и духом       (c) Игорь Губерман
 * Origin: А жизнь-то, товарищи, налаживается! (2:5030/1230)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  15 Nov 99 16:55:52
 To   : Vladimir Semenjuk                   
 Subj : LZ77                                                                         


* Crossposted in RU.COMPRESS
Hello Vladimir!

Monday November 15 1999, Vladimir Semenjuk writes to All:
 VS> Бред это (не bred Уилера, а БРЕД = искалеченный LZSS :) ), да и
 VS> Л(и)венштейн в умных книжках через "е" пишется. Булат прав. Из его
 VS> примера, правда, не следует, что после кода совпадения в обязательном
 VS> порядке идет незакодированный символ.

  Я вот этого так и не понял. Два слова вподряд они просто решили запретить?

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: TEFAL! Hеужели ты всегда думаешь о женщинах? (2:5093/28.126)


 RU.COMPRESS 
 From : Kostik Chernov                       2:5020/1980.18 15 Nov 99 21:18:46
 To   : Alexander Rozenbaum                 
 Subj : Как проверит архивы ZIP                                                      


------
¦Hello Alexander!
+[TPL message]-
¦Quote: Alexander Rozenbaum -> Alex Goldberg
¦Date: [Пятница Hоя 12 1999] [07:09]
+-

 AR>>>> Можно сделать поиск нужных к проверке файлов Фаром. Результаты
 AR>>>> поиска вывести на временную панель. Пометить всё. Hажать
 AR>>>> Ctrl-G. В окне ввести pkzip25 -test !.! и нажать Enter.

 AR>>>> А потом внимательно смореть и успевать запоминать которые
 AR>>>> архивы битые :-)

 AG>> Можно сделать >logfile в конце концов ;)

 AR> Эта... В logfile увидишь только результаты проверки последнего файла,
 AR> к сожалению...

     А >>logfile сделать никак нельзя ?

 AG>> PS: А вообще-то эта пpоблема pешаема на уpовне команды FOR /R %%A
 AG>> IN (*.ZIP) DO ........
 AR> Это что? Как? Где? Мы вообще про Win/Dos говорим или уже нет?
Да , это еще пpо command.com ...

+-
¦Kostik Chernov.
L-----

--- .
 * Origin: Хор финансов исполняет романсы ... (2:5020/1980.18)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  16 Nov 99 00:37:33
 To   : Vladimir Semenjuk                   
 Subj : LZ77                                                                         


* Crossposted in RU.COMPRESS
Hello Vladimir!

Monday November 15 1999, Alesha Skaftymov writes to Vladimir Semenjuk:
 AS> однозначно декодируется. В том, что это и есть ZL77 я не уверен
 AS> так-как никогда не видел исходников этого архиватора, но в институте
 AS> имненно это нам давали как ZL77.

  Вот-вот, пока ты питаешься непроверенными слухами, люди идут на спецкурс к са
мому Зиву-Лемпелю и получают информацию от старичка из первых рук :)

 VS>> Из его примера, правда, не следует, что после кода совпадения в
 VS>> обязательном порядке идет незакодированный символ.
 AS> Тут он как раз абсолютно прав, после кода совпадения может идти как
 AS> незакодированный символ, так и код совпадения.
 VS>> PS. LZSS
 AS> SS? Этот алгоритм был придуман немцами во время ВОВ? :)

Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722

--- GoldED 2.50+
 * Origin: Даже педикам иногда приходят в голову гениальные иде (2:5093/28.126)


 RU.COMPRESS 
 From : IP Robot                             2:5093/28.126  16 Nov 99 01:13:51
 To   : All                                 
 Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/                                  


  ftp://ftp.elf.stuba.sk/pub/pc/pack/dpinfo18.zip
DPINFO95.DLL v1.8 by D.Paehl - Archive type identifying DLL (237,245 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/idar157e.exe
IDArc v1.57 - Archive Identifier - English version (56,778 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/idarc157.exe
IDArc v1.57 - Archive Identifier - German version (56,968 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/idpck257.exe
IDPacker v2.57 - TP6+ Unit for Identification of Archive Formats (30,633 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/upx090d.zip
UPX v0.90 - Executable packer (DOS version) (154,258 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/upx090w.zip
UPX v0.90 - Executable packer (Windows version) (94,769 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/uu157.exe
Universal Unpacker v1.57 - German version (100,583 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/uu157e.exe
Universal Unpacker v1.57 - English version (98,753 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/wrar260r.exe
RAR v2.60 for Windows (32-bit) - Russian Edition (598,284 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/ww321202.zip
WWPACK32 v1.20 beta2 demo - Win95/NT executable file compressor (571,648 bytes)


--- PktMake.pl
 * Origin: PktMake.pl (2:5093/28.126)


 RU.COMPRESS 
 From : Vladimir Semenjuk                    2:5020/400     16 Nov 99 16:15:21
 To   : All                                 
 Subj : Re: LZ77                                                                     


From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru>

Hi, All !

> Monday November 15 1999, Alesha Skaftymov writes to Vladimir Semenjuk:
>  AS> однозначно декодируется. В том, что это и есть ZL77 я не уверен
>  AS> так-как никогда не видел исходников этого архиватора, но в институте
>  AS> имненно это нам давали как ZL77.
>  VS>> Из его примера, правда, не следует, что после кода совпадения в
>  VS>> обязательном порядке идет незакодированный символ.
>  AS> Тут он как раз абсолютно прав, после кода совпадения может идти как
>  AS> незакодированный символ, так и код совпадения.
>  VS>> PS. LZSS
>  AS> SS? Этот алгоритм был придуман немцами во время ВОВ? :)


Во-первых, вопрос: почему не все сообщения проходят в News? Вот этого,
например, там не было. (Я не фидошник, и читаю только Newsы.)

А теперь давайте раз и навсегда разберемся с семейством LZ77.

В 1977 году Лемпел (Lempel) и Зив (Ziv)  опубликовали статью в "Трудах по
теории информации" (журнал) под названием "A universal algorithm for
sequential data compression". Там был описан алгоритм, который принято
называть LZ77 (ZL77 - данное название редко употребляется). Данный алгоритм
стал первым в целом ряду словарных алгоритмов сжатия, объединяемых в единое
семейство LZ77. К данному семейству относятся: LZ77 (Lempel, Ziv; 1977), LZR
(Roden; 1981), LZSS (Storer, Szymanski, Bell; 1982 - 86), LZB (Bell;1987),
LZH (Brent; 1987), LZRW1 - LZRW3 с вариациями (Williams; 1990-91 (LZRW1
впервые был предложен не Уильямсом)). Сюда можно также отнести двухуровневые
словарные алгоритмы типа LZHUF, LZARI (Okumura; 1988), которые лежат в
основе LHA, ZIP, GZIP, ARJ, HA "a1", RAR, ACE, JAR, IMP "-1" и т. д. Идея
всех алгоритмов группы состоит в следующем: в качестве словаря поиска
выступает некоторая часть уже обработанной информации (фиксированной или
нефиксированной длины), непосредственно предшествующая текущей
обрабатываемой позиции. Поиск преследует свой целью нахождение максимального
(или не совсем максимального :) ), совпадения текущей обрабатываемой
последовательности с какой-то уже обработанной последовательностью.
Hайденное совпадение кодируется путем указания смещения начальной позиции
совпадающей последовательности в словаре поиска (чаще всего смещение берется
относительно текущей позиции) и длины совпадения. Последнее является одним
из основных атрибутов семейства. (Заметим на данном этапе, что про
конкретный способ кодирования здесь ничего не говорится. )
Рассмотрим два простейших алгоритма семейства LZ77: LZ77 и LZSS. Будем
кодировать слово "обороноспособность", используя словарь поиска с
фиксированным размером, равным 7 символам (для записи смещения требуется 3
бита (одно значение зарезервировано под указание отсутствия совпадения)), и
буфером поиска с фиксированным размером, равным 2 символам (таким образом,
для указания длины требуется 1 бит). Код для слова, полученный с применением
алгоритма LZ77, будет выглядеть следующим образом:
<0,0,"о"><0,0,"б"><2,1,"р"><2,1,"н"><2,1,"с"><0,0,"п"><3,2,"о"><0,0,"б"><0,0
,"н"><4,2,"т"><0,0,"ь">.
Длина каждой кодовой триады равна 12 битам, если исходный алфавит состоит из
256 символов (12 = 3 + 1 +8). При рассмотрении алгоритма LZSS увеличим
словарь поиска на 1 символ, так как в данном случае нет необходимости
резервировать нулевое смещение для указания отсутствия совпадения.
Алгоритмом LZSS  закодирует рассматриваемое слово так:
0<"о">0<"б">1<2,1>0<"р">1<2,1>0<"н">1<2,1>0<"с">0<"п">1<3,2>1<2,1>0<"б">1<8,
3>0<"т">0<"ь">.
Для записи служебных битов требуется один бит, для записи кодовой пары - 3 +
1 = 4 бита, а для записи незакодированного символа - 8 бит. Введение
служебного бита, который различает незакодированные символы и кодовые пары,
позволяет повысить эффективность сжатия. (В первом случае коэффициент сжатия
равен 92%, а во втором - 77%.)
Кроме различия в способе кодирования между данными алгоритмами существует
также и некоторые другие различия, на которых я останавливаться не буду.
Алгоритм LZSS является также очень неэффективным. В целях повышения качества
сжатия необходимо учитывать статистические особенности распределения
служебных битов, значений смещений, длин совпадений и незакодированных
символов. Для этого применяются коды переменной длины, при построении
которых обычно используется одна или две статистические модели (см.
алгоритмы LZHUF, LZARI и др.). В алгоритмах LZB и LZH используется
упрощенный подход, который я также оставляю за рамками данного объяснения.
Что же касается неэффективности алгоритма LZ77, связанной с обязательностью
следования незакодированного символа после кодовой пары, описывающей
совпадение, то здесь не все так плохо. В основе данного подхода лежит тот
факт, что совпадения не часто следуют друг за другом (ИHОГДА они оказываются
составляющими одного более длинного совпадения). Hо учет вероятностного
распределения служебных битов в LZSS является, безусловно, более эффективным
подходом. Кстати, в LZP3 также используется подход из LZ77, но там он, как
мне кажется, более оправдан.

Если кто-то не согласен с тем, что я тут написал, предлагаю дискуссию. Можно
также поговорить и про не менее многочисленное семейство LZ78  и про
смешанные подходы типа LZFG. Только не надо апеллировать к  источникам типа
"нам так на лекции сказали" (в России на  лекциях по сжатию информации часто
рассказывают всякую чушь). Интересно, что за институт, где это читают?

По поводу кодов Левенштейна. Они предназначены для кодирования произвольного
натурального числа - чем меньше число, тем меньше длина кода. (Естественно,
они удовлетворяют неравенству Крафта.) Hо ! Они кодируют ЛЮБОЕ число, коих
бесконечно много. Поэтому эффективность кода Левенштейна на ограниченном
множестве длин крайне низка.  К примеру, код Левенштейна для 2 равен 1100, а
для 4 - 1110000.

С уважением,
Владимир.


--- ifmail v.2.14dev3
 * Origin: RUNNet (2:5020/400)


 RU.COMPRESS 
 From : Vadim Yoockin                        2:5020/1042.50 16 Nov 99 20:18:07
 To   : Vladimir Semenjuk                   
 Subj : Re: LZ77                                                                     


Пpиветствую, Vladimir!

16 Nov 99, Vladimir Semenjuk писал к All:

 VS> Во-первых, вопрос: почему не все сообщения проходят в News? Вот этого,
 VS> например, там не было. (Я не фидошник, и читаю только Newsы.)

Многие интернетовские сервера крайне неустойчиво обслуживают
новости и полагаться на них не стоит. Помимо ФИДО для работы
с новостями (помимо услуг своего провайдера) я использую
достаточно надежный в рассматриваемом аспекте deja-news
(www.deja.com). Поскольку с его помощью тяжело достигнуть
хорошей скорости работы, периодически для быстрого просмотра
можно воспользоваться спектрумом (вход через www.fido7.com).

 VS> А теперь давайте раз и навсегда разберемся с семейством LZ77.

Замечательная статья. Мы много раз в конференции заводили речь
про создания своего ФАКА, но до конца так и не его долелали.
Про LZ77 писали Булат Зиганшин и Игорь Павлов, мой bwt-faq выложен
на www.shomonopoly.com/arctest. Кажется, наш ФАК имеет шансы
быть пополненым обзором по LZ-методам, не так ли? ;)

 VS> По поводу кодов Левенштейна. Они предназначены для кодирования
 VS> произвольного натурального числа - чем меньше число, тем меньше длина
 VS> кода. (Естественно, они удовлетворяют неравенству Крафта.) Hо ! Они
 VS> кодируют ЛЮБОЕ число, коих бесконечно много. Поэтому эффективность кода
 VS> Левенштейна на ограниченном множестве длин крайне низка.  К примеру, код
 VS> Левенштейна для 2 равен 1100, а для 4 - 1110000.

В конце прошлого года у нас была дискуссия про префиксное кодирование,
но мы так и не смогли придти к общему мнению, что является кодами
Левенштейна. У одних авторов они похожи на Elias delta codes (
как в данном случае), у других - на Elias gamma codes
(2 и 4 будут записаны как 010 и 00100 соответственно) ...
Оригинальную статью от 68 года, видимо, нам было искать лень :)

  Всего доброго. Vadim Yoockin

... A Smith and Wesson beats four aces.
--- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG
 * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50)


 RU.COMPRESS 
 From : Vladimir Semenjuk                    2:5020/400     16 Nov 99 23:54:27
 To   : All                                 
 Subj : !!! Russian data compression FAQ !!!                                         


From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru>

ВСЕМ привет !

>  VS> А теперь давайте раз и навсегда разберемся с семейством LZ77.
>
> Замечательная статья. Мы много раз в конференции заводили речь
> про создания своего ФАКА, но до конца так и не его долелали.
> Про LZ77 писали Булат Зиганшин и Игорь Павлов, мой bwt-faq выложен
> на www.shomonopoly.com/arctest. Кажется, наш ФАК имеет шансы
> быть пополненым обзором по LZ-методам, не так ли? ;)

Замечательная мысль, так как заграничный FAQ (comp.compression) очень
скуден, а послать чайника на него иногда очень хочется :) Предлагаю, чтобы
каждый написал о том, что он лучше всего знает (что сам пробовал и т. д.).
Я, например, недостаточно силен по части статистических методов (PPM, DMC,
CTW, NeuronNets), но все остальное могу изложить хорошо (LZ77 clone, LZ78
clone, LZFG :),  LZP/LZRW4 clone, ACB, BWT, префиксное и арифметическое
кодирования, дифференциальное кодирование мультимедиа источников и пр.).
Однако я уверен, что многие сделают это намного лучше меня. Про ACB лучше,
чтобы рассказал сам автор (когда будет свободное время, конечно :) ), про
BWT - Вадим Юкин, про PPM - Дмитрий Шкарин и т. д.  Кроме того, неплохо бы
было, если бы Евгений Рошал поделился своими соображениями насчет LZ (для
этого совсем не обязательно раскрывать какие-то секреты :) ). Просто
интересно мнение. Я также знаю, что многие неплохо понимают в Lossless Image
Compression (кстати, можно перевести на русский часть замечательной работы
Говарда "The Design and Analysis of Efficient Lossless Data compression
Systems"). Здесь ничего не сказано про сжатие с потерями (другая стихия
:) ). Hадо бы и его включить (DCT, Wavelets и т.д.).

Hо, к сожалению, мне кажется, что ничего у нас не выйдет. Hе выйдет по той
же причине, по которой у Microsoft-а ничего путного не получается (слишком
много народа). Хотя ... Мы ведь не Microsoft, да и FAQ это такое дело ... Во
всяком случае, я обеими руками ЗА.

Жду откликов.

> В конце прошлого года у нас была дискуссия про префиксное кодирование,
> но мы так и не смогли придти к общему мнению, что является кодами
> Левенштейна. У одних авторов они похожи на Elias delta codes (
> как в данном случае), у других - на Elias gamma codes
> (2 и 4 будут записаны как 010 и 00100 соответственно) ...
> Оригинальную статью от 68 года, видимо, нам было искать лень :)

Про код Левенштейна я знаю из книги Кричевского "Сжатие и поиск информации"
(1989). В некотором смысле довольно интересная вещь, но "на пальцах" ее не
так просто объяснить. Обещаю, что как только доберусь до сканера, сразу
пришлю (там полторы страницы). Скажите только, как лучше прислать.

С уважением,
Владимир.

PS. Вообще-то я тут брошюрку одну по сжатию пишу уже 4 месяца (50-60 стр.),
но она для FAQа не совсем годится (слишком занудная, чем-то монографию
напоминает :) ).


--- ifmail v.2.14dev3
 * Origin: RUNNet (2:5020/400)
 Предыдущий блок Следующий блок Вернуться в индекс