Авторские проекты: |
Д.Ватолин
А.Ратушняк
М.Смирнов
В.Юкин
Е.Шелвин А.Филинский Д.Шкарин С.Оснач С.Воскобойников |
Индекс |
Новый компрессор Мэтта Махони PAQ3 и его призрачная мощность |
From: Eugene D. Shelwien To: Serge Osnach Subj: Re: Махони Date: Sun, 07 Sep 2003 20:36:47 +0300
[...] > EDS> Можно еще такой флажок по предыдущему байту добавить. > EDS> Типа (context*=3)+=(m1.getc1()<64) + (m1.getc1()<64)&&(m1.getc2()<64); > Ты, вероятно, хотел сказать > (context*=3)+=(m1.getc1()>=64) + ((m1.getc1()>=64)&&(m1.getc2()>=64)); Типа того. А что, принципиальная разница? ;) > Эдак Махони с фильтрами и рекорд Воскобойникова побьет... > PAQ3(getc2) > book1 202156 (!!!) > book2 131772 > obj2 62732 > md3 274558 Ничего, зато epm бинарники лучше жмет ;) > EDS> А вообще подозрительно. Он так тексты сжимает не то, что лучше epm, > EDS> а и лучше ppmonstr'а. Какие у него результаты с твоим текстовым > EDS> фильтром? > А русские тексты? У Махони там WordModel, сильно заточенная под английский. Сложно, что ли, такую же под русский сделать? > Cо своими фильтрами я не проверял, чтобы не впасть в отчаяние :-| Ну, тогда я проверил с дурилкиными.orig. t2(28) t2(29) t2(30) t2(31) ppmonstr 203630 198726 197624 195095 180975 paq3 204663 201668 201237 204596 epm r8 205936 201562 200566 196865 slim 15 203515 199511 198404 196361 ash 02 205509 199581 198114 198957Вывод: нечего тут отчаиваться. Просто у Махони элементы препроцессинга встроены в модель. [...] > Если бы мне сейчас было до статьи... не успокоюсь, пока что-нибудь не > придумаю с текстами. А чего с ними думать?1 - all submodels ¦ 204720 2 - no cyclic ¦ 204641 3 - no match ¦ 205000 4 - no word ¦ 209838 5 - no p dependency in SSE context ¦ 209779 6 - ppm & word, no p in SSE ¦ 206189 7 - ppm & word, m3-p used for SSE ¦ 204957
Тут видно, что PPM у Махони как был слабоват, так и остался, а основной эффект - за счет "словной" субмодели (плюс немножко за счет матчей). Словная модель, правда, полных аналогов среди существующих фильтров не имеет, но в случае paq3 имхо ее эффект полностью перекрывается space stuffing + capital conversion. Кстати, "идеальная" реализация словной субмодели получится, если создать второй инстанс обычной контекстной модели и парсить им фильтрованный текст (без пунктуации и пр.). ...Вообще, это очень мощный метод - geopack работает именно по такому принципу.