Построить неравномерный двоичный код с заданными длинами кодовых слов w1=w2= w3=w 4= 3 и w 5 = 4 используя префиксное дерево

Построить неравномерный двоичный код с заданными длинами кодовых слов w1=w2= w3=w 4= 3 и w 5 = 4 используя префиксное дерево. 2. Построить оптимальный код по алгоритму Шеннона–Фано. ). Рассчитаться среднюю длину кодового слова, энтропию источника и коэффициент сжатия. 3. Построить оптимальный код по алгоритму Хафмена. Рассчитаться среднюю длину кодового слова, энтропию источника и коэффициент сжатия. Определим по неравенству Кpафта, что код с заданными длинами кодовых слов существует: = 0,125+0,125+0,125+ 0,125+ 0,0625 = 0,5625 < 1, Для построения кода используем полное двоичное дерево с высотой h= 4. Построение оптимального префиксного кода по алгоритму Шеннона-Фано сводится к следующей процедуре. На первом этапе кодирования 1) символы алфавита источника заносятся в таблицу в порядке убывания вероятностей; 2) символы разбиваются на две группы так, чтобы суммы вероятностей символов в каждой из них были по возможности одинаковы; 3) всем символам верхней группы присваивается нулевой старший разряд кодового слова, а всем нижним – единичный; На втором этапе кодирования 1) каждая из полученных на первом этапе групп вновь разбивается на две равновероятные подгруппы; 2) следующему разряду кодового слова верхней группы присваивается 0, а нижней группы – 1; Процесс кодирования продолжается до тех пор, пока в каждой подгруппе не останется по одному символу pi 1 этап р сумм 2 этап р сумм 3 этап 4 этап 0,031 0,031   0,031     0,031 0 0,061 0,061   0,061   0,092 0,061 10 0,091 0,091   0,121 0,213 0,121   111 0,121 0,121   0,091     101 0,151 0,151 0,455 0,151 0,242   1010 0,153 0,153   0,153   0,153   1 0,181 0,181   0,181 0,334 0,181   11 0,211 0,211 0,545 0,211 0,211     111 Средняя длина кодового слова при кодировании заданного источника кодом Шеннона-Фано равна: Lср=0,211+0,181*2+0,153*3+0,151*4+0,121*5+0,091*6+0,061*7+0,031*8=3,462 а энтропия источника: Н(А)=(0,031log20,031+0,061log20,061+0,091log20,091+0,121og20,121+0,151log20,151+0,153log20,153+0,181log20,181+0,211log20,211=2,8 Таким образом, код Шеннона-Фано для заданного распределения вероятностей символов не является оптимальным, так как среднее число бит на символ не равно энтропии источника. Ксж=2,8/3=0,93=93% Более эффективным является алгоритм, предложенный Хаффменом в 1952 г., который позволяет построить оптимальный код с наименьшим средним числом бит на символ: Для двоичного кода алгоритм Хаффмена сводится к следующему. 1. Символы сообщения упорядочиваются по убыванию вероятностей таким образом, что p(ai) > p(aj) для всех i<j (табл. ). 2. Два последних символа объединяются в один вспомогательный, вероятность которого равна сумме вероятностей составляющих его символов. 3. Все оставшиеся символы, вместе со вспомогательным снова располагаются по убыванию Процедура продолжается до тех пор, пока не получится единственный вспомогательный символ, имеющий вероятность, равную единице. Код, построенный по рассмотренному алгоритму, получил название кода Хаффмена. символы pi Дополнительные столбцы   1 2 3 4 5 6 7 а1 0,211 0,211 0,211 0,272 0,334 0,394 0,606 1 а2 0,181 0,181 0,183 0,211 0,272 0,334 0,394 а3 0,153 0,153 0,181 0,183 0,211 0,272 а4 0,151 0,151 0,153 0,181 0,183 а5 0,121 0,121 0,151 0,153 а6 0,091 0,092 0,121 а7 0,061 0,091 а8 0,031 а1=10 а2=001 -55880-6064250 1 1,0 0,394 0,606 0,211 0,183 0,092 0,091 0,121 0,151 0,181 0,153 0,334 0,272 0,061 0,031 1 1 1 1 1 0 0 0 0 0 0 1 а1 а7 а8 а6 а5 а4 а2 а3 0 1 1,0 0,394 0,606 0,211 0,183 0,092 0,091 0,121 0,151 0,181 0,153 0,334 0,272 0,061 0,031 1 1 1 1 1 0 0 0 0 0 0 1 а1 а7 а8 а6 а5 а4 а2 а3 а3=000 42705871821180а4=010 а5=011 а6=111 -82931072813а7=1100 а8=1101 Среднее число битов на символ при таком построении кода составляет: Lср=0,211*2+0,181*3+0,153*3+0,151*3+0,121*3+0,0091*3+0,061*4+0,031*4=2,881 Н(А)=(0,031log20,031+0,061log20,061+0,091log20,091+0,121og20,121+0,151log20,151+0,153log20,153+0,181log20,181+0,211log20,211=2,8 средняя длина кодовой комбинации и энтропия источника практически совпадают, т. е. полученный код является источника практически совпадают, т. е. полученный код является оптимальным.

Тип работы:

Контрольная работа

Предмет:

Информационные технологии

Статус:

выполнено

Стоимость. Рублей:

70

Дата выполнения:

2014-08-31

Understand your user experience

I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Read More

remain responsive across devices

I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Read More

fall in love with our features

Real time stats

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec mattis, pulvinar dapibus leo.

Multilingual & translatable

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec mattis, pulvinar.

Less plugins needed

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec mattis, pulvinar dapibus leo.

Amazingly responsive

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec mattis, pulvinar dapibus leo.

Community builder

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec mattis, pulvinar dapibus leo.

Easy to use interface

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec mattis, pulvinar dapibus leo.

Выполним любую работу на заказ

У нас вы можете заказать уникальное решений этой задачи или любой другой

Adblock detector