69429

Код Хаффмена

Лабораторная работа

Информатика, кибернетика и программирование

Все кодируемые сообщения источника располагаются в столбец по убывающим вероятностям. Затем два наименее вероятных сообщения расположенных в последних строках столбца объединяются в одно которому приписывается суммарная вероятность.

Русский

2014-10-04

74.5 KB

2 чел.

Министерство науки и образования Украины

Университет развития человека „Украина

Отчет по лабораторной работе
Дисциплина "Теория информации и кодирования"
Тема: " Код Хаффмена "

Принял: Вишталь 

Выполнил:
студент 3  курса гр.КС-31
Жабко К.В..

Киев 2005

Лабораторная работа № 10

Цель:  Изучить Код Хаффмена, выяснить особенности его построения и применения

Краткие теоретические сведения.

Все кодируемые сообщения источника располагаются в столбец по убывающим вероятностям. Затем два наименее вероятных сообщения (расположенных в последних строках столбца) объединяются в одно, которому приписывается суммарная вероятность. Затем составляется первая вспомогательная группа элементов, отличающаяся от исходной тем, что объединенный элемент занимает в колонке положение, соответствующее его вероятности. Далее процес объединения пары наимение вероятных элементов и создания второй и последующих вспомогательных групп повторяется до получения единственного элемента с вероятностью 1.
    На первом этапе работы Вам предлагается построить таблицу из дополнительных групп. 

    Второй этап тестирования заключается в отыскании кодовых комбинаций для данного сообщения по таблице дополнительных групп. Для образования кодовых сообщений необходимо построить кодовое дерево. Отмечают вершину кодового дерева и приписывают ей вероятность 1.0. Из вершины проводят две ветви, оканчивающиеся узлами. Узлам приписывают вероятности, которые при суммировении дают единицу. Вертикальной ветви (с меньшей вероятностью) приписывают символ "0", а горизонтальной (с большей) – символ "1". Если вероятность при некотором узле равна вероятности какого-либо сообщения, узлу приписывают символ этого сообщения и переходят к анализу следующего узла. Если вероятность при некотором узле образована суммированием двух меньших вероятностей, то из него опять проводят две разнонаправленные ветви, оканчивающиеся узлами. Узлам приписывают вероятности с учетом принятой ориентации. Ветвям приписывают символы: вертикальной – "0", горизонтальной – "1". Процесс построения кодового дерева продолжается, пока все символы сообщений источника не будут приписаны корневым узлам.
    Кодовые комбинации, соответствующие сообщений источника, записываются следующим образом. На полученном кодовом дереве необходимо проследить по ветвям путь от корневого узла (узла с вероятностью 1.000), до узла, соответствующего заданному сообщению, записывая последовательно слева направо символы 1 или 0, соответствующие прослеживаемым ветвям. Полученные кодовые комбинации и представляют собой оптимальный код Хаффмена.

Сообщения

Вспомогательные группы

1

2

3

4

5

6

7

8

9

P1

0.319

0.319

0.319

0.319

0.319

0.319

0.319

0.398

0.602

1.000

P2

0.138

0.138

0.138

0.145

0.169

0.229

0.283

0.319

0.398

P3

0.120

0.120

0.120

0.138

0.145

0.169

0.229

0.283

P4

0.085

0.085

0.109

0.120

0.138

0.145

0.169

P5

0.084

0.084

0.085

0.109

0.120

0.138

P6

0.083

0.083

0.084

0.085

0.109

P7

0.062

0.062

0.083

0.084

P8

0.050

0.059

0.062

P9

0.033

0.050

P10

0.026

В данном примере ветви с большей вероятностью присваювается значение "1". Очевидно, что реализация кода принципиально не поменяется, если значение "1" присваивать ветви с меньшей вероятностью.

Кодирование сообщения

Закодировать сообщение P10.

Для кодирования сообщения необходимо проследить путь по построенному дереву от корня (элемента с вероятностью 1.000 до искомого сообщения и записать по порядку значения на всех ветвях этого пути.

Для сообщения P10 этот путь будет выглядеть как 1.000 - 0.398 - 0.229 - 0.109 - 0.059 - 0.026. Записывая значения пройденных ветвей, получаем код сообщения P10 - 01010.

Закодировать сообщение      P3 – 011.

     Р9 – 01011.

     Р7 – 1010.


 

А также другие работы, которые могут Вас заинтересовать

2558. Измерение плотности твердых тел пикнометрическим методом 74.5 KB
  Цель работы: ознакомление с устройством аналитических весов и методами точного взвешивания, определение плотности образцов неправильной формы при помощи метода пикнометра.
2559. Измерения угловой скорости 153.5 KB
  Цель работы: ознакомиться со способами измерения угловой скорости, измерить угловую скорость вращения электромотора в зависимости от приложенного напряжения.
2560. Спектр атома водорода 82.38 KB
  Цель работы: измерить длины волн трех линий в спектре атома водорода и вычислить значение постоянной Ридберга.
2561. Измерение моментов инерции тел 69.86 KB
  Цель работы: измерить величину момента инерции осесимметричных тела (коаксиального цилиндра) методом крутильных колебаний, провести сравнение измеренных значений с теоретическими предсказанными значениями момента инерции.
2562. Измерение параметров вращательного движения 269.5 KB
  Цель работы: измерить параметры, характеризующие вращательное движения – момент силы, угловое ускорение и момент инерции с помощью маятника Обербека
2563. Измерения в цепях постоянного тока. Определение величины удельного сопротивления металлов 471.32 KB
  Цель работы: ознакомиться с электроизмерительными приборами и способами измерения основных электрических величин в цепях постоянного тока - силы тока, напряжения и сопротивления. Ознакомиться со способами измерения малых линейных размеров с помощью микроскопа.
2564. Компенсационный метод измерения электродвижущей силы и сопротивления 80.89 KB
  Цель работы: изучение компенсационного метода измерений эдс и сопротивлений. Принцип действия потенциометров постоянного тока
2565. Измерения в цепях переменного тока 156.69 KB
  Цель работы: ознакомление со способами измерения величин переменного тока и напряжения, а также параметров цепи переменного тока - емкости, индуктивности, сопротивления.
2566. Определение модуля упругости (модуля Юнга) по деформации изгиба 125.82 KB
  Цель работы: определение модуля упругости (модуля Юнга) по деформации изгиба стержней прямоугольного сечения. Деформация изгиба возникает тогда, когда к стержню, один конец которого закреплен или к стержню, свободно лежащему на опорах приложена сила, перпендикулярная к его оси.