- •Кафедра: “Комп’ютерні науки”
- •Теоретичні відомості
- •Теорія інформації та передача сигналів
- •Кількість інформації, ентропія
- •Властивості ентропії
- •Завдання
- •Зміст звіту по лабораторній роботі
- •Теоретичні відомості
- •Ентропія складних повідомлень
- •Властивості ентропії складних повідомлень
- •Надмірність джерела повідомлень
- •Завдання
- •Приклад виконання завдання
- •Теоретичні відомості
- •Кодування інформації
- •Способи представлення кодів
- •Нерівномірні коди
- •Статистичне кодування
- •Код Шеннона-Фано
- •Завдання
- •Приклад виконання завдання
- •Теоретичні відомості
- •Оптимальний код - Хаффмана
- •Завдання
- •Приклад виконання завдання
- •Перелік рекомендованої літератури
Приклад виконання завдання
Два статистично незалежних джерела А та В визначаються матрицею ймовірностей p(ai,bj)
Визначити часткову та загальну умовну ентропію, ентропію об'єднання, безумовну ентропію цих джерел, а також кількість інформації, що припадає на пару повідомлень ai,bj.
Розв’язання:
Оскілки – безумовні ймовірності ймовірності, для них виконується закон
Окрема розгортка по рядках (по i) без зміни j "поглинає" алфавіт aj і дає безумовну ймовірність p(bj), тобто ймовірні стну міру джерела B:
0,2+0+0,1=0,3= p(b1) при j =1;
0+0,2+0,1=0,3= p(b2) при j =2;
0,1+0,1+0,2=0,4= p(b3) при j=3.
Перевіримо нормування:
p(b1)+p(b2)+p(b3)=0,3+0,3+0,4=1.
Окрема розгортка по рядках (по j) без зміни i "поглинає" алфавіт bj і дає безумовну ймовірність p(ai), тобто ймовірні стну міру джерела A:
0,2+0+0,1=0,3= p(a1) при j =1;
0+0,2+0,1=0,3= p(a2) при j =2;
0,1+0,1+0,2=0,4= p(a3) при j=3.
Перевіримо нормування:
p(a1)+p(a2)+p(a3)=0,3+0,3+0,4=1.
З урахуванням p(b|a)=p(ab)/p(a); p(a/b)=p(ab)/p(b) дістаємо матрицю умовних ймовірностей:
Перевірка закону нормування дає позитивну відповідь, тобто
при j=1;
при j=2;
при j=3.
Отже, кожний рядок є розподілом повідомлень ai, спотворений через статистичний вплив повідомлень:
.
Перевірка закону нормування дає позитивну відповідь, тобто
при i=1;
при i =2;
при i=3.
Таким чином, кожний рядок є розподілом повідомлень bi, спотворений через статистичний вплив повідомлень.
Тепер маючи відповідні данні розраховуємо безумовну ентропію джерела A:
Аналогічно обчислимо безумовну ентропію джерела B:
Часткова ентропія джерела А за
з урахуваннямстановитиме
Загальна умовна ентропія джерела А відносно джерела В згідно
Часткова ентропія джерела А за з урахуванням
становитиме
Загальна умовна ентропія джерела B відносно джерела A згідно
Ентропія об'єднання цих джерел, враховуючи становить
Кількість інформації, що припадає на одне повідомлення
Тема: Кодування інформації. Побудова оптимального коду алфавіту методом Шеннона-Фано
Мета роботи: Вивчення поняття кодування. Опрацювання процедури кодування по методу Шеннона-Фано.
Теоретичні відомості
Кодування інформації
Під кодуванням у загальному випадку розуміють перетворення алфавіту повідомлення A{хі}, ( i = 1,2…K) в алфавіт деяким чином обраних кодових символів { aj }, ( j = 1,2…N)... Звичайно (але не обов'язково) розмір алфавіту кодових символів { аj } менше або набагато менше розміру алфавіту джерела A{ хi }.
Кодування повідомлень може переслідувати різні цілі. Наприклад, це кодування з метою засекречування переданої інформації. При цьому елементарним повідомленням хi з алфавіту A{ хi } ставляться у відповідність послідовності, наприклад, цифр або букв зі спеціальних кодових таблиць, відомих лише відправникові й одержувачеві інформації.
Іншим прикладом кодування може служити перетворення дискретних повідомлень хi з одних систем числення в інші (з десяткової в двійкову, і т.д., з непозиційної в позиційну, перетворення буквеного алфавіту в цифровий і т.д.).
Кодування в каналі, або завадостійке кодування інформації, може бути використане для зменшення кількості помилок, що виникають при передачі по каналі з перешкодами.
Нарешті, кодування повідомлень може вироблятися з метою скорочення обсягу інформації і підвищення швидкості її передачі або скорочення смуги частот, необхідних для передачі. Таке кодування називають ощадливим, безнадлишковим, або ефективним кодуванням, а також стисненням даних. У даному розділі буде йти мова саме про такий рід кодуванні.
Перш ніж перейти до питання ефективного кодування, коротко пояснимо суть самої процедури кодування.
Будь-яке дискретне повідомлення хi з алфавіту джерела A{ xi } обсягом у K символів можна закодувати послідовністю відповідним чином обраних кодових символів аj з алфавіту { аj }.
Наприклад, будь-яке число (а xi можна вважати числом) можна записати в заданій позиційній системі числення в такий спосіб:
xi = M = an1m n-1 + an-2m n-2 +…+a0m0, (2.1)
де m - основа системи числення; a0 … an-1 - коефіцієнти при степенях m; а 0, m - 1.
Нехай, наприклад, значення хi = M = 59 , тоді його код по основі m = 8, буде мати вигляд
M = 59 = 7·81 + 3·80 =738.
Код того ж числа, але по основі m = 4 буде виглядати в такий спосіб:
M = 59 = 342 + 241+ 340 = 3234
Нарешті, якщо основа коду m = 2, то
M = 59 = 125 + 124 + 123 + 022 + 121 + 120 = 1110112.
Таким чином, числа 73, 323 і 111011 можна вважати, відповідно, вісімковим, четвірковим і двійковим кодами числа M = 59.
В принципі основа коду може бути будь-якою, однак найбільше поширення одержали дввійкові коди, або коди з основою 2, для яких розмір алфавіту кодових символів { аj } дорівнює двом, аj 0,1. Двійкові, тобто коди, що містять тільки нулі й одиниці, дуже просто формуються і передаються по каналах зв'язку і, головне, є внутрішньою мовою цифрових ЕОМ, тобто без усяких перетворень можуть оброблятися цифровими засобами. Тому, коли мова йде про кодування і коди, найчастіше мають на увазі саме двійкові коди. Надалі будемо розглядати в основному двійкові кодування.