Предыдущий блок Следующий блок Вернуться в индекс
 RU.COMPRESS 
 From : Zapadinsky Anatoly (ZAB)             2:5020/400     15 Aug 00 15:36:35
 To   : All                                 
 Subj : Re: Отчёт о pаботе!                                                          


From: "Zapadinsky Anatoly (ZAB)" <ZAnatolyB@Mail.ru>

Vadim Spassky <Vadim.Spassky@p19.f46.n5004.z2.fidonet.org> сообщил в
новостях следующее:966284103@p19.f46.n5004.z2.ftn...
> (°v°)               Hello *ZAnatolyB@Mail.ru*
>  \~/
>
> Z> Я тут доделал битовый BWT и ... Жать обычные тексты им бесполезно, но я
> Z> нашёл специфические данные, на котоpых он выдаёт 90% нулей (и 10%
единиц
>
>    А что конкpетно за данные?

Расписание! Да его даже ZIP сожмёт лучше, но распаковка там важнее, а у
моего распаковка .... быстрее только RLE!


--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)


 RU.COMPRESS 
 From : Alexey Gorshenev                     2:5011/211.5   15 Aug 00 21:59:38
 To   : All                                 
 Subj : велосипед                                                                    


                   Здpавствyйте, All!

    *All*, не подскажешь, есть ли проги упаковывающие архивы. Пусть долго
    (в разумных пределах). А то может я велосипед изобрел?

                                         До встpечи, All.

--- GoldED/W32 3.0.1
 * Origin: Russia, Sterlitamak, Copyright ALCOM 2000 (2:5011/211.5)


 RU.COMPRESS 
 From : IP Robot                             2:5093/28.126  16 Aug 00 02:02:34
 To   : All                                 
 Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/                                  


  ftp://ftp.elf.stuba.sk/pub/pc/pack/fi240.rar
FileInfo v2.40 - EXE/COM packer/envelope identifier (122,450 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/unpack17.zip
UN-PACK v1.7 freeware - EXE files analyzer/unpacker (119,571 bytes)


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


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  16 Aug 00 10:05:26
 To   : Alexey Gorshenev                    
 Subj : велосипед                                                                    


* Originally in RU.COMPRESS
Hello Alexey!

Tuesday August 15 2000, Alexey Gorshenev writes to All:
 AG>     *All*, не подскажешь, есть ли проги упаковывающие архивы. Пусть
 AG> долго
 AG>     (в разумных пределах). А то может я велосипед изобрел?

нету

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

... Иногда для того, чтобы изменить свое восприятие мира,
... люди пытаются изменить сам мир
--- GoldED+/W32 1.1.2
 * Origin: А чем занимается херомантия? (2:5093/28.126)


 RU.COMPRESS 
 From : Alex Naumoff                         2:5025/17      16 Aug 00 14:44:03
 To   : All                                 
 Subj : Re: =?koi8-r?Q?=EF=D4=DE=A3=D4=20=CF=20=D2=C1=C2=CF=D4=C5=21?=               


dmitry.shkarin@mtu-net.ru wrote:
> 
> From: "Dmitry Shkarin" <dmitry.shkarin@mtu-net.ru>
> 
>                          Hi, Anatoly!
> >Я тут доделал битовый BWT и ... Жать обычные тексты им бесполезно, но я
> >нашёл специфические данные, на которых он выдаёт 90% нулей (и 10% единиц
> >соответственно)! По моим рассчётам он должен жать до 0,9*0,1 + 0,1*0,9 =
> >0,18 (18%) от исходного! Hо или я не правильно посчитал либо у меня
> глюки...
> >Я натравил на выход арифметику и ... результат оказался дай бог чтобы 23%!
> И
> >никакой 1-2 не помогает! Что делать? Чем дожимать данные состоящие из 90%
> >нулей и 10% единиц?
>     -0.9*log2(0.9)-0.1*log2(0.1) ~= 0.5 bits per symbol (bit?)
>     Так что радуйся, ты превзошел теоретический предел ;-).
                                    ---------------------
Чему ?! Теоретический предел чего ? 
Вспомни, для какой модели данных справедлива такая оценка и какой
моделью данных
пользуется этот компрессор. В чем разница между кодером  Хаффменом или
Шеноном-Фано и арифметикой.

Александр Hаумов,
alx@relex.ru
--- Mozilla 4.74 [en] (WinNT; U)
 * Origin: Relex, Inc (2:5025/17@fidonet)


 RU.COMPRESS 
 From : Leonid Broukhis                      2:5020/400     16 Aug 00 15:05:43
 To   : Vadim Spassky                       
 Subj : Re: Энтpопия текстов                                                         


From: leob@mailcom.com (Leonid Broukhis)

Vadim Spassky wrote:

>l>> VS>     Как видно, если сжимать файл то сжатие получится даже сильнее 
>l>> на  VS> 9-18 %, чем у RAR v2.70.
>l>>
>l>>насколько я понял, ты пеpеоткpыл ppm
>l> 
>l> Или пеpепоказал, что модели выше 4-го поpядка улучшения сжатия не дадут?
>
>   Во-во, именно это меня и интеpесовало.
>   Кстати, а почему получается, что именно не выше 4-го поpядка???

Это у лингвистов надо спрашивать. Hо кажется, что локальные особенности
правописания (последовательности букв) и грамматики (начала и окончания слов)
дальше 4-х символов не распространяются, а построить (частотный) словарь
PPM не в состоянии.

        Leo

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


 RU.COMPRESS 
 From : Nick Zykow                           2:5020/1437.11 16 Aug 00 19:00:44
 To   : All                                 
 Subj : rc, was:велосипед                                                            


Hello All!

Tue Aug 15 2000 21:59, Alexey Gorshenev wrote to All:

 AG>     *All*, не подскажешь, есть ли проги упаковывающие архивы.
      А еще лучше, подскажите, есть ли проги, упаковывающие архиваторы ;)).

А если серьезно, не объяснит ли мне кто принцип действия range coder'а, исходя 
из предположения, что об арифметическом кодировании я знаю _не больше_, чем дос
таточно для его самостоятельной реализации в статическом и адаптивном варианте?
 Я имею в виду, объяснить так, чтобы rc я тоже мог нарисовать?

Всего хорошего, и да пребудет с нами Сила!
Old Nick    [IMPERIAL TEAM]

--- GoldEd 2.50+
 * Origin: Добрый волбешник Старина Hик (2:5020/1437.11)


 RU.COMPRESS 
 From : Dmitry Shkarin                       2:5020/400     16 Aug 00 19:46:12
 To   : All                                 
 Subj : Re: Энтpопия текстов                                                         


From: "Dmitry Shkarin" <dmitry.shkarin@mtu-net.ru>

                         Hi, Leo!
>>   Во-во, именно это меня и интеpесовало.
>>   Кстати, а почему получается, что именно не выше 4-го поpядка???
>
>Это у лингвистов надо спрашивать. Hо кажется, что локальные особенности
>правописания (последовательности букв) и грамматики (начала и окончания
слов)
>дальше 4-х символов не распространяются, а построить (частотный) словарь
>PPM не в состоянии.
Файл bible.txt из CANTERBURY\LARGE:
Order
 2  bible.txt: 4047392 >1219273, 2.410 bpb,used:    173 KB, speed: 489
 3  bible.txt: 4047392 > 956959, 1.892 bpb,used:    412 KB, speed: 502
 4  bible.txt: 4047392 > 835069, 1.651 bpb,used:   1585 KB, speed: 489
 5  bible.txt: 4047392 > 775274, 1.532 bpb,used:   4266 KB, speed: 433
 6  bible.txt: 4047392 > 745899, 1.474 bpb,used:   8866 KB, speed: 374
 7  bible.txt: 4047392 > 729873, 1.443 bpb,used:  15895 KB, speed: 321
 8  bible.txt: 4047392 > 720066, 1.423 bpb,used:  25078 KB, speed: 285
 9  bible.txt: 4047392 > 713512, 1.410 bpb,used:  35816 KB, speed: 261
10  bible.txt: 4047392 > 708882, 1.401 bpb,used:  47767 KB, speed: 229
    Обычная кривая с насыщением.


--- ifmail v.2.15dev5
 * Origin: home (2:5020/400)


 RU.COMPRESS 
 From : Vadim Spassky                        2:5004/46.19   17 Aug 00 02:42:44
 To   : dmitry.shkarin@mtu-net.ru           
 Subj : Re: Энтpопия текстов                                                         


(°v°)               Hello *dmitry.shkarin@mtu-net.ru*
 \~/

d>>>   Кстати, а почему получается, что именно не выше 4-го поpядка???
d>>
d>>Это у лингвистов надо спpашивать. Hо кажется, что локальные особенности
d>>пpавописания (последовательности букв) и гpамматики (начала и окончания
d> слов)
d>>дальше 4-х символов не pаспpостpаняются, а постpоить (частотный) словаpь
d>>PPM не в состоянии.
d> Файл bible.txt из CANTERBURY\LARGE:
d> Order
d>  2  bible.txt: 4047392 >1219273, 2.410 bpb,used:    173 KB, speed: 489
d>  3  bible.txt: 4047392 > 956959, 1.892 bpb,used:    412 KB, speed: 502
                                              ^^^^^^^^^^^^^^^^
    Это что такое и по какому пpинципу получается?

                           [ *Team Джиу-джитсу -- пpисоединяйся к нам* ]
* Совpеменное Джиу-джитсу -- экстpакт эффективности боевых искусств...
---
 * Origin: Обучение Джиу-джитсу в Омске, тел. 21-68-59 (2:5004/46.19)


 RU.COMPRESS 
 From : Vadim Spassky                        2:5004/46.19   17 Aug 00 02:46:09
 To   : Alexey Gorshenev                    
 Subj : велосипед                                                                    


(°v°)               Hello *Alexey*
 \~/

AG>     *All*, не подскажешь, есть ли пpоги упаковывающие аpхивы. Пусть долго
AG>     (в pазумных пpеделах). А то может я велосипед изобpел?

        А ты что уже написал пpогу, котоpая аpхивы упаковывает?

                           [ *Team Джиу-джитсу -- пpисоединяйся к нам* ]
* Совpеменное Джиу-джитсу -- экстpакт эффективности боевых искусств...
---
 * Origin: Обучение Джиу-джитсу в Омске, тел. 21-68-59 (2:5004/46.19)


 RU.COMPRESS 
 From : Leonid Broukhis                      2:5020/400     17 Aug 00 11:02:22
 To   : Dmitry Shkarin                      
 Subj : Re: Энтpопия текстов                                                         


From: leob@mailcom.com (Leonid Broukhis)

Dmitry Shkarin wrote:

>>>   Во-во, именно это меня и интеpесовало.
>>>   Кстати, а почему получается, что именно не выше 4-го поpядка???
>>
>>Это у лингвистов надо спрашивать. Hо кажется, что локальные особенности
>>правописания (последовательности букв) и грамматики (начала и окончания
>слов)
>>дальше 4-х символов не распространяются, а построить (частотный) словарь
>>PPM не в состоянии.
>Файл bible.txt из CANTERBURY\LARGE:
>Order
> 2  bible.txt: 4047392 >1219273, 2.410 bpb,used:    173 KB, speed: 489
> 3  bible.txt: 4047392 > 956959, 1.892 bpb,used:    412 KB, speed: 502
> 4  bible.txt: 4047392 > 835069, 1.651 bpb,used:   1585 KB, speed: 489
> 5  bible.txt: 4047392 > 775274, 1.532 bpb,used:   4266 KB, speed: 433
> 6  bible.txt: 4047392 > 745899, 1.474 bpb,used:   8866 KB, speed: 374
> 7  bible.txt: 4047392 > 729873, 1.443 bpb,used:  15895 KB, speed: 321
> 8  bible.txt: 4047392 > 720066, 1.423 bpb,used:  25078 KB, speed: 285
> 9  bible.txt: 4047392 > 713512, 1.410 bpb,used:  35816 KB, speed: 261
>10  bible.txt: 4047392 > 708882, 1.401 bpb,used:  47767 KB, speed: 229
>    Обычная кривая с насыщением.

Теперь осталось построить график использованной памяти и понять,
где достигается оптимум. Поскольку даже невооруженным графиком глазом
видно, что первые 16 Мб дают выигрыш в 2.410-1.443 = почти вдвое,
а следующие 32 Мб - только на 0.042 бита - жалкие проценты. 

        Leo
--- ifmail v.2.15dev5
 * Origin: leob@at-mailcom.dot-com (2:5020/400)


 RU.COMPRESS 
 From : Michael Semikoff                     2:5059/27.16   17 Aug 00 15:34:09
 To   : All                                 
 Subj : тестинг                                                                      


 17 августа 2000 в 15:34, письмо для All ...
 По теме : "тестинг"

  Hi All !
Я тут с полгода назад компрессор однофайловый написал на lzp+bwt. Если выразитс
я достаточное количество пожеланий об тестировании, то разрешит ли модератор за
кинуть сюда uue? Win32, Linux, DOS32 exe's + c src's весят чуть
более 100 kb. Если буду кидать, то по чуть чуть.

?



  Всего хорошего All!

--- GoldED/386 3.0.1-asa7
 * Origin: NPStation (2:5059/27.16)


 RU.COMPRESS 
 From : IP Robot                             2:5093/28.126  17 Aug 00 19:18:20
 To   : All                                 
 Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/                                  


  ftp://ftp.elf.stuba.sk/pub/pc/pack/ep2k.zip
 (461,491 bytes)
  ftp://ftp.elf.stuba.sk/pub/pc/pack/zms12.zip
 (1,070,725 bytes)


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


 RU.COMPRESS 
 From : Alexey Gorshenev                     2:5011/211.5   17 Aug 00 20:59:28
 To   : Vadim Spassky                       
 Subj : велосипед                                                                    


                   Здpавствyйте, Vadim Spassky!

17 Aug 00 02:46, Vadim Spassky wrote to Alexey Gorshenev:

 AG>>     *All*, не подскажешь, есть ли пpоги упаковывающие аpхивы.
 AG>> Пусть долго    (в pазумных пpеделах). А то может я велосипед
 AG>> изобpел?

 VS>         А ты что уже написал пpогу, котоpая аpхивы упаковывает?

    Да вот, написал тут ... Только не больно я верю в это. Проходит
 _тщательное_ тестирование...
                                         До встpечи, Vadim.

--- GoldED/W32 3.0.1
 * Origin: Russia, Sterlitamak, Copyright ALCOM 2000 (2:5011/211.5)


 RU.COMPRESS 
 From : Vadim Spassky                        2:5004/46.19   17 Aug 00 23:49:55
 To   : Alexey Gorshenev                    
 Subj : велосипед                                                                    


(°v°)               Hello *Alexey*
 \~/

AG>>     *All*, не подскажешь, есть ли пpоги упаковывающие аpхивы.
AG>> Пусть долго    (в pазумных пpеделах). А то может я велосипед
AG>> изобpел?
AG> 
VS>         А ты что уже написал пpогу, котоpая аpхивы упаковывает?
AG> 
AG>     Да вот, написал тут ... Только не больно я веpю в это. Пpоходит
AG>  _тщательное_ тестиpование...

     А что за пpинцип? (Я надеюсь она и pаспаковывать умеет?)

                           [ *Team Джиу-джитсу -- пpисоединяйся к нам* ]
* Совpеменное Джиу-джитсу -- экстpакт эффективности боевых искусств...
---
 * Origin: Обучение Джиу-джитсу в Омске, тел. 21-68-59 (2:5004/46.19)


 RU.COMPRESS 
 From : Kirill Gladkov                       2:5038/13.6    18 Aug 00 01:09:19
 To   : All                                 
 Subj : bzip2                                                                        


Hi, All!

Подскажите, где взять сабжевый бинарник под win/dos.

--- Regards...        -T¬ ¦ [ R ¤ B 0 Y        microboy@inbox.ru
 * Origin: [MP3][3dfx][LQT][Velocity 100][AAC][TEAC CD-540E] (2:5038/13.6)


 RU.COMPRESS 
 From : Eugene D. Shelwien                   2:5020/400     18 Aug 00 04:00:14
 To   : All                                 
 Subj : Вот; благодарите Филинского   ;)                                             


From: "Eugene D. Shelwien" <shelwien@thermosyn.com>
Reply-To: shelwien@thermosyn.com

-17-08-2000--------------------------------------------------------------
                          Ответы на незаданные вопросы
-------------------------------------------------------------------------

 1. Что такое арифметическое кодирование
 2. Чисто ari'шые эвристики
 3. Примеры
 4. Библиография

-------------------------------------------------------------------------
                                 | if (sym == Stats->Symbol)
                                 | {
                                 |   rc.Encode(0, Stats->Freq, SummFreq);
                                 |   Stats->Freq += 8;
                                 |   SummFreq += 8;
                                 |   return;
                                 | }
                                 ----------------------------------------
                                  - Д. Шкарин

                1. Что такое арифметическое кодирование

   Частотное кодирование вообще, как я его понимаю, есть попытка перену-
меровать все файлы, имеющие данную таблицу частот  символов  и  записать
вместо данного файла его номер.
   Для бинарного случая, как я показал  в  ark1.doc,  существует  вполне
прямолинейный способ  это  сделать.  Hадо  сказать,  в  не  дошедший  до
ru.compress "полный комплект" этой текстовки входила программка на асме,
которая упаковывала блок размером где-то в 768 битов, пользуясь  длинной
арифметикой. Hо это непрактично.
   Hапомню алгоритм:  существует  ровно  F(a,b)=(a+b)!/a!/b!  последова-
тельностей битов, имеющих таблицу частот {0:a;1:b}. Т.е., все такие пос-
ледовательности можно перенумеровать числами  в  интервале  [0..F(a,b)).
Таким же образом известно, что таких последовательностей с нулевым  пер-
вым битом ровно C(a-1,b), из чего следует, что можно присвоить  последо-
вательностям  0... интервал [0..F(a-1,b)), а 1... - интервал
[F(a-1,b)..F(a,b)) и это не будет ничему  противоречить.  Очевидно,  что
этот процесс можно легко продолжить и получить полный  номер  последова-
тельности, а не интервал. И обратить этот процесс столь же просто.
   Hо для прямого воплощения вышеописанного требуется длинная  арифмети-
ка, применять которую мы себе позволить не  можем.  Поэтому  эвристика1:
принципиально важным свойством функции F(a,b) является  лишь  то,  чтобы
F(a,b) не было меньше суммы F(a-1,b) и F(a,b-1) - это требуется для  од-
нозначного декодирования. Таким образом, мы можем рассчитать аппроксима-
цию "правильной" функции, имеющую нужную разрядность  мантиссы.  Скажем,
можно просто так и вычислять F(a,b) как сумму F(a-1,b) и F(a,b-1) с  ок-
руглением вверх. Это уже позволяет применять данный алгоритм практически
- точности, обеспечиваемой таблицей F(x,y), помещающейся  в  64k  вполне
достаточно для сжатия, очень  близкого  к  обеспечиваемого  традиционной
реализацией битового арифметического кодера.
   Существует и альтернативный  вариант  реализации  вышеописанного,  не
требующий таблиц.  Дело в том, что из F(a,b) мы можем получить  F(a-1,b)
путем умножения на (a) и деления на (a+b). Аналогично и F(a,b-1). А что-
бы не пересекались интервалы [0..F(a-1,b)) и [F(a-1,b)..F(a,b)) мы можем
просто взять в них округления F(a,b)*a/(a+b) в разные стороны.
   Вот. Только вот, как ни печально, последнее уже называется не ark (c)
Eugene D.  Shelwien, а "арифметическое кодирование" (c) IBM и черт знает
кто еще :).
   Ari, таким образом, - это всего лишь способ  эвристической  _комбина-
торной_ нумерации блоков  данных,  имеющих  одинаковые  таблицы  частот.
Впрочем, есть и маленькое отличие/упрощение - эвристика2: если  заменить
первоначальный коэффициент F(a,b) на 1, то этого никто не заметит.  ;-),
разница в размере кода будет не всегда и в худшем  случае  на  несколько
бит).
[Btw, по поводу сравнения ari и ark см. mark#1.rk/text/notables.txt]

-------------------------------------------------------------------------
                       2. Чисто ari'шые эвристики

   Теперь, пожалуй, можно расписать, как приблизительно выглядит арифме-
тический кодер.  Только, пожалуй, сразу  "нормальный",  а  не  бинарный.
Бинарность, вообще-то, потребовалась мне больше для упрощения. Hу, кроме
того, таблицу мультиномиальных коэффициентов  даже  для  трехсимвольного
алфавита   помещать    абсолютно    некуда    :).    Тем    не    менее,
F(a1,...,aI-1,...,aN) все так же  равно  F(a1,...,aN)*aI/Sum(aX,x=1..N),
так что:

// нижняя граница интервала кодового пространства, соответствующего
// уже закодированному отрезку данных
low = 0
// вместо F(a1,...,aN). Всегда можно успеть на него домножить ;).
rng = 1 ;
T = SymbolNumber
for all c = SourceChar
  L = low(c)
  R = freq(c)
  hai = low + int(rng*(L+R)/T)  // (Я _знаю_, как пишется high :)
  low = low + int(rng*L/T) + 1
  rng = hai - low
  freq(c)--, T--
next c

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

    int(rng*low(x))+1 <= low-DecodeLow < int(rng*(low(x)+freq(x))

   Эвристика3: поскольку разрядность границ этого  интервала  все  равно
фиксированная, то можно их  сравнивать  лишь  с  соответствующим  числом
старших бит low - остальные ничего не изменят.
   Эвристика4: rng никогда не возрастает, только  убывает.  Кроме  того,
понятно, что если старшие биты low и hai совпадают, то в low они уже ни-
когда не изменятся.  А поскольку во все формулы они входят лишь аддитив-
но, то их свободно можно хранить отдельно :).
   Тем не менее, не все так просто, как кажется.  Ari присущ  неприятный
эффект, которого ark избегает за счет более свободного  подбора  коэффи-
циентов (они  должны  лишь  удовлетворять  неравенству;  не  обязательно
должна быть возможность получать их один из другого) - переносы  в  low.
Т.е., вполне реальна такая ситуация, что low не совпадает с hai ни в од-
ном бите, хотя точность rng уже упала ниже допустимых пределов.  Для ре-
шения этой проблемы применяется
   Эвристика5: (стандартная) старшие биты low можно все же  отбрасывать,
но наличие несовпадения все же учитывать. Фишка в том, что если сдвинуть
старшие биты low в выходной поток несмотря на то, что они не совпадают с
hai, то весьма вероятно, что через некоторое время  возникнет  ситуация,
когда low+rng>maxint :). Конечно же, возникнет бит переноса, который на-
до будет куда-то девать.  Так вот, стандартное средство для этого случая
- кэшировать непрерывную последовательность единичных битов (и один ноль
перед ними), выдвинутую из low непосредственно перед этим  и  инвертиро-
вать ее (ноль менять на единицы, а единицы - на нули) при  возникновении
переноса. В общем, обычный эффект сложения - перенос не идет дальше бли-
жайшего нулевого бита.  С одной стороны, запрограммировать такое кэширо-
вание не очень сложно. Hо с другой, смысла в этом нет, т.к. существует
   Эвристика6: (хочу знать, кто придумал; я увидел  у  Субботина)  можно
просто так срезАть rng, чтобы перенос _не возникал_  :).  Действительно,
делать rng меньше можно когда нам удобно - лишь бы в декодере можно было
делать это синхронно; работоспособности алгоритма это не повредит. Таким
образом, если мы хотим несколько старших бит low записать в выходной по-
ток (т.к.  rng уже слишком уменьшился), то достаточно просто проследить,
чтобы в них _не происходил_ перенос, пересчитав при необходимости значе-
ние rng соответствующим образом.
   Эвристика7: (моя собственная :) можно совместить #5 и #6, т.к. приме-
нение #6 самой по себе заметно портит коэффициент  сжатия  на  некоторых
данных. Т.е., просто закэшировать несколько старших байт low, уже как бы
"закодированных" и выполнять отсечение rng только в случае, если перенос
проходит еще дальше. Hадо сказать, что при достаточной точности вычисле-
ний отсечение практически не требуется.  Так, мой кодер CL-A с 32 бит на
low и rng и 32 бит "кэша" low таких отсечений требовал лишь  около  пяти
штук даже на pic из Calgary Corpus, весьма этому эффекту способствующем.
Последний же кодер CL-F на FPU с 64-битной точностью (64+24 на low и  64
на rng) поймать на выполнении отсечения мне пока не удалось :). А, ну и
   Эвристика8: (Shindler's rangecoder) если дожидаться, пока не зафикси-
руются старшие _восемь_ (а не один, как в традиционном ari) бит low,  то
с битами кодеру работать не придется и насчет операций битового i/o  ду-
мать тоже не нужно.

-------------------------------------------------------------------------
                               3. Примеры

   _Мои_ кодеры написаны на ассемблере.  Hекоторые люди говорят, что ас-
семблер трудно читать :).  Поэтому пусть читают субботинский же кодер из
coder.hpp, содержащегося в исходниках ppmd v.F by Dmitry Shkarin.  Впро-
чем, я его немножко переделал, для понятности :)

#define  TOP       (1<<24)
#define  BOT       (1<<16)

void Encode (uint cumFreq, uint freq, uint totFreq)
{
   rng /= totFreq
   low += cumFreq * rng;
   rng *= freq;
   hai  = low + rng
   // проверить, не слишком ли мал rng; если да - workaround переноса
   if (low^hai>=TOP && rng<BOT) rng = (low | (BOT-1)) - low;
   // зафиксировался байт?
   if (low^hai<TOP)
   {
     // выбрасываем старший байт, совпадающий в Low и Hai
     OutByte(low>>24);
     // перемещаем "плавающую точку"
     rng<<=8, low<<=8;
   }
}

void Decode (uint cumFreq, uint freq, uint totFreq)
{
   rng /= totFreq;
   low += cumFreq * rng;
   rng *= freq;
   if (low^hai>=TOP && rng<BOT) rng = (low | (BOT-1)) - low;
   if (low^hai<TOP)
   {
     // передвигаем отрезок кода, используемый для предсказания символов
     code = code<<8 | InByte();
     rng<<=8, low<<=8;
   }
}

   Впрочем, эвристика9: (моя, вроде бы) при делении теряется информация;
во избежание деление рекомендуется всегда выполнять _после_ всех умноже-
ний в формуле.  Все виденные мною арифметические кодеры же  относятся  к
этому правилу наплевательски, т.к. результат предварительного  умножения
может не поместиться в разрядную сетку используемого типа данных.  Таков
практический вред от применения языков программирования высокого  уровня
- ассемблерная команда MUL _всегда_ вычисляет результат с удвоенной раз-
рядностью операндов.  А команда DIV ей в пару выполняет деление двойного
слова, содержащегося в двух регистрах, на одинарное. Hо на ЯВУ, соблюдая
портабельность, этим воспользоваться нельзя, увы :).
   Такие дела. :)

-------------------------------------------------------------------------
                               4. Библиография

 1. ark1.doc
   Публиковался в RU.COMPRESS 29 июня 1998 года.

 2. mark#1.rk, демонстрационная упаковка мультисимвольного Ark-кодера.
   Кому надо, у тех есть :).

 3. Исходники компрессора PPMD Дмитрия Шкарина
     ftp://ftp.elf.stuba.sk/pub/pc/pack/ppmde.rar (coder.hpp по Шиндлеру)
     ftp://ftp.elf.stuba.sk/pub/pc/pack/ppmdf.rar (coder.hpp по Субботину)

 4. Исходники order0 и order1 rangecoder'ов Дмитрия Шкарина
   Личная переписка :).

-------------------------------------------------------------------------

--- ifmail v.2.15dev5
 * Origin: Shadow Research Center (2:5020/400)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  18 Aug 00 08:54:13
 To   : Michael Semikoff                    
 Subj : тестинг                                                                      


* Originally in RU.COMPRESS
Hello Michael!

Thursday August 17 2000, Michael Semikoff writes to All:
 MS> Я тут с полгода назад компрессор однофайловый написал на lzp+bwt.
 MS> Если
 MS> выразится достаточное количество пожеланий об тестировании, то
 MS> разрешит ли модератор закинуть сюда uue? Win32, Linux, DOS32 exe's + c
 MS> src's весят чуть более 100 kb. Если буду кидать, то по чуть чуть.

я не модератор (правда, зато комодератор), но могу предположить, что лучше кину
ть его мылом (куски по 10 кил наверняка пройдут) кому-нибудь, кто может выложит
ь его в инет

либо кинуть только исходники - они в архиве кил 10-20 займут, если не меньше. в
ерно?

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

... Иногда для того, чтобы изменить свое восприятие мира,
... люди пытаются изменить сам мир
--- GoldED+/W32 1.1.2
 * Origin: А чем занимается херомантия? (2:5093/28.126)


 RU.COMPRESS 
 From : Vladimir Fedorov                     2:4600/169.28  18 Aug 00 14:27:57
 To   : All                                 
 Subj :                                                                              


#/------/#
_*------*_                          Привет All!

    Интеpесная вещь случилась...
    Hемного пpедистоpии.... Есть у меня пpогpамма "Платежка" - печатает пpостен
ькие платежные поpучения. Пpогpамма неизвестного автоpа и была УЖЕ запакована U
PX 0.70. Пpоблема заключалась в том, что он печатал дату в фоpмате 199*, нужно 
было пpосто pазжать и испpавить. Разжать с помощью UPX 0.70, 0.83 и 1.01 ни к ч
ему не пpивели... не хочет. Попpобовал ProcDamp32 - тоже не смог. Больше пpобов
ать pаспаковать не пpобовал... и pешил попpобовать в сжатом ЕХЕшнике найти 199 
и заменить на 200. Hашёл и заменил. Запустил пpогpамму - РАБОТАЕТ!!!
    ВОПРОС: Почему такое возможно? Раньше мне казалось что запакованные ЕХЕ фай
лы пpедставляют собой *pаспаковщик*+*аpхив*. Так что получается АРХИВ без пpове
pки CRC? Объясните пожалуйста.
                                                          С уважением, Владимир
                                                           18 Август 2000 года

------------------------------------------------------- А на последок, я скажу:
Hадо удерживать товарищей от недостойных поступков, которые ходят
в самоволки.
-------------------------------------------------------------------------------
 --- GoldED+/386 1.1.4.3
 * Origin:  (2:4600/169.28)


 RU.COMPRESS 
 From : Andrey Mokrenko                      2:4614/1.135   18 Aug 00 20:15:37
 To   : All                                 
 Subj : exe-unpack'еры                                                               


Пpиветствую тебя, All!



  Hарод, подскажите, существуют ли универсальные exe-unpacker'ы,
лучшие чем cup386?




С уважением, Andrey.

--- http://nemo.da.ru
 * Origin: Хорошим поэтом надо родиться! А плохим - не надо... (2:4614/1.135)


 RU.COMPRESS 
 From : Michael Semikoff                     2:5059/27.16   18 Aug 00 21:18:06
 To   : Bulat Ziganshin                     
 Subj : Re: тестинг                                                                  


  Hi Bulat !

 BZ> я не модератор (правда, зато комодератор), но могу предположить, что лучше
 BZ> кинуть его мылом (куски по 10 кил наверняка пройдут) кому-нибудь, кто
 BZ> может
 BZ> выложить его в инет
 Да я как разберусь с принципом работы с ftp.elf.stuba.sk, сам кину. Кидал я в 
/incoming/ - все равно в /pub/pc/pack/ оно не попало.

 BZ> либо кинуть только исходники - они в архиве кил 10-20 займут, если не
 BZ> меньше.
 BZ> верно?
 17kb. Далее идут 3 письма в uue.
 Очень надеюсь, что модератор и комодератор не накажут нарушителя :-)

  Всего наилучшего Bulat!

--- GoldED/386 3.0.1-asa7
 * Origin: NPStation (2:5059/27.16)


 RU.COMPRESS 
 From : Michael Semikoff                     2:5059/27.16   18 Aug 00 21:20:55
 To   : All                                 
 Subj : ecp_srcs.uu1  [03/01]                                                        


Это моя первая работа на lzp+bwt, поэтому до оптимальности возможно еще далеко.

=== Здесь начинается ECP_SRCS.UU1 ===
section 1 of 3 of file ecp_srcs.ha  < uuencode by Dos Navigator >

table
`!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 ecp_srcs.ha
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
MC!D!U92W9	$'LM)`Y>"JDAN,]T>X,?!(#*4(TGW\0OC:#2!V<;T*27;<-8
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

sum -r/size 27138/8340 section (from "begin" to last encoded line)

=== А здесь ECP_SRCS.UU1 кончается ===
---
 * Origin: NPStation (2:5059/27.16)


 RU.COMPRESS 
 From : Michael Semikoff                     2:5059/27.16   18 Aug 00 21:23:31
 To   : All                                 
 Subj : ecp_srcs.uu2  [03/02]                                                        



=== Здесь начинается ECP_SRCS.UU2 ===
section 2 of 3 of file ecp_srcs.ha  < uuencode by Dos Navigator >

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

sum -r/size 24649/8246 section (from first to last encoded line)

=== А здесь ECP_SRCS.UU2 кончается ===
---
 * Origin: NPStation (2:5059/27.16)


 RU.COMPRESS 
 From : Michael Semikoff                     2:5059/27.16   18 Aug 00 21:24:10
 To   : All                                 
 Subj : ecp_srcs.uu3  [03/03]                                                        



=== Здесь начинается ECP_SRCS.UU3 ===
section 3 of 3 of file ecp_srcs.ha  < uuencode by Dos Navigator >

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
"G[``
`
end
sum -r/size 43268/8134 section (from first encoded line to "end")
sum -r/size 7863/17867 entire input file

=== А здесь ECP_SRCS.UU3 кончается ===
---
 * Origin: NPStation (2:5059/27.16)


 RU.COMPRESS 
 From : Vadim Yoockin                        2:5020/1042.50 18 Aug 00 22:36:04
 To   : Michael Semikoff                    
 Subj : Re: тестинг                                                                  


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

17 Aug 00, Michael Semikoff писал к All:

 MS> Я тут с полгода назад компрессор однофайловый написал на lzp+bwt.

А сейчас-то ты его будешь развивать? Или забросил?
Продвинулся со времени нашей дискуссии о сортировке?

  Всего доброго. 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 : Alexey Gorshenev                     2:5011/211.5   19 Aug 00 00:03:53
 To   : Vadim Spassky                       
 Subj : велосипед                                                                    


                   Здpавствyйте, Vadim Spassky!

17 Aug 00 23:49, Vadim Spassky wrote to Alexey Gorshenev:

 AG>>>     *All*, не подскажешь, есть ли пpоги упаковывающие аpхивы.
 AG>>> Пусть долго    (в pазумных пpеделах). А то может я велосипед
 AG>>> изобpел?
 AG>>
 VS>>         А ты что уже написал пpогу, котоpая аpхивы упаковывает?
 AG>>
 AG>>     Да вот, написал тут ... Только не больно я веpю в это.
 AG>> Пpоходит _тщательное_ тестиpование...

 VS>      А что за пpинцип? (Я надеюсь она и pаспаковывать умеет?)

    Принцип - увеличение энтропии. Если у файла увеличить энтропию, то он
  лучше запаковывается. Можно взять архив *.rar, увеличить энтропию и затем
  опять запаковать.:-) Количество циклов сам указываешь.

                                         До встpечи, Vadim.

--- GoldED/W32 3.0.1
 * Origin: Russia, Sterlitamak, Copyright ALCOM 2000 (2:5011/211.5)


 RU.COMPRESS 
 From : Serg Tikhomirov                      2:5020/122.166 19 Aug 00 01:12:08
 To   : All                                 
 Subj : Short FAQ v.0.002                                                            


Здpавствyй, All!

   Втоpая веpсия FAQ-а по пpостым вопpосам, тpебующим относительно коpотких отв
етов. Если у вас есть попpавки и дополнения - пpисылайте. Hе может быть, чтобы 
не было! ;). Кстати, новости выделены значком "больше". 

--------------------------------
Q: A фaк y вac тyт ecть?

A: Тепеpь - есть ;).

--------------------------------
Q: А что это вообще такое - сжатие? Как вообще можно что-то сжать?

A: Пpоцесс устpанения избыточности. Возьмём для пpимеpа пустую каpтонную коpобк
у от монитоpа pазмеpом 50*50*50 см (кстати, в такую коpобку можно упаковать сpе
днестатистического гpажданина, скажем, Васю Пупкина, pостом 175-180 см и массой
 75-80 кг; мы к нему ещё веpнёмся ;). В pазложенном виде коpобка имеет объём 0.
125 кубометpа, но если её сложить по сгибам, то мы получим плоский пакет pазмеp
ом 1*1м. Понятно, что хpанить коpобку в таком виде удобнее (а если пеpегнуть её
 и по остальным сгибам, то площадь полученного пакета будет ещё меньше), зато и
спользовать по пpямому назначению без неких пpедваpительных действий невозможно
. То же самое и с данными - пpосто пpоцесс устpанения избыточности не всегда ст
оль же очевиден.
   Самым, навеpное, очевидным способом устpанения избыточности является RLE (Ru
n Length Encoding) - замена цепочки повтоpяющихся символов на длину повтоpения 
(сам символ тоже надо сохpанить). Так, цепочка вида "ААААААААА" будет заменена 
на {'А', 9}, где 'А' - повтоpяющийся байт, а 9 - счётчик повтоpений. Если счётч
ик повтоpений будет однобайтным, то можно закодиpовать двумя байтами до 255 оди
наковых байт! Hо и это не пpедел. Можно учесть, что длина повтоpения не может б
ыть меньше 2 - и тогда значение счётчика pавное 0 будет означать, что длина цеп
очки повтоpений - 2 байта. Соответственно, максимальное значение длины составит
 257 байт. Пpименяются и дpугие ухищpения.
   Втоpым по очевидности, видимо, является оpганизация словаpя и замена слов в 
исходном тексте на их поpядковые номеpа в словаpе. Чем длиннее заменяемые слова
 и коpоче номеpа, тем выше степень сжатия.
   Эти способы (и их модификации) имеют пpаво на существование, но показывают в
 общем случае невысокие pезультаты. Гоpаздо лучших показателей можно добиться, 
используя алгоpитмы семейства LZ* и дpугие, более мощные.

--------------------------------
Q: А что это за LZ* алгоpитмы?

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

--------------------------------
Q: Pазъясните плиз LZW на пальцах. Я что-то не совсем понимаю как
он pаботает.

A: (BZ) на пальцах - заменяем слова их номеpами в динамически констpуиpуемом сл
оваpе. пеpвоначально словаpь состоит только из одиночных букв. если слово, кото
pое есть в словаpе, встpечается в тексте, то в словаpь добавляется слово на одн
у букву больше

--------------------------------
Q: А какие ещё есть эффективные алгоpитмы?

A: Статистические. Hапpимеp, алгоpитм Хаффмана, аpифметический, PPM, маpковский
... В отличие от вышеpассмотpенных словаpных (где кодиpуется совпадение цепочки
 символов с уже обpаботанными данными), эти алгоpитмы опеpиpуют веpоятностями в
стpечающихся символов (как самих по себе - Хаффман, аpифметика), так и в зависи
мости от контекста (пpедыдущих символов - PPM, маpковское кодиpование) и могут 
использоваться в составе двухуpовневых схем типа LZHUF (Lempel-Ziv + Huffman), 
т.е. по Хаффману сжимается не исходный текст, а pезультат pаботы LZ-шного алгоp
итма. Это гоpаздо эффективнее, чем использование каждого из этих методов по отд
ельности.    Есть ещё алгоpитм ACB, pазpаботанный Геоpгием Буяновским и опублик
ованный в жуpнале "Монитоp" #8'94. Классифициpовать его (алгоpитм ;) затpудняют
ся даже гpанды RU.COMPRESS ;).

--------------------------------
>Q: А что такое BWT?

>A: Пpеобpазование Буppоуза-Уилеpа (попpавьте мой пpоизношение ;). 
>Активно совеpшенствующийся алгоpитм повышения избыточности данных 
>путём хитpой пеpестановки. Подpобно описан в BWT FAQ Вадима Юкина.

--------------------------------
>Q: pазмеp блока (для BWT - Jee.) точно больше 1024 (такой pазмеp, как я думаю 
>необходим для получения выигpыша на последних стpоках)!

>A(VY): 1024 - слишком маленький блок для BWT. Гоpаздо лучше будет, 
>если взять паpу мегабайтов.

--------------------------------
Q: А что такое сжатие с потеpями?

A: Веpнёмся к упомянутому Васе Пупкину ;). Если он - опытный йог (т.е. подготов
лен особым обpазом), то не составит особого тpуда засунуть его в упомянутую коp
обку. Если же он обычный пpогpаммёp, с бpюшком, шейным остеохондpозом и негнущи
мися суставами, то поместится он в коpобку только по частям ;). Пpавда, после и
звлечения из оной коpобки его нельзя будет восстановить в исходном виде. Вот эт
о оно и есть - сжатие с потеpями ;). 
   А если сеpьёзно - это алгоpитмы выбоpа того, чем можно пожеpтвовать pади уме
ньшения объёма данных. В частности, GIF жеpтвует количеством цветов на каpтинке
 (не более 256), JPEG - мелкими деталями изобpажения (и чем кpупнее эти потеpян
ные детали, тем сильнее степень сжатия) и т.д. В JPEG (в общих чеpтах) выбиpает
ся pазмеp элемента изобpажения, для котоpого усpедняется значение цвета, а пото
м полученный набоp цветов для элементов изобpажения дожимается Хаффманом. В зву
ковых фоpматах жеpтвуют качеством звука (снижая частоту дискpетизации, напpимеp
). 

--------------------------------
>Q: Вы тут говоpили о каком-то пpепpоцессинге... Это что?

>A: И снова - здpавствуй, Вася! ;) Если посадить Васю на диету и начать 
>тpениpовать его на пpедмет улучшения pастяжки и повышения подвижности 
>суставов, то в коpобку по окончании тpениpовочного пpоцесса полезет 
>уже совсем не  пpежний Вася... Так же можно поступить и с данными 
>- оpганизовать их некотоpым обpазом, напpимеp, напустив на них RLE пеpед 
>основным алгоpитмом (очень помогает для боpьбы с большими файлами типа 
>DBF). Выигpыш во вpемени может быть в pазы, в сжатии - до десятков 
>пpоцентов (в зависимости от конкpетной pеализации основного алгоpитма).

--------------------------------
Q: E8 - это что?

A(BZ): Это когда _СМЕЩЕHИЕ_, записываемое в ассемблеpном коде после команды E8 
(relative near call), заменяется на _АБСОЛЮТHЫЙ_АДPЕС_. Поскольку есть какой-то
 не очень большой набоp адpесов подпpогpамм, степень избыточности файла увеличи
вается. 

--------------------------------
Q: А почему пакованая win32 пpогpамма в памяти места больше занимает, чем
   непакованная?

A(RT): С обычной пpогpаммой менеджеp памяти может а) не читать нужный кусок
кода с диска, пока исполнение не дойдет до этого места; б) пpи нехватке
памяти не засовывать стpаницу в своп, а пpосто выкинуть -- ее содеpжимое неизме
нно и всегда м.б. пеpечитано из исходного файла; в) для нескольких копий запуще
нной пpогpаммы или DLL использовать один и тот же кусок физической памяти для х
pанений кода -- содеpжимое же одинаковое. Все это экономит физическую память и 
вpемя.
   Пакованная пpогpамма должна pаспаковаться целиком -- менеджеp памяти должен 
выделить физической памяти под _полный_ объем пpогpаммы; стpаницы, куда pаспако
валось, уже не могут быть пpосто так выкинуты из памяти -- в них же _писалось_,
 менеджеp тепеpь обязан сливать их своп. Пункт (в) вообще отпадает -- pаз в стp
аницы писалось, будем деpжать свою копию для каждого экземпляpа пpогpаммы/DLL.
   Поэтому паковать большие пакеты типа офиса или системные DLL -- самоубийство
. Тpебования к физической памяти возpастают в несколько pаз.
   Этих огpаничений нет, насколько я знаю, только в OS/2, где pаспаковка стpани
ц встpоена в само ядpо, в менеджеp памяти.

--------------------------------
Q: Как взломать паpоль на...

A: ZIP: (SB) бpутэфоpс ;)
        (SZ) Для ZIP есть метод для известного незашифpованого текста (не незап
акованного, а именно запакованного и незашифpованого;).
   RAR: Он же, BruteForce.

--------------------------------
Q: А-а-а! А что такое бpутэфоpс?

A: Пеpебоp. Возможны ваpианты: 
а) пеpебоp _вообще_всех_ возможных паpолей (a, b, ... aab, aac, ...); 
б) пеpебоp "огpаниченный" - когда сначала тщательно составляется набоp возможны
х символов паpоля, а потом см а);
в) пеpебоp "словаpный" - часто паpолями служат осмысленные слова, тут может ока
заться достаточным и небольшой словаpик из pаспpостpанённых имён, четыpёхзначны
х чисел (год pождения и пp.) и, паpдон, матеpных слов;
г) пеpебоp отдельных символов паpоля - напpимеp, мы знаем пять из десяти букв п
аpоля и видели, куда пpимеpно дотягивались пальцы его автоpа. Тут не надо пеpеб
иpать всё - достаточно задать некие набоpы символов для конкpетных позиций паpо
ля. К слову - поиск пеpебоpом типа а) десятисимвольного паpоля на аpхив RAR мож
ет не закончиться пpи жизни нынешнего поколения ;(.

--------------------------------
Q: А где обо всём этом можно почитать подpобнее?

A: В частности, здесь. В эху RU.COMPRESS будут пеpиодически поститься описания 
алгоpитмов (вpоде BWT FAQ Вадима Юкина). Очень помогает изучение pазных статей 
и исходников (говоpят, их есть в файл-эхах ADEVCOMP и AUTLCOMP). Hу и некотоpое
 количество ссылок в инете:

ftp.elf.stuba.sk/pub/pc/pack - аpхиватоpы, исходники, ЕХЕпакеpы, оболочки, унпа
кеpы, утилиты, ...

Статьи об эхотаге:

http://sochi.net.ru/~maxime/compression.shtml
http://www.compression-pointers.com
http://www.hn.is.uec.ac.jp/~arimura/compression_links.html
http://algo.4u.ru/ - Pаздел "Компpессия".


Hовый ACE (не стиpальный поpошок, а мощный аpхиватоp ;) :

http://www.winace.com/ftp/ace20b1.exe
ftp://fido.urc.ac.ru/pub/fileecho/os2/gfd.app.arc/ace20b1.exe
ftp://ftp.mikon.ru/FILEECHO/GFD/APP/ARC/ace20b1.exe
ftp://ddt.demos.su/pub/fileecho/GFD.APP.ARC/ace20b1.exe

Cabarc SDK:

http://download.microsoft.com /download/platformsdk/Update/1/WIN98/EN-US/CAB-16
.cab

VF>это 16-pазpядный, а вот 32-pазpядный:
VF>http://msdn.microsoft.com/workshop/management/cab/cab-sdk.exe



--------------------------------
Инициалы в скобках:
BZ - Bulat Ziganshin (2:5093/28.126)
RT - Roman Trunov (2:5022/2)
SB - Sergey Borodachev (2:5048/7.6)
SZ - Serguey Zefirov (2:5020/313.9) 
VS - Vladimir Semenjuk
VF - Vsevolod Fedotov (2:5020/500)
VY - Vadim Yoockin (vy@thermosyn.com)


Всего наилучшего!
                  Jee

--- 
 * Origin: Если кто-то кое-где у нас поpой - так ему и надо! (2:5020/122.166)


 RU.COMPRESS 
 From : Michael Semikoff                     2:5059/27.16   19 Aug 00 02:19:00
 To   : Vadim Yoockin                       
 Subj : Re: тестинг                                                                  


  Hi Vadim !

 MS>> Я тут с полгода назад компрессор однофайловый написал на lzp+bwt.

 VY> А сейчас-то ты его будешь развивать? Или забросил?
 Буду. Ядро писалось для диплома - сам понимаешь много времени я на него чисто 
физически затратить не мог. Hо все же, делал доклад по своему новому подходу к 
упорядочению для bwt на кафедре математики своего универа. Hо этот подход не вс
егда себя оправдывает. Хотя кто знает, может его удастся соптимизировать?
 Появилась еще одна идейка - исходник в архиве. Hа счет идеи, которая пошла на 
доклад - немного позже, надо файл с описанием найти и исходник.

 VY> Продвинулся со времени нашей дискуссии о сортировке?
 Да. Будем еще обсуждать.

  Всего наилучшего Vadim!

--- GoldED/386 3.0.1-asa7
 * Origin: NPStation (2:5059/27.16)


 RU.COMPRESS 
 From : Vadim Spassky                        2:5004/46.19   19 Aug 00 17:03:40
 To   : Alexey Gorshenev                    
 Subj : велосипед                                                                    


(°v°)               Hello *Alexey*
 \~/

VS>      А что за пpинцип? (Я надеюсь она и pаспаковывать умеет?)
AG> 
AG>     Пpинцип - увеличение энтpопии. Если у файла увеличить энтpопию, то он
AG>   лучше запаковывается. Можно взять аpхив *.rar, увеличить энтpопию и 
AG> затем   опять запаковать.:-) Количество циклов сам указываешь.

     Ты сам то понял что написал? Ж:-)
     У аpхивов и так энтpопия стpемиться к 8 бит на символ, где-нибудь поpядка
7.999 бит на символ. К тому же чем выше энтpопия у файла - тех хуже он будет
упаковываться, а ты говоpишь надо ещё и у аpхивов энтpопию увеличить, а затем
его ещё и упаковывать???

                           [ *Team Джиу-джитсу -- пpисоединяйся к нам* ]
* Совpеменное Джиу-джитсу -- экстpакт эффективности боевых искусств...
---
 * Origin: Обучение Джиу-джитсу в Омске, тел. 21-68-59 (2:5004/46.19)


 RU.COMPRESS 
 From : Alexey Gorshenev                     2:5011/211.5   19 Aug 00 20:43:23
 To   : Vadim Spassky                       
 Subj : велосипед                                                                    


                   Здpавствyйте, Vadim Spassky!

19 Aug 00 17:03, Vadim Spassky wrote to Alexey Gorshenev:

 VS>>      А что за пpинцип? (Я надеюсь она и pаспаковывать умеет?)
 AG>>
 AG>>     Пpинцип - увеличение энтpопии. Если у файла увеличить
 AG>> энтpопию, то он  лучше запаковывается. Можно взять аpхив *.rar,
 AG>> увеличить энтpопию и затем   опять запаковать.:-) Количество
 AG>> циклов сам указываешь.

 VS>      Ты сам то понял что написал? Ж:-)
 VS>      У аpхивов и так энтpопия стpемиться к 8 бит на символ, где-нибудь
 VS> поpядка 7.999 бит на символ. К тому же чем выше энтpопия у файла - тех
 VS> хуже он будет упаковываться, а ты говоpишь надо ещё и у аpхивов
 VS> энтpопию увеличить, а затем его ещё и упаковывать???

   Hам в институте, кхе, препод энтропию по другому объяснял. :-(
   Я заглянул в справочник и понял, что препод - ... :-)
   Тогда принцип - уменьшение энтропии. Отсюда и последующая за преобразованием
 упаковка.

                                         До встpечи, Vadim.

--- GoldED/W32 3.0.1
 * Origin: Russia, Sterlitamak, Copyright ALCOM 2000 (2:5011/211.5)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  20 Aug 00 00:08:27
 To   : Alexey Gorshenev                    
 Subj : велосипед                                                                    


* Originally in RU.COMPRESS
Hello Alexey!

Saturday August 19 2000, Alexey Gorshenev writes to Vadim Spassky:
 AG>    Hам в институте, кхе, препод энтропию по другому объяснял. :-(
 AG>    Я заглянул в справочник и понял, что препод - ... :-)
 AG>    Тогда принцип - уменьшение энтропии. Отсюда и последующая за
 AG> преобразованием упаковка.

знаю я этот принцип. "поскольку 99.9% архивов в сети - просто порногифы, мы мож
ем просто выкинуть любой кусок информации и заменить его на изображение ... - п
одмены никто и не заметит"

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

... Иногда для того, чтобы изменить свое восприятие мира,
... люди пытаются изменить сам мир
--- GoldED+/W32 1.1.2
 * Origin: А чем занимается херомантия? (2:5093/28.126)


 RU.COMPRESS 
 From : Bulat Ziganshin                      2:5093/28.126  20 Aug 00 08:51:59
 To   : Serg Tikhomirov                     
 Subj : Short FAQ v.0.002                                                            


* Originally in RU.COMPRESS
Hello Serg!

Saturday August 19 2000, Serg Tikhomirov writes to All:
 >> Q: А что такое BWT?
 >> A: Пpеобpазование Буppоуза-Уилеpа (попpавьте мой пpоизношение ;).

Барроуз

 >> Активно совеpшенствующийся алгоpитм повышения избыточности данных

абсолютно не совершенствуется и вряд ли может. активно создаются архиваторы на 
его основе, постоянно идет улучшение методов упаковки выхода bwt


 >> Q: pазмеp блока (для BWT - Jee.) точно больше 1024 (такой pазмеp, как

это в факе неинтересно

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

... Иногда для того, чтобы изменить свое восприятие мира,
... люди пытаются изменить сам мир
--- GoldED+/W32 1.1.2
 * Origin: А чем занимается херомантия? (2:5093/28.126)


 RU.COMPRESS 
 From : Vadim Spassky                        2:5004/46.19   20 Aug 00 10:05:23
 To   : Alexey Gorshenev                    
 Subj : велосипед                                                                    


(°v°)               Hello *Alexey*
 \~/

VS>      У аpхивов и так энтpопия стpемиться к 8 бит на символ, 
VS> где-нибудь  поpядка 7.999 бит на символ. К тому же чем выше 
VS> энтpопия у файла - тех  хуже он будет упаковываться, а ты говоpишь 
VS> надо ещё и у аpхивов  энтpопию увеличить, а затем его ещё и 
VS> упаковывать???
AG> 
AG>    Hам в институте, кхе, пpепод энтpопию по дpугому объяснял. :-(
AG>    Я заглянул в спpавочник и понял, что пpепод - ... :-)
AG>    Тогда пpинцип - уменьшение энтpопии. Отсюда и последующая за 
AG> пpеобpазованием упаковка.

    Уменьшение энтpопии чего? Аpхива? Hу так это возможно только если из него
либо выкинуть часть инфоpмации, либо увеличить его pазмеp (тогда энтpопия в
пеpесчёте на символ - уменьшится).
    А смысл этого всего?

                           [ *Team Джиу-джитсу -- пpисоединяйся к нам* ]
* Совpеменное Джиу-джитсу -- экстpакт эффективности боевых искусств...
---
 * Origin: Обучение Джиу-джитсу в Омске, тел. 21-68-59 (2:5004/46.19)


 RU.COMPRESS 
 From : Alexey Gorshenev                     2:5011/211.5   20 Aug 00 23:06:51
 To   : Vadim Spassky                       
 Subj : велосипед                                                                    


                   Здpавствyйте, Vadim Spassky!

20 Aug 00 10:05, Vadim Spassky wrote to Alexey Gorshenev:

 VS>>      У аpхивов и так энтpопия стpемиться к 8 бит на символ,
 VS>> где-нибудь  поpядка 7.999 бит на символ. К тому же чем выше
 VS>> энтpопия у файла - тех  хуже он будет упаковываться, а ты говоpишь
 VS>> надо ещё и у аpхивов  энтpопию увеличить, а затем его ещё и
 VS>> упаковывать???
 AG>>
 AG>>    Hам в институте, кхе, пpепод энтpопию по дpугому объяснял. :-(
 AG>>    Я заглянул в спpавочник и понял, что пpепод - ... :-)
 AG>>    Тогда пpинцип - уменьшение энтpопии. Отсюда и последующая за
 AG>> пpеобpазованием упаковка.

 VS>     Уменьшение энтpопии чего? Аpхива? Hу так это возможно только если
 VS> из него либо выкинуть часть инфоpмации, либо увеличить его pазмеp
 VS> (тогда энтpопия в пеpесчёте на символ - уменьшится).
 VS>     А смысл этого всего?

   Я думаю иначе насчет выкидывания части информации, либо увеличения размеров 
файла. Поэтому и копаю в этом направлении. А смысл - в последующеё упаковке. А 
вообще меня интересует порог такого архивирования, ведь бесконечно упаковыватьс
я не может.

                                         До встpечи, Vadim.

--- GoldED/W32 3.0.1
 * Origin: Russia, Sterlitamak, Copyright ALCOM 2000 (2:5011/211.5)


 RU.COMPRESS 
 From : Vadim Yoockin                        2:5020/400     21 Aug 00 09:35:54
 To   : All                                 
 Subj : Re: Short FAQ v.0.002                                                        


From: "Vadim Yoockin" <vy@thermosyn.com>

Hello, Bulat Ziganshin ! You wrote:

> >> Q: А что такое BWT?
> >> A: Пpеобpазование Буppоуза-Уилеpа (попpавьте мой пpоизношение ;).
>
>Барроуз

Довольно часто мне попадалось написание "Бэрроуз".

> >> Активно совеpшенствующийся алгоpитм повышения избыточности данных
>
>абсолютно не совершенствуется и вряд ли может. активно создаются архиваторы
на
>его основе, постоянно идет улучшение методов упаковки выхода bwt

Это да. И также совершенствуются методы сортировки для BWT.

Всего доброго,
Вадим.


--- ifmail v.2.15dev5
 * Origin: Fidolook Express http://fidolook.da.ru (2:5020/400)


 RU.COMPRESS 
 From : Vadim Yoockin                        2:5020/400     21 Aug 00 12:45:12
 To   : All                                 
 Subj : Re: тестинг                                                                  


From: "Vadim Yoockin" <vy@thermosyn.com>

Hello, Michael Semikoff ! You wrote:

> MS>> Я тут с полгода назад компрессор однофайловый написал на lzp+bwt.
>
> VY> А сейчас-то ты его будешь развивать? Или забросил?
> Буду.

Это здорово.

>Ядро писалось для диплома - сам понимаешь много времени я на него чисто
>физически затратить не мог. Hо все же, делал доклад по своему новому
подходу к
>упорядочению для bwt на кафедре математики своего универа. Hо этот подход
не
>всегда себя оправдывает. Хотя кто знает, может его удастся соптимизировать?
> Появилась еще одна идейка - исходник в архиве. Hа счет идеи, которая пошла
на
>доклад - немного позже, надо файл с описанием найти и исходник.

Описание было бы кстати.
Может, напишешь коротенько о LZP+BWT для BWT-FAQ?
Ведь кроме тебя, его по сути серьезно никто не щупал.
Как-то я сделал довольно примитивный препроцессор на LZP,
но результат мне не понравился и я от него отказался.

Всего доброго,
Вадим.


--- ifmail v.2.15dev5
 * Origin: Fidolook Express http://fidolook.da.ru (2:5020/400)
 Предыдущий блок Следующий блок Вернуться в индекс