
6.3.
 Кодирование
 Лемпеля
 Зива
явления
 некоторой особенности текста. Последующие «1» и символ
указывают на то, что символ повторяется. Во втором флаге указы-
вается число повторений и последующий символ.
Затраты на кодирование определяются длиной окна, содержаще-
го словарь фраз ш
р
, длиной Look ahead буфера u>i и затратами на
двоичное представление указателя
Кг
— =
 log
2
 UJ
P
 +
 log
2
 u
L
 + 8. (6.2)
бит
Кодирование
 Лемпеля - Зива приводит к сжатию данных в т,ом
случае, если затраты на кодирование, т.е. длина указателя в двоич-
ном
 исчислении в среднем оказывается меньше, чем при непосред-
ственном
 кодировании, например, кодом ASCII, что
 соответствует
 8
битам на один символ.
В типичном
 случае
 LJ
V
 = 2
12
 =
 4096
 и u>i = 2
4
 = 16 и затраты на
двоичное представление указателя составляют 24 бита. Для фразы,
состоящей
 из
 четырех
 букв, которая уже содержится в словаре фраз,
экономия,
 но сравнению с прямым кодированием кодом ASCII(32
бита),
 составляет 25 %.
Для кодирования Лемпеля - Зива установлено, что:
• Часто появляющиеся цепочки символов кодируются очень эф-
фективно;
• Редко появляющиеся символы и последовательности символов
с
 течением времени удаляются из словаря фраз;
• Повторяющиеся символы также кодируются эффективно;
• На кодирование нулевых фраз затрачивается относительно боль-
шое число бит;
• Методы теории информации позволяют доказать, что кодиро-
вание
 методом Лемпеля - Зива асимптотически оптимально.
Это означает, что для очень длинного текста избыточность ис-
чезает, то есть среднее число бит, необходимое для кодирования
одного символа, стремится к энтропии текста;
• Практически достижимая степень сжатия для длинных тек-
стов составляет 50 60%.