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.


 

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

61606. Лёгкая атлетика 17.31 KB
  Задачи: - совершенствование координации движений через выполнение ходьбы в приседе и ОРУ в движении; - совершенствование выносливости через сдачу зачета «Бег 1000 м»...
61607. Подвижные игры. Эстафеты 20.84 KB
  Цель: Совершенствовать навык выполнения эстафет Задачи: Образовательные: обучение учащихся выполнению физических упражнений; обучение учащихся правильного выполнения эстафет. Развивающие: развивать ловкость точность координацию движений развивать умение работать в команде.
61609. Спортивные игры на уроке физической культуры 82.06 KB
  Задачи урока: Образовательные: Совершенствовать технику выполнения ведения баскетбольного мяча Закреплять технику выполнения бросков и ловли волейбольного мяча Совершенствовать простейшую тактическую и техническую подготовку в игре в пионербол.
61610. Работа с графическими изображениями и Word Art в программе Word 111.98 KB
  На прошлых уроках вы проходили тему Текст учились работать с ним: выравнивать изменять цвет и заливку изменять размер шрифта и сам шрифт. Актуализация знаний: Какие параметры у шрифта вы научились изменять на прошлом уроке размер цвет наклон...
61611. Графические изображения и инструмент WordArt в MS Word 268.67 KB
  Цели урока: Образовательная - научить вставлять и редактировать изображения в документ Word, Научить работать с инструментом WordArt; Воспитательная – воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости...
61612. Знакомство с витражом как одним из видов декоративно прикладного искусства 15.28 KB
  Развивающие: развитие творческой фантазии сформировать навыки работы над имитацией техники витража. Вы знаете что это такое Мы познакомимся с витражом как с одним из видов ДПИ с его особенностями техникой изготовления и выполним эскиз витража.
61613. Зимний пейзаж в ночи 16.17 KB
  Задачи урока: образовательные: формирования представления о графике как способа создания художественного произведения линией пятном; формирование навыков рисования кистью белилами на темном фоне; развивающие: развивать воображение фантазию; расширять художественный кругозор учащихся...