Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Властивості роздільних кодів
Розглянемо схему алфавітного кодування σ і різні слова, складені з елементарних кодів. Схему σ називають роздільною, якщо з рівності
випливає, що k=l та it=jt для кожного t =1, …, k, тобто будь-яке слово, складене з елементарних кодів, єдиним способом розкладається на елементарні коди. Очевидно, що алфавітне кодування з роздільною схемою допускає однозначне декодування. Схему σ називають пефіксною, якщо для будь яких i та j (I, j= 1, …, r, i≠ j) елементарний код Теорема 7.1. Префіксна схема є роздільною. Доведення. Від протилежного. Оскільки схема σ є префіксною, то всі елементарні коди в σ попарно різні, тобто
Нехай Властивість префікеності є достатньою, але не є необхідною умовою роздільності схеми. Приклад 7.1. Нехай А={а, b}, B = {0, 1}, схема σ: а→ 0, b → 01. Ця схема не префіксна, але роздільна. Справді, перед кожним входженням 1 у слові Нехай α 1→ ͠ β 1 α 2→ … α r → ͠ β r. Приклад 7.2. Візьмемо схему σ із прикладу 7.1. Тоді ͠ σ виглядатиме так: а→ 0, b→ 10. Тут схема ͠ σ є префіксною і за теоремою 7.1 - роздільною. ▲ Зауваження. Схеми σ та ͠ σ обидві або є роздільними, або ні. ▲ Це зауваження дає змогу посилити теорему 7.1. Теорема 7.2. Якщо або схема σ, або схема ͠ σ є префіксною, то обидві схеми σ та ͠ σ є роздільними. ▲ Можна навести приклад роздільної схеми σ такої, що ні σ, ні ͠ σ не є префіксними. Отже, теорема 7.2 також дає достатню, але не необхідну умову роздільності схеми. Для того, щоб схема алфавітного кодування була роздільною, необхідно, щоб довжини елементарних кодів задовольняли нерівність Макміллана (В. McMillan). Теорема 7.3 (нерівність Макміллана). Якщо схема алфавітного кодування σ роздільна, то
Доведення. Позначимо L=mах{ l 1, l 2,..., lr }. Запишемо n -й степінь лівої частини нерівності
Розкривши дужки, отримаємо суму
де (i1, ..., іn)- різні набори номерів елементарних кодів. Позначимо як v (n, m) кількість доданків вигляду 1/2m, які входять у цю суму; тут
Кожному доданку вигляду
Отже, для кожного n виконується нерівність
▲ Зауваження. У теоремі 7.3 розглянуто нерівність Макміллана для двійкового кодування. Для загального випадку q -кового кодування вона виглядає так:
▲ Розглянемо ще один важливий факт. Теорема 7.4. Якщо числа l1, …, ln задовольняють нерівність
то існує префіксна схема алфавітного кодування σ: α 1→ β 1 … α r→ β r де l1=l(β 1), …, lr=l(β r) Доведення. Без зменшення загальності можна вважати, що l 1≤ l 2≤ …≤ lr. Розіб'ємо множину чисел { l 1,..., lr } на класи еквівалентності так: li та lj належать одному класу тоді й лише тоді, коли li = lj. Нехай μ (1≤ μ ≤ r) - кількість класів, а λ 1, …, λ μ та v 1,..., v μ позначають, відповідно, представників та потужності класів. Можна також уважати, що λ 1< λ 2< …< λ μ . Тоді нерівність Макміллана можна переписати у вигляді
Ця нерівність породжує серію допоміжних нерівностей:
……………………………………………………………
Розглянемо слова довжини λ 1, у двійковому алфавіті В. Оскільки
Якщо взяти ці слова як елементарні коди, то отримаємо деяку схему алфавітного кодування σ. Ця схема, очевидно, є префіксною. Крім того, l (β 1)= l 1, …, l (β r)= lr. ▲ Наслідок 1. Нерівність Макміллана є необхідною й достатньою умовою існування алфавітного кодування із префіксною схемою й довжинами елементарних кодів, що дорівнюють l 1,..., lr. ▲ Наслідок 2. Якщо існує роздільна схема алфавітного кодування із заданими довжинами елементарних кодів, то існує також і префікс на схема з тими самими довжинами елементарних кодів. Для доведення потрібно спочатку застосувати теорему 7.3, а потім - теорему 7.4. ▲
|