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.


 

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

66550. Исследование дополнительных режимов работы беспроводного оборудования с применением антенно-фидерного оборудования 52 KB
  Цель работы: исследовать зоны покрытия электромагнитных волн антенн и антенно-фидерное оборудование. I.Исследование штатной антенны точки доступа DWL-2100AP 1.Включаем точки доступа DWL-G132 и DWL-2100AP 2.Выбираем внешнюю или внутреннюю антенны у DWL-2100AP...
66551. ДОСЛІДЖЕННЯ ТРИФАЗНОГО ЕЛЕКТРИЧНОГО КОЛА ПРИ 3’ЄДНАННІ СПОЖИВАЧІВ ЗІРКОЮ 1.01 MB
  Дослідити і вивчити режими роботи та властивості трифазних електричних кіл при з’єднанні фаз споживачів зіркою з нейтральним проводом і без нього. Перевірити співвідношення між фазними і лінійними напругам та струмами.
66552. Нейро-нечіткі мережі для поданя і обробки знань 102.15 KB
  Нейрониі мережі, наприклад, є зручними для задач розпізнавання образів, але дуже незручні для пояснення, як вони таке розпізнавання здійснюють. Вони можуть автоматично здобувати знання, але процес їхнього навчання найчастіше відбувається досить повільно
66553. Діагностика ПК POST-картами 140 KB
  Мета: Навчитися проводити діагностику ПК за допомогою POSTкартами Одним з найпростіших і ефективніших способів діагностики стану материнських плат при технічному обслуговуванні і ремонті персональних комп'ютерів є використання результатів виконання спеціальної процедури...
66554. Освоение технологии структурного программирования и применения стандартных методов работы с двумерными массивами при разработке и создании программы на языке Турбо Паскаль 130.5 KB
  Цели работы: Освоение методики нисходящей разработки (проектирования) программы методом пошаговой детализации с помощью псевдокода при решении задач с помощью ПК. Освоение методов структурного программирования при разработке и создании программы на языке Турбо Паскаль для обработки двумерных массивов.
66555. Работа с терминалом. Управление процессами. Взаимодействие процессов: каналы 50.5 KB
  Цель работы - изучение механизмов управления устройствами ввода-вывода UNIX при помощи специальных файлов устройств, основных принципов управления процессами, способов создания и уничтожения процессов, механизмов планирования процессов...
66556. РАБОТА С ТЕРМИНАЛОМ. УПРАВЛЕНИЕ ПРОЦЕССАМИ. ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ: КАНАЛЫ 32.29 KB
  Цель работы изучение механизмов управления устройствами ввода-вывода UNIX при помощи специальных файлов устройств основных принципов управления процессами способов создания и уничтожения процессов механизмов планирования процессов простейших видов взаимодействия процессов...
66557. Исследование схемы автоматического управления электроприводом в функции пути и времени 194 KB
  Цель работы – изучение схем управления электроприводом. Исследование режимов работы экспериментальной установки «Автоматизированное управление электроприводом в функции пути и времени».