Инфоурок Информатика Другие методич. материалыМетоды эффективного кодирования информации

Методы эффективного кодирования информации

Скачать материал

Лабораторная работа №9. Методы эффективного кодирования информации

1. Цель работы

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

2. Теоретические сведения

Алгоритм Хаффмена (англ. Huffman) – алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью был разработан в 1952 году доктором Массачусетского технологического института Дэвидом Хаффменом. Он более практичен и никогда по степени сжатия не уступает методу Шеннона-Фэно, более того, он сжимает максимально плотно.

Этот метод кодирования состоит из двух основных этапов:

Построение оптимального кодового дерева.

Построение отображения код-символ на основе построенного дерева.

Алгоритм кодирования может быть представлен следующим образом:

Символы первичного алфавита m1 выписывают в порядке убывания вероятностей.

Последние n0 символов объединяют в новый символ, вероятность которого равна сумме этих символов, удаляют эти символы и вставляют новый символ в список остальных на соответствующее место (по вероятности). n0 вычисляется из системы:

lr_9_clip_image002.gif

где a – целое число,

m1 и m2 – мощность первичного и вторичного алфавита соответственно.

Последние m2 символов снова объединяют в один и вставляют его в соответствующей позиции, предварительно удалив символы, вошедшие в объединение.

Предыдущий шаг повторяют до тех пор, пока сумма всех m2 символов не станет равной 1.

Этот процесс можно представить как построение дерева, корень которого – символ с вероятностью 1, получившийся при объединении символов из последнего шага, его m2 потомков – символы из предыдущего шага и т.д.

Каждые m2 элементов, стоящих на одном уровне, нумеруются от 0 до m2-1. Коды получаются из путей (от первого потомка корня и до листка). При декодировании можно использовать то же самое дерево, считывается по одной цифре и делается шаг по дереву, пока не достигается лист – тогда выводится символ, стоящий в листе и производится возврат в корень.

Для двоичного кода описанная методика значительно упрощается. В этом случае n0 = m2 = 2, а полученное в результате построения дерево называется двоичным.

Рассмотрим применение алгоритма Хаффмена для последовательности «aa bbb cccc ddddd» (таблица 12 , таблица 13).

Энтропия исходного сообщения равна:

lr_9_clip_image004.gif

Таблица 12 - Процедура оптимального двоичного кодирования

lr_9_clip_image006.gif

Таблица 13 - Результат кодирования по методу Хаффмена

Символ

pi

Li

piLi

Код

d

5/17

2

0.59

00

c

4/17

2

0.47

10

<space>

3/17

2

0.35

11

b

3/17

3

0.53

010

a

2/17

3

0.35

011

ML(X) = 2.29

 

Отметим, что в ряде случаев вместо таблицы, отражающей процедуру кодирования по методу Хаффмена, удобнее работать со списком букв и весами:

d5 c4 <space>3 b3 a2,

осуществляя с помощью скобок группировку символов. Например, первый шаг может быть представлен следующим образом:

d5 (b3 + a2)5 c4 <space>3

(c4 + <space>3)d5 (b3 + a2)5

[d5 + (b3 + a2)5]10 + (c+ <space>3)7

Полученные соотношения удобно представлять в виде дерева, по которому можно составить код для каждого символа (рисунок 23).

lr_9_clip_image008.gif

Рисунок 23 - Кодовое дерево

Средняя длина сообщения, кодирующего заданную последовательность, равна:

lr_9_clip_image010.gif

3. Порядок выполнения работы

·         Ознакомиться с теоретическими сведениями.

·         Получить вариант задания у преподавателя.

·         Выполнить задание.

·         Продемонстрировать выполнение работы преподавателю.

·         Оформить отчет.

·         Защитить лабораторную работу.

4. Требования к оформлению отчета

Отчет по лабораторной работе должен содержать следующие разделы:

·         титульный лист;

·         цель работы:

·         задание на лабораторную работу;

·         ход работы;

·         ответы на контрольные вопросы;

·         выводы по проделанной работе.

5. Задание на работу

Построить кодовое дерево и код Хаффмена для последовательности символов в соответствии с вариантом (таблица 14).

Таблица 14 - Варианты заданий на работу

Вариант

Текст

1

one important method of transmitting messages

2

transmit in their place sequences of symbols.

3

there are more messages which might be sent t

4

there are kinds of symbols available, then so

5

the messages must use more than one symbol. I

6

is assumed that each symbol requires the same

Подсчитайте энтропию исходного сообщения и среднюю длину кодирующего сообщения.

6. Контрольные вопросы

1.     Какова суммарная вероятность всех символов, участвующих в кодировании по методу Хаффмена?

2.     Сколько раз кодеру Хаффмена необходимо просматривать сжимаемый текст для получения окончательного результата?

3.     Может ли среднее количество бит на единицу сообщения для кодирования по методу Хаффмена быть меньше энтропии сообщения? Почему?

4.     Нужно ли при кодировании по методу Хаффмена кроме сжатого сообщения передавать какую-либо дополнительную информацию? Поясните ответ.

5.     Какой вариант сжатия – обратимое или необратимое – реализует алгоритм Хаффмена?

6.     Почему кодирование по Хаффмену называется префиксным?

7. Литература

1.     Huffman D. A Method for the Construction of Minimum-Redundancy Codes. Proceedings of IRE, vol.40, N9, pp.1098-1101, September 1952.

2.     Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. – М.: МЦНМО, 2001. – 960 с.

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Методы эффективного кодирования информации"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Специалист по привлечению инвестиций

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 671 638 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 20.01.2021 545
    • DOCX 55.6 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Гузаева Мария Юрьевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Гузаева Мария Юрьевна
    Гузаева Мария Юрьевна
    • На сайте: 8 лет и 7 месяцев
    • Подписчики: 1
    • Всего просмотров: 81558
    • Всего материалов: 64

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Менеджер по туризму

Менеджер по туризму

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 680 человек из 79 регионов
  • Этот курс уже прошли 1 817 человек

Курс повышения квалификации

Особенности подготовки к сдаче ОГЭ по информатике и ИКТ в условиях реализации ФГОС ООО

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 101 человек из 40 регионов
  • Этот курс уже прошли 808 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 20 человек из 12 регионов
  • Этот курс уже прошли 18 человек

Мини-курс

Детские и взрослые эмоции

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Этот курс уже прошли 10 человек

Мини-курс

Организация и контроль занятий со студентами специальных медицинских групп

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Занимательное обучение русскому языку: основы орфоэпии и тайны русской орфографии

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 34 человека из 20 регионов
  • Этот курс уже прошли 35 человек