Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diskretna_matematika.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.92 Mб
Скачать

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 р. американським математиком Д. Хаффманом.

-Хаффман

- Шенон-Фано

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]