- •Лабораторная работа № 4 (7)
- •Задание
- •Задача № 1
- •Задача № 2
- •Контрольные вопросы
- •Краткие теоретические сведения
- •1 Построение кодов Хемминга (описание алгоритма кодирования)
- •2 Обнаружение ошибок в кодах Хемминга
- •3 Декодирование
- •Алфавитное кодирование с минимальной избыточностью
- •Построение кодов Хаффмана
- •Решение
- •Решение
Решение
1 Определить qо по формуле (14).
k = ]r/ (q –1)[ (остаток от деления)
k =] 7/2[ = 1; q0 = 3.
2 Упорядоченный список вероятностей 1 (7 чисел):
0,26; 0,22; 0,14; 0,10; 0,10; 0,09; 0,09 (курсивом
выделены числа, которые суммируются
при формировании списка 2).
У
порядоченный
список 2 (5 чисел) 0,28; 0,26; 0,22; 0,14; 0,10
Упорядоченный список 3 (3 числа) 0,46; 0,28; 0,26;
3 Для последнего свернутого в п.2 списка строится одноярусное кодовое дерево (из начальной вершины выходит 3 ребра, каждому из которых приписывается буква алфавита O, а каждой вершине 1–го яруса вероятности из последнего свернутого списка).
4 Строим 2–й, 3–й и другие ярусы кодового дерева, на которых разворачиваем просуммированные вероятности последнего, предпоследнего и т.д. списков(вершины, которым приписаны вероятности букв входного алфавита на любом ярусе, становятся концевыми); в результате таких действий получим кодовое дерево, в котором r концевых вершин и каждой из которых приписана вероятность pj .Выписав цепи из нулевой вершины к концевым (перечень ребер), получим схему кодирования с минимальной избыточностью.
Величина среднего превышения длины закодированного сообщения над длиной самого сообщения определим по формуле:
l = = 0,26 + (0,28+0,46)х2 = 1,74.
Пример2: Построить код с минимальной избыточностью (код Хаффмана) для следующих исходных данных:
r |
q |
7 |
3 |
Решение
q =3; r = 7 в соответствии с формулой (12) m = 1. Для кодирования будет достаточно 1–го и 2–го ярусов обобщенного кодового дерева (см. рис. 3).
r =( q m – n)+ q n – t, 7 = (3 –n)+ 3 n – t (подбираем целые n и t)
Равенство выполняется для n = 2 и t= 0.
Определим l для полученной схемы по формуле (13)
l = [( q m– n) m + (q n – t)( m+1)]/ r
l = (( 3-2) х1 + (3х2 – 0) (1+1)) / 7 = 13/7 = 1,86.
