Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
30.03.2015
Размер:
634.88 Кб
Скачать
  1. Кодирование на основе словарного моделирования

  2. Построение двоичных кодов Хаффмана

В ходе выполнения работы было построено два набора двоичных кодов Хаффмана: Huff(X) для основного алфавита и Huff(D) для словаря подстрок(В приложении Б приведены таблица Б.1 и таблица Б.2). Для оставшейся части псевдотекста по формуле (4) была вычислена суммарная длина кода текста LX при использовании равномерных кодов для основного алфавита (1/N бит на символ, где N – мощность алфавита):

LX=kNUM=249 бит, (4)

где k – количество знакомест в двочном представлении кода(по Хаффману) символа алфавита псевдотекста; NUM – количество символов в тексте( в оставшихся двух третьих).

Далее по (5) вычислялась суммарная длина кода текста LHuff(X) при использовании кодов Хаффмана для основного алфавита:

LHuff(X) = (кол. биткол. символов)=224 бит, (5)

где суммирование происходило по k ( количество букв алфавита).

После чего была закодирована оставшаяся часть текста с помощью словаря подстрок D и кодов Хаффмана Huff(D):

НЮ._.И. _НИ_. Д. И. Д. И. _. И. _. Д. И. НЮ. _. И_Н. И. Н. И. Н. И. Д. И. _. Д. И. НЮ. _. НЮ. _НИ_. Н. И. Д. И._. Д. И. Н. И. _. Д. И. Н. И. НИ_. Н. И. Д. И. _. Д. И. НИ_.НИ_. НЮ. _НИ_. Д. И. Д. И. Ю

01011. 100. 0011. 111101. 1100. 0011. 1100. 0011. 100. 0011. 100. 1100. 0011. 01011. 100. 01100. 0011. 1010. 0011. 1010. 0011. 1100. 0011. 100. 1100. 0011. 01011. 100. 01011. 111101. 1010.0011. 1100. 0011. 100. 1100. 0011. 1010. 0011. 100. 1100. 0011. 1010. 0011. 11101. 1010. 0011. 1100. 0011. 100. 1100. 0011. 11101. 11101. 01011. 111101. 1100. 0011.1100. 0011. 110

В таблице 2 приведены значения длин кода в битах при различных вариантах кодирования:

Таблица 2 – Значения длин кода

LHuff(D)

LHuff(X)

LX

249

224

249

Суммарная длина кода текста таким образом LHuff(D)=249 бит. Сравнивая средние длины двоичного кода, приходящихся на один символ при кодировании, тремя указанными способами между собой можно, сделать вывод, что в данном случае целесообразно было бы 7. Что касается кодирования с помощью словаря подстрок D Huff(D), то эту неудачу(совершенно случайно этот код оказался не больше или меньше, а равным коду, построенному без анализа первой трети) можно объяснить совершенной неоднородностью в построении слов в базовой( первая треть) и исследуемой( оставшиеся две трети) частях текста. Если же текст был бы более однородным исходя из значений Hmax, HX и HD, анализ которых был сделан выше, то можно предположить, что максимальное сжатие было всё-таки при кодировании с помощью словаря подстрок D.

  1. Анализ графиков оптимальной длины кода и длины кода Хаффмана

В завершении лабораторной работы были построены графики оптимальной длины кода и длины кода Хаффмана для событий с разными вероятностями, изображенные на рисунке 2.

Рисунок 2 – График оптимальной длины кода

На рисунке иллюстрируется одно из свойств кода Хаффмана – его дискретность, так если собственная информация изменяется непрерывно из графика видно, что длина кода по Хаффману дискретна и принимает только целые значения.

Соседние файлы в папке Лабораторная 2