Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Построение оптимального неравномерного двоичного кода методом Шеннона-Фано

Читайте также:
  1. III. Построение войска
  2. А - внутриротовой метод анестезии у нижнечелюстного отверстия (методом ощупывания).
  3. Алгоритм решения транспортной задачи закрытого типа, представленной в матричной форме, без ограничений пропускной способности методом потенциалов
  4. Анализ финансового состояния и построение матрицы бухгалтерского баланса компании
  5. Аналитическое выравнивание (построение тренда), прогноз при помощи тренда на 3 периода вперед
  6. В12 получают методом биосинтеза.
  7. Выбор оптимального метода ценообразования

Реализуем алгоритм построения кода Шеннона-Фано по пунктам. Проиллюстрируем работу алгоритма построения кода Шеннона-Фано с помощью таблицы 2.

п.1. В столбце 1 (таблица 2) буквы первичного алфавита отсортированы в порядке убывания вероятностей их появления.

п.2. Разобьем множество букв на две группы, так чтобы суммы вероятностей букв в каждой группе были по возможности одинаковы:

- первая группа – (a1, a5, a6, a11) с суммарной вероятностью

p(a1)+p(a5)+p(a6)+p(a11)=0,17+0,15+0,12+0,11=0,55;

- вторая группа – (a10, a4, a7, a12, a3, a2, a8, a9) с суммарной вероятностью

p(a10)+p(a4)+p(a7)+p(a12)+p(a3)+p(a2)+p(a8)+p(a9)=0,1+0,08+0,07+0,07+0,06+

+0,04+0,02+0,01=0,45.

 

Таблица 2 - Построение кода Шеннона Фано

 

Буква р(аk) Код 1 p() – p(ak) log p(ak)
           
a1 0,17     0,51 0,4346
a5 0,15     0,45 0,4105
a6 0,12     0,36 0,3671
a11 0,11     0,33 0,3503
a10 0,1     0,3 0,3322
a4 0,08     0,32 0,2915
a7 0,07     0,28 0,2686
a12 0,07     0,28 0,2686
a3 0,06     0,24 0,2435
a2 0,04     0,16 0,1858
a8 0,02     0,1 0,1129
a9 0,01     0,05 0,0664
      =3,38 H(A)=3,3320

 

 

п.3. Первым символам кодовых слов букв a1, a5, a6, a11 присваиваем символ «0», а первым символам кодовых слов букв a10, a4, a7, a12, a3, a2, a8, a9 присваиваем символ «1» (столбец 3, таблица 2).

п.4. Повторяется п.2 для первой группы, которая разбивается на две подгруппы: (a1, a5) и (a6, a11). В соответствии с п. 3 второму символу букв a1, a5 присваивается символ «0». Вторым символам группы (a6, a11) присваивается символ «1».

Повторяется п.2 для группы (a1, a5), она разбивается на буквы a1 и a5.

В соответствии с п. 3 третьему символу буквы a1 присваивается символ «0», а третьему символу буквы a5 - символ «1», и на этом процесс кодирования букв a1 и a5 заканчивается:

Cod a1 =000,

Cod a5 =001.

Повторяется п.2 для группы (a6, a11), она разбивается на буквы a6 и a11.

В соответствии с п. 3 третьему символу буквы a6 присваивается символ «0», а третьему символу буквы a11 - символ «1», и на этом процесс кодирования букв a6 и a11 заканчивается:

Cod a6 =010,

Cod a11 =011.

 

Аналогично проводится кодирование остальных символов букв a10, a4, a7, a12, a3, a2, a8, a9, результаты которого представлены в столбце 3, таблица 2.

Оценим эффективность построенного кода.

Среднюю длину кодового слова вычислим по формуле (16), для чего для каждой буквы первичного алфавита воспользуемся данными из столбцов 4 и 2 таблицы 2, поместим полученные произведения в соответствующие ячейки столбца 5 и просуммируем их:

, (16)

где K – число букв первичного алфавита;

nk – длина k-го кодового слова;

p(ak) – вероятность появления k-го кодового слова.

 

=3,38.

Вычислим энтропию первичного алфавита по известной формуле (6). В столбце 6 таблицы 2 произведены соответствующие вычисления:

H(A)=3,3320 бит/символ.

Вычислим коэффициент относительной эффективности по формуле (17)

(17)

 

и коэффициент статистического сжатия – по формуле (18)

(18)

 

 

Далее по ходу решения для алфавита, заданного таблицей 1, построим другой код, для него вычислим значения коэффициента относительной эффективности и коэффициента статистического сжатия и проведем сравнения. Более эффективным окажется тот код, для которого значения коэффициента относительной эффективности и коэффициента статистического сжатия окажутся большими.

 

 


Дата добавления: 2015-11-30; просмотров: 29 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.009 сек.)