![]() |
1. Заголовок темы должен быть информативным. В противном случае тема закрывается и удаляется ...
2. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
3. Одна тема - один вопрос (задача)
4. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
webstep |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Пытаюсь разобраться в алгоритме адаптивного арифметического кодирования (файл с исходником прилагается)
В литературе описано что этот способ может сжать строку состоящую из 100 символов "a" плюс 100 "b" плюс 100 "c" плюс 100 "d" лучше чем прямое кодирование Хафмана по 2 бита на символ. Попробовал - фигушки. По хафману получаю строку 100 байт, по арифметическому почти вдвое больше. ![]() В чем дело? Может есть у кого исходники, которые обеспечивают заявленое арифметическое сжатие лучшее чем по Хафману? Прикрепленные файлы ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вот посмотри, ресурс полностью посвященный сжатию информации, может найдешь для себя что-нибудь интересное : http://www.data-compress.net
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(webstep @ 24.10.2005 17:29) В литературе описано что этот способ может сжать строку состоящую из 100 символов "a" плюс 100 "b" плюс 100 "c" плюс 100 "d" лучше чем прямое кодирование Хафмана по 2 бита на символ. Каким это образом, интересно? ![]() Цитата Результаты сжатия, достигнутые данным алгоритмом ваpьиpуются от 4.8-5.3 битов/символ для коpотких текстов до 4.5-4.7 битов/символ для длинных. Так что ни о каком результате в 2 бита на символ даже не мечтай, особенно на коротких текстах (до сотен килобайт) |
webstep |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(volvo @ 24.10.2005 21:47) Результаты сжатия, достигнутые данным алгоритмом ваpьиpуются от 4.8-5.3 битов/символ для коpотких текстов до 4.5-4.7 битов/символ для длинных. Это касается простого алгоритма, когда нужно писать и таблицы и пр. а есть адаптивный, когда пишется только код. У меня книжка есть, там один автор написал, что адаптивный арифметический сжимает лучше Хафмана. Кроме того, эта прога (что я прикладывал) она сжимает почти в 2 бита - файл размером 20485 - в 5198. Вот я и интересовался, может в этой проге алгоритм просто немного криво реализован и можно его улучшить что бы было меньше чем 2 бита... А сайты эти я все знаю не один день уже ![]() ![]() Сообщение отредактировано: webstep - 25.10.2005 18:18 |
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 4:29 |