Вниз
Скачать: CL | DM;

Сжатие информации   Найти похожие ветки 

 
AntonSh   (2004-10-22 12:16) [0]

Подскажите, пожалуйста, может кто знает.
Вот прочитал про такую реализацию метода. Например есть строка – “Антон”. Подсчитываем какой символ встречается чаще всего: н – 2. Тогда записываем нашу строку в виде:  01001. Удаляем из нашей строки символ – н: Ато. Производим ту же операцию. Так как все одинаковое количество, то берем символ А : 100. Остаётся – то. Соответственно: 10. В итоге получаем: 01001100100. Вместо  5 байт получаем 1 и 1 бит. Можно ли данный метод считать правильным? Спасибо.


 
Reindeer Moss Eater ©   (2004-10-22 12:18) [1]

Совершенно правильный метод


 
Ega23 ©   (2004-10-22 12:20) [2]

Вот теперь только дешифровки алгоритм опиши, и дадуть тебе какую-нить деньгу большую в виде премии.


 
Reindeer Moss Eater ©   (2004-10-22 12:21) [3]

Дешифровка - дело десятое.
Мы тут про сжатие.


 
Ega23 ©   (2004-10-22 12:26) [4]

Ни фига себе "дело десятое"! А кому это сжатие без восстановления нужно?


 
AntonSh   (2004-10-22 12:32) [5]

Спасибо за ответы. Я хочу объяснить почему у меня возник данный вопрос. Вот везде в Inete описан данный метод следующим образом :
Алгоритм LZW-сжатия в простейшей форме приведен на рис.1. Каждый раз, когда генерируется новый код, новая строка добавляется в таблицу строк. LZW постоянно проверяет, является ли строка уже известной, и , если так, выводит существующий код без генерации нового.
Процедура LZW-сжатия:

СТРОКА = очередной символ из входного потока
WHILE входной поток не пуст DO
СИМВОЛ = очередной символ из входного потока
IF СТРОКА+СИМВОЛ в таблице строк THEN
СТРОКА = СТРОКА+СИМВОЛ
ELSE
вывести в выходной поток код для СТРОКА
добавить в таблицу строк СТРОКА+СИМВОЛ
СТРОКА = СИМВОЛ
END of IF
END of WHILE
вывести в выходной поток код для СТРОКА

Но как мне кажется мой способ(предложенный моим товарищем) несколько отличается от описаного в книге. Где же правда?


 
Гарри Поттер ©   (2004-10-22 12:53) [6]

>Вот прочитал про такую реализацию метода

Здесь прочитал?
http://www.lapsha.ru/articles/tech/2004/01/06/150700.html

Ну тогда объединяйтесь и пишите разархиватор, тоже на страницы лапшпа.ру попадешь.


 
mrcat ©   (2004-10-22 13:44) [7]

>Ни фига себе "дело десятое"! А кому это сжатие без восстановления нужно?

Хэш-функции: сжатие без восстановления


 
Symb   (2004-10-22 13:46) [8]

AntonSh, алгоритм LZW анализирует входной текст не посимвольно, а пытается найти повторяющиеся строки. То, что описано в вопросе -- посимвольный анализ, где новый код символа зависит от его частоты.
Алгоритмы, которые так работают (вполне успешно): Метод Хаффмана (Huffman) и метод Шеннона-Фано (Shannon-Fano). Посмотри в инете их описание.


 
Anatoly Podgoretsky ©   (2004-10-22 13:50) [9]

Ega23 ©   (22.10.04 12:26) [4]
Трудно обеспечить безопасность если будет возможно восстановление.


 
Анонимщик ©   (2004-10-22 16:23) [10]

Действительно, на Хаффмана похоже, только так описано, что ничего не понятно.


 
AntonSh   (2004-10-22 17:25) [11]

Главное что данное сжатие работает. А почему автор одной умной книги по алгоритмам относит данный метод к LWZ остаётся только догадываться.


 
TUser ©   (2004-10-22 17:40) [12]


> автор одной умной книги

?


 
TUser ©   (2004-10-22 17:42) [13]


> Действительно, на Хаффмана похоже

Да не Хафман это. Хотя бы потому, что здесь не гарантируется никак "суффиксность" шифра



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.02 c
14-1098095756
Igorek
2004-10-18 14:35
2004.11.07
Визуальное проектирование таблиц и отношений в БД


9-1089372152
Sewix
2004-07-09 15:22
2004.11.07
Требуется написать лаберинт. Типа Doom a без монстров


1-1098349838
Shuma
2004-10-21 13:10
2004.11.07
Форма в DLL


3-1097339186
Cobalt
2004-10-09 20:26
2004.11.07
Различие всяких технологий


1-1098281680
~Shaman~
2004-10-20 18:14
2004.11.07
Генератор отчётов




   Наверх