Указания по выполнению контрольной работы по дисциплине «Теория информации». Учебно-методическое пособие
.pdf
при этом символы исходного алфавита ванию их вероятностей p1 p2 ... pn .
A ={a |
, a |
2 |
,...,a |
n |
} |
1 |
|
|
|
упорядочены по убы-
Код Шеннона строится следующим образом:
1.Вычислим кумулятивные вероятности
щей схеме
Q |
= 0 |
0 |
|
Q = p |
|
1 |
1 |
Q2 = p1 + p2
Qi
,
i = 0,...,n −1
по следую-
2.
…
Q = p |
+ p |
2 |
+ ... + p |
|
i |
1 |
|
i |
|
…
Q |
|
= p + p |
2 |
+ ... + p + ... + p |
n−1 |
|
||
n−1 |
1 |
|
i |
|
|
|||
Представим Qi −1 |
в двоичной системе счисления и возьмем в качестве |
|||||||
кодового слова для символа ai |
первые |
Li = − log pi |
двоичных зна- |
|||||
ков после запятой, i =1,..., n . |
|
|
|
|
|
|||
Таблица 11 – Код Шеннона
a |
i |
p |
i |
|
|
А213 0,21 212
П |
1 |
0,18 |
|
1 |
|||||
2 |
3 |
2 |
|
2 |
|||||
|
|
|
|||||||
|
|
|
|
||||||
|
|
|
|
|
|
||||
К |
1 |
0,13 |
|
1 |
|||||
2 |
3 |
2 |
2 |
||||||
|
|
||||||||
|
|
|
|||||||
|
|
|
|
|
|
|
|||
Н |
1 |
0,10 |
|
1 |
|||||
2 |
4 |
2 |
3 |
||||||
|
|
||||||||
|
|
|
|||||||
|
|
|
|
|
|
||||
Р |
1 |
0,09 |
|
1 |
|||||
2 |
4 |
2 |
3 |
||||||
|
|
||||||||
|
|
|
|||||||
|
|
|
|
|
|||||
О214 0,08 213
Е |
1 |
0,07 |
|
1 |
|||
2 |
4 |
2 |
3 |
||||
|
|
||||||
|
|
|
|||||
|
|
|
|
|
|||
В |
1 |
0,07 |
|
1 |
|||
24 |
23 |
||||||
|
|
|
|||||
Qi |
Li |
кодовое слово |
0 |
3 |
000 |
0,21 |
3 |
001 |
0,39 |
3 |
011 |
0,52 |
4 |
1000 |
0,62 |
4 |
1001 |
0,71 |
4 |
1011 |
0,79 |
4 |
1100 |
0,86 |
4 |
1101 |
|
|
|
41
Л
Д
1 |
|
2 |
5 |
|
|
1 |
|
2 |
6 |
|
|
0,04
0,03
1 |
|
2 |
4 |
|
|
1 |
|
2 |
5 |
|
|
0,93 |
5 |
11101 |
0,97 |
6 |
111110 |
|
|
|
Пример построения кода Фано
Метод Фано построения префиксного почти оптимального кода заключается в следующем. Упорядоченный по убыванию вероятностей список букв алфавита источника делится на две части так, чтобы суммы вероятностей букв, входящих в эти части, как можно меньше отличались друг от друга. Буквам первой части приписывается 0, а буквам из второй части – 1. Далее так же поступают с каждой из полученных частей. Процесс продолжается до тех пор, пока весь список не разобьется на части, содержащие по одной букве.
Пусть источник имеет алфавит |
A |
и вероятностное распределение на символах |
|||||||||||
алфавита |
A |
. Символы алфавита источника и их вероятности приведены в таб- |
|||||||||||
лице 10. Построенный код приведен в таблице и на рисунке. |
|
|
|||||||||||
Таблица 12 – Код Фано |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
i |
|
p |
i |
кодовые слова |
|
|
Li |
|
|||
|
|
|
|
|
|
|
|||||||
|
А |
|
0,21 |
0 |
0 |
|
|
|
|
2 |
|
||
|
П |
|
0,18 |
0 |
1 |
|
0 |
|
|
3 |
|
||
|
К |
|
0,13 |
0 |
1 |
|
1 |
|
|
3 |
|
||
|
Н |
|
0,10 |
1 |
0 |
|
0 |
|
|
3 |
|
||
|
Р |
|
|
0,09 |
1 |
0 |
|
1 |
|
|
3 |
|
|
|
О |
|
0,08 |
1 |
1 |
|
0 |
0 |
|
4 |
|
||
|
Е |
|
|
0,07 |
1 |
1 |
|
0 |
1 |
|
4 |
|
|
|
В |
|
0,07 |
1 |
1 |
|
1 |
0 |
|
4 |
|
||
|
Л |
|
0,04 |
1 |
1 |
|
1 |
1 |
0 |
5 |
|
||
|
Д |
|
0,03 |
1 |
1 |
|
1 |
1 |
1 |
5 |
|
||
Необходимо разбить набор символов на две части так, чтобы суммарные вероятности каждой части были примерно одинаковы. Наиболее подходящим оказывается вариант, когда в первой части символы АПК, а во второй – НРОУВЛД. В кодовые слова символов из первой части приписаны 0, а второй части – 1. Далее подобную процедуру необходимо применить к каждой части разбиения. Набор символов АПК разбивается на А и ПК, в код А дописывается 0, а в коды символов ПК – 1. Кодирование заканчивается, если в разбиении остается один символ. Дальнейший процесс построения кода Фано приведен в таблице 12.
42
Практическое задание 3
Блочное кодирование
Цель работы: экспериментальное изучение свойств блочного кодирования.
Среда программирования: любая.
Результат: программа, тестовые примеры, отчет.
1.Реализовать блочное кодирование текстового файла методом побуквенного кодирования (на выбор – метод Хаффмана, метод Шеннона, метод Фано, метод Гилберта-Мура). Длина блока n = 1, 2, 3. Файлы для кодирования из практических работ 1-3.
2.Рассчитать оценки избыточности блочного кодирования для длины блока n = 1, 2, 3. При блочном кодировании входная последовательность разбивается на блоки равной длины, которые кодируются целиком. Поскольку вероятностное распределение символов в файле известно (или могут быть заменены частотами), то и вероятности (частоты) блоков могут быть вычислены и использованы для построения кода. За счет увеличения длины блока снижается избыточность кодирования на символ входной последовательности.
3.После тестирования программы необходимо заполнить таблицу и проанализировать полученные результаты, сравнить с теоретическими оценками.
|
Избыточность |
Избыточность |
Избыточность |
Теоретическая |
|
кодирования |
кодирования |
кодирования |
оценка избы- |
|
Длина блока |
Длина блока |
Длина блока |
точности по- |
|
n=1 |
n=2 |
n=3 |
буквенного |
|
|
|
|
кодирования |
Название файла |
|
|
|
|
|
|
|
|
|
4. Оформить отчет, загрузить отчет в электронную среду. Отчет обязательно должен содержать заполненную таблицу и анализ полученных результатов. По желанию в отчет можно включить описание программной реализации. Анализ полученных результатов можно оформить в виде ответов на вопросы
1.Происходит ли уменьшение избыточности кодирования при переходе к блочной схеме кодирования?
2.Можно ли судить о скорости убывания избыточности с ростом длины блока? Возможно ли получение произвольно низкой избыточности кодирования увеличением длины блока?
3.Какие возможны проблемы при практической реализации блочного кодирования? Опишите свой опыт реализации блочного кодирования.
43
Необходимый теоретический материал к практическому заданию 3
Можно получить более сильные результаты, если кодовые слова приписывать не отдельным буквам, а сообщениям (блокам из L букв) источника. Так, для неравномерных блоковых кодов справедлива следующая теорема.
Теорема. Пусть H L − энтропия на букву в блоке длины L дискретного источ-
ника информации. Тогда существует префиксный код для кодирования блоков длины L , такой, что средняя длина кодового слова Lcp будет удовлетворять
неравенствам:
H L Lcp H L + |
1 |
. |
|
L |
|||
|
|
Кроме того, в случае стационарного источника для любого 0 можно выбрать достаточно большое L , чтобы величина Lcp удовлетворяла неравен-
ствам:
H ( p1,..., pn ) Lcp H ( p1,..., pn ) + ,
и левое неравенство для
Lcp
никогда не нарушается для разделимого кода.
Пример. Пусть источник информации с вероятностным распределением p1 = 0.25 ,
алфавитом порождает A ={a1, a2} и p2 = 0.75 . Энтропия такого источни-
ка
H ( p |
, p |
2 |
) = −0.25 log0.25 − 0.75 log0.75 0.815 |
1 |
|
|
бит.
Для источника, |
который порождает два символа, |
кодового слова |
дает такой побуквенный код 1 |
наименьшую среднюю длину =
a1 →1,a2 → 0
, причем для
любого вероятностного распределения источника. Средняя длина кодового
слова |
для |
двухсимвольной |
схемы |
кодирования |
Lcp ( 1) =1 p1 |
+1 p2 |
= 0.25 + 0.75 =1. |
|
|
Для данного двухсимвольного источника избыточность кодирования для каждого символа сообщения r( 1) = Lcp ( 1) − H ( p1, p2 ) = 0.185 .
Рассмотрим теперь другую схему кодирования, при которой кодируются не отдельные символы сообщения, а набор или блок символов, порождаемых источником. В этом случае код для каждого блока строится с использованием методов побуквенного кодирования для алфавита блоков и вероятностного распределения блоков, а избыточность кодовых символов распределяется между
всеми буквами блока. |
|
|
Пусть размер блока L = 2 |
. Тогда существует всего 4 различных пары |
|
символов и вероятности появления каждой из пар будут такие: |
||
P(a a ) = 0.25 0.25 |
|
|
1 |
1 |
|
P(a1a2 ) = 0.25 0.75 P(a2a1) = 0.75 0.25 P(a2a2 ) = 0.75 0.75
44
Рассматривая теперь пары символы как символы нового четырехбуквенного алфавита с вероятностным распределением, используем следующую схему ко-
дирования 2 =
a1a1 →110,a1a2 →10,a2a1 →111,a2a2 → 0
Для нее
L |
( |
2 |
) = 3 P(a a ) + |
cp |
|
1 1 |
средняя длина
2 P(a a |
2 |
) + 3 P(a a ) +1 P(a |
a |
2 |
) |
||
1 |
2 |
1 |
2 |
|
|
||
кодового слова
=1.6875 |
, |
а избыточность кодирования на символ сообщения
|
|
|
|
L |
( |
2 |
) − H (P(a a ), P(a a |
2 |
), P(a |
2 |
a ), P(a |
2 |
a |
2 |
)) |
|
|||
r( |
|
) = |
cp |
|
|
1 |
1 |
1 |
|
1 |
|
|
= |
||||||
2 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
1.6875 − 2 0.815 |
= 0.02875 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таким образом, при кодировании пар символов, а не одиночных символов, избыточность кодирования существенно снизилась.
45
Список литературы
1. Панин В.В. Основы теории информации [Электронный ресурс]: учебное пособие для вузов / Панин В.В. – Электрон. текстовые данные. – М.: БИНОМ. Лаборатория знаний, 2012. – 438 c. – Режим доступа: http://www.iprbookshop.ru/6521. – ЭБС «IPRbooks», по паролю.
3.Курапова Е. В., Мачикина Е. П. Структуры и алгоритмы обработки данных : учебное пособие для студентов высших учебных заведений, обучающихся по направлению подготовки дипломированных специалистов 210400 - "Телекоммуникации". – Новосибирск : Сибирский государственный университет телекоммуникаций и информатики, 2006. – 104 с. – EDN QMQMRL.
4.Курапова Е. В., Мачикина Е. П. Основные методы кодирования данных : практикум. – Новосибирск : Сибирский государственный университет телекоммуникаций и информатики, 2010. – 62 с. – EDN XQBKTZ.
5.Орлов В.А., Филиппов Л.И. Теория информации в упражнениях и задачах. –
М., «Высшая школа», 1976 г. – 136 с.
46
Приложение А
Таблица значений
( p) = − p log |
2 |
p |
|
|
|
p |
|
( p) |
|
|
|
|
||
|
|
|
|
|
|
0,01 |
|
0,0664 |
|
|
0,02 |
|
0,1129 |
|
|
0,03 |
|
0,1518 |
|
|
0,04 |
|
0,1858 |
|
|
0,05 |
|
0,2161 |
|
|
0,06 |
|
0,2435 |
|
|
0,07 |
|
0,2686 |
|
|
0,08 |
|
0,2915 |
|
|
0,09 |
|
0,3127 |
|
|
0,1 |
|
0,3322 |
|
|
0,11 |
|
0,3503 |
|
|
0,12 |
|
0,3671 |
|
|
0,13 |
|
0,3826 |
|
|
0,14 |
|
0,3971 |
|
|
0,15 |
|
0,4105 |
|
|
0,16 |
|
0,4230 |
|
|
0,17 |
|
0,4346 |
|
|
0,18 |
|
0,4453 |
|
|
0,19 |
|
0,4552 |
|
|
0,2 |
|
0,4644 |
|
|
0,21 |
|
0,4728 |
|
|
0,22 |
|
0,4806 |
|
|
0,23 |
|
0,4877 |
|
|
0,24 |
|
0,4941 |
|
|
0,25 |
|
0,5000 |
|
|
p |
|
( p) |
|
|
|
|
||
|
|
|
|
|
|
0,26 |
|
0,5053 |
|
|
0,27 |
|
0,5100 |
|
|
0,28 |
|
0,5142 |
|
|
0,29 |
|
0,5179 |
|
|
0,3 |
|
0,5211 |
|
|
0,31 |
|
0,5238 |
|
|
0,32 |
|
0,5260 |
|
|
0,33 |
|
0,5278 |
|
|
0,34 |
|
0,5292 |
|
|
0,35 |
|
0,5301 |
|
|
0,36 |
|
0,5306 |
|
|
0,37 |
|
0,5307 |
|
|
0,38 |
|
0,5305 |
|
|
0,39 |
|
0,5298 |
|
|
0,4 |
|
0,5288 |
|
|
0,41 |
|
0,5274 |
|
|
0,42 |
|
0,5256 |
|
|
0,43 |
|
0,5236 |
|
|
0,44 |
|
0,5211 |
|
|
0,45 |
|
0,5184 |
|
|
0,46 |
|
0,5153 |
|
|
0,47 |
|
0,5120 |
|
|
0,48 |
|
0,5083 |
|
|
0,49 |
|
0,5043 |
|
|
0,5 |
|
0,5000 |
|
|
p |
|
( p) |
|
|
|
|
||
|
|
|
|
|
|
0,51 |
|
0,4954 |
|
|
0,52 |
|
0,4906 |
|
|
0,53 |
|
0,4854 |
|
|
0,54 |
|
0,4800 |
|
|
0,55 |
|
0,4744 |
|
|
0,56 |
|
0,4684 |
|
|
0,57 |
|
0,4623 |
|
|
0,58 |
|
0,4558 |
|
|
0,59 |
|
0,4491 |
|
|
0,6 |
|
0,4422 |
|
|
0,61 |
|
0,4350 |
|
|
0,62 |
|
0,4276 |
|
|
0,63 |
|
0,4199 |
|
|
0,64 |
|
0,4121 |
|
|
0,65 |
|
0,4040 |
|
|
0,66 |
|
0,3956 |
|
|
0,67 |
|
0,3871 |
|
|
0,68 |
|
0,3783 |
|
|
0,69 |
|
0,3694 |
|
|
0,7 |
|
0,3602 |
|
|
0,71 |
|
0,3508 |
|
|
0,72 |
|
0,3412 |
|
|
0,73 |
|
0,3314 |
|
|
0,74 |
|
0,3215 |
|
|
0,75 |
|
0,3113 |
|
|
p |
|
( p) |
|
|
|
|
||
|
|
|
|
|
|
0,76 |
|
0,3009 |
|
|
0,77 |
|
0,2903 |
|
|
0,78 |
|
0,2796 |
|
|
0,79 |
|
0,2687 |
|
|
0,8 |
|
0,2575 |
|
|
0,81 |
|
0,2462 |
|
|
0,82 |
|
0,2348 |
|
|
0,83 |
|
0,2231 |
|
|
0,84 |
|
0,2113 |
|
|
0,85 |
|
0,1993 |
|
|
0,86 |
|
0,1871 |
|
|
0,87 |
|
0,1748 |
|
|
0,88 |
|
0,1623 |
|
|
0,89 |
|
0,1496 |
|
|
0,9 |
|
0,1368 |
|
|
0,91 |
|
0,1238 |
|
|
0,92 |
|
0,1107 |
|
|
0,93 |
|
0,0974 |
|
|
0,94 |
|
0,0839 |
|
|
0,95 |
|
0,0703 |
|
|
0,96 |
|
0,0565 |
|
|
0,97 |
|
0,0426 |
|
|
0,98 |
|
0,0286 |
|
|
0,99 |
|
0,0144 |
|
|
1 |
|
0,0000 |
|
47
Учебное издание
Мачикина Елена Павловна
УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ «ТЕОРИЯ ИНФОРМАЦИИ»
Корректор А.Р. Шерстнёва
Электронное издание. Рекомендовано к публикации Редакционно-издательским советом СибГУТИ, протокол № 3 от 1 октября 2024 г.
48
