- •1 Питання .
- •2 Питання.
- •3 Питання.
- •4 Питання.
- •5 Питання.
- •6 Питання.
- •7 Питання
- •8 Питання.
- •9 Питання
- •10 Питання.
- •11 Питання.
- •12 Питання.
- •13 Питання
- •14 Питання.
- •15 Питання.
- •16 Питання.
- •17 Питання.
- •18 Питання.
- •19 Питання.
- •20 Питання.
- •21 Питання
- •22 Питання
- •23 Питання.
- •24 Питання.
- •25 Питання.
- •26 Питання.
- •27 Питання.
- •28 Питання.
- •29 Питання.
- •30 Питання.
- •31 Питання.
- •32 Питання.
- •33 Питання.
- •34 Питання.
- •35 Питання.
- •36 Питання.
- •37 Питання.
- •38 Питання.
- •39 Питання.
- •40 Питання.
- •41 Питання.
- •42 Питання.
- •43 Питання.
- •44 Питання.
- •45 Питання.
- •46 Питання.
- •47 Питання.
- •48 Питання.
- •49 Питання.
- •50 Питання.
- •51 Питання.
- •52 Питання.
- •53 Питання
- •54 Питання.
- •55 Питання.
- •56 Питання.
- •57 Питання.
- •58 Питання
52 Питання.
Базові складові кодування (алфавіт, слова, конкатенація слів). Повідомлення та коди. Схеми алфавітного та рівномірного кодування. Роздільні схеми кодування. Префіксні схеми. Нерівність Мак-Міллана.
Нехай задано алфавіт А = {a 1 , …, a n } зі скінченної кількості символів, які називають буквами. Скінченну послідовність букв алфавіту A називають словом у цьому алфавіті.
Конкатенація слів α та β є слово αβ, отримане виписуванням підряд спочатку всіх букв слова α, а потім всіх букв слова β.
Алфавітне кодування задають схемою (або таблицею кодів) σ:
a 1 → β1 ,
a 2 → β2 ,
…
a n → βn ,
де a i ∈ A, βI ∈ B*, i = 1,…,n.
Схема рівномірного кодування :
Схему σ називають роздільною, якщо з рівності
випливає,
що k = l та i t = j t для кожного t = 1,…,
k, тобто будь-яке слово,
складене з елементарних кодів, можна єдиним способом розкласти на елементарні коди.
Схему σ називають префіксною, якщо для будь-яких i та j (i, j = 1,…,n, i ≠ j) елементарний код βi не є префіксом елементарного коду βj .
Якщо
схема алфавітного кодування
роздільна,
то
53 Питання
Оптимальне кодування. Властивості оптимальних кодів (з доведенням). Алгоритм Шенона-Фано. Алгоритм Хаффмана.
Оптимальне кодування – кодування, за якого коди повідомлень мають по можливості найменшу довжину.
Теорема 21.4. В оптимальному коді букву з меншою ймовірністю її появи не можна закодувати коротшим словом. Інакше кажучи, для оптимального коду з того, що p i < p j випливає, що l i ≥ l j .
Доведення. Припустимо протилежне: нехай є дві букви a i та a j такі, що p i < p j і l i < l j . Поміняємо місцями βi та βj у схемі кодування. Тоді середня довжина елементарних кодів зміниться на
тобто
зменшиться, що суперечить оптимальності
коду.
Теорема 21.5. В оптимальному коді є два елементарні коди з найбільшою довжиною l n , які відрізняються лише останніми символами.
Доведення. Припустимо, що це не так. Тоді можна відкинути останній символ елементарного коду βn , не порушуючи властивості префіксності. При цьому, очевидно, зменшиться середня довжина елементарного коду. Це суперечить твердженню, що код оптимальний.
Існує такий оптимальний код, у якому елементарні коди двох найменш імовірних букв a n та a n-1 відрізняються лише останніми символами.
Якщо схема σ1 оптимальна для алфавіту A 1 , то схема σ оптимальна для алфавіту A.
З цієї теореми випливає такий метод побудови оптимальної схеми алфавітного кодування. Спочатку послідовно стискають алфавіт A до отримання алфавіту з двох букв, оптимальна схема кодування для якого очевидна: першу букву кодують символом 0, другу – символом 1. Потім послідовно розщеплюють одержану схему. Очевидно, що отримана в результаті схема префіксна. Цей метод кодування запропоновано 1952 р. американським математиком Д. Хаффманом.
-Хаффман
- Шенон-Фано
