Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Решение. (a) По алгоритму Хаффмана сначала объединяются p3 и p4



(a) По алгоритму Хаффмана сначала объединяются p 3 и p 4. Так как p 1 = p 3+ p 4 ≥ p 2, далее можнообъединить p 1 и p 2, вследствие чего у всех кодовых слов длина 2. Также можно объединить символ, полученный объединением символов 3 и 4, с символом 2, получая при этом кодовые слова длиной 1, 2, 3 и 3.

(b) p 3 ≤ p 2 и p 4 ≤ p 2, следовательно, p 3 + p 4 2 p 2. Таким образом, p 1 = p 3 + p 4 2 p 2, что означает p 1 + p 3 + p 4 4 p 2. Так как p 2 = 1 −p 1 −p 3 −p 4, то 1 −p 2 4 p 2, или p 2 0. 2. Из этого следует, что p 1 2 p 2 0. 4, => p 1 0. 4. p max = 0. 4.

(c) В соответствии с частью (b), p 2 ≤ p 1 и p 2 = 1 − p 1 − p 3 − p 4 = 1 2 p 1. Таким образом, 1 2 p 1 ≤ p 1, => p 1 1 / 3, т.е. p min = 1 / 3.

(d) Параметр из части (b) остаётся прежним, если предположить, что p 1 ≤ p 3+ p 4, а не p 1 = p 3+ p 4 (p 1 ≤ p 3 + p 4 => p 1 ≤ p max). Таким образом, при p 1 > p max p 1 > p 3 + p 4. Поэтому символ, полученный объединением символов 3 и 4, будет объединён с символом 2 (или с символом 1, если p 2 = p 1). Т.о., кодовое слово для символа 1 (или для символа 2) будет иметь длину 1.

(e) Длина любого оптимального префиксного кода должна быть или (1, 2, 3, 3), или (2, 2, 2, 2). Если p 1 > p max, тогда p 1 > p 3 + p 4, => длины (2, 2, 2, 2) не подходят (большая вероятность соответствует меньшей длине).

(f) Параметр из части (c) остаётся тем же, если предположить, что p 1 ≥ p 3 + p 4. В данном случае p 2 = 1 − p 1 − p 3 − p 3 1 2 p 1. Объединяя с выражением p 1 ≥ p 2, получается p 1 ≥ p min. Т.о., если p 1 < p min, то p 3 + p 4 > p 1 ≥ p 2. Затем, после объединения p 1 и p 2 на втором шаге алгоритма Хаффмана каждое кодовое слово будет иметь длину 2.

(g) Если p 1 = 0.4, p 2 = p 3 = 0.2, а у всех остальных символов совокупная вероятность 0.2, то структура кода Хаффмана объединяет символы с наименьшей вероятностью, пока они не будут связаны в один с вероятностью 0.2. Завершение алгоритма приводит или к одному кодовому слову длиной 1, или к трём кодовым словам длиной 2 и остальным большей длины. При p 1 > 0.4 на каждой стадии алгоритма два символа с совокупной вероятностью, меньшей 0.4, объединяются, причём символ 1 не присоединяется, пока в уменьшенном наборе символов их не остаётся 4. Тогда, согласно полученным результатам в (d), код будет иметь кодовое слово длиной 1. Т.о., p max=0.4.

2.14

Рассмотрим источник с М равновероятностными символами.

1) Пусть k=[Log M]. Докажите, что для кода Хаффмана, возможные длины кодового слова равны k и k-1.

2) В функции М, найдите сколько кодовых слов имеют длину k=[log M]. Какая ожидаемая длина кодового слова L в битах на символ источника?

3) Определить y = M/2k. Выразить L – log M как функцию y. Найдите максимальное значение этой функции в диапазоне 1/2 < y ≤1. Показывает ли это, что граница энтропии, L < H[X] +1 независима в этом равновероятностном случае.

Решение:

1) Сначала, докажем что для любого равновероятностного алфавита, длина кодового слова может отличаться не более чем на 1. В дереве равновероятностного алфавита кода Хаффмана, главная ветвь соответствует любому символу j имеющему вероятность хотя бы 2/M, которая больше чем вероятность любого другого символа i. Таким образом, по лемме 2.5.1, lj-1≤li для каждого j,i; таким образом, длины кодовых слов могут отличаться не более чем на 1.

Мы показали, что длинны должны быть k или k-1 для некоторого целого k. Остается показать что k = [log M]. Если M является степенью 2, значит все кодовые слова имеют длину log M. Таким образом, предполагаем, что M не является степенью 2 и пусть nk будет номером кодового слова длиной k, где 1≤ nk ≤ M-1. Оставшееся M – n кодовые слова будут иметь длину k – 1. Так как код является оптимальным, код дерева полный, и

Nk2-k + (M – nk) 2-(k-1)=1

Таким образом

2M – nk = 2k.

Поскольку nk > 0, то следует что 2M > 2k и таким образом M > 2k-1. Так как nk < M, то значит что M < 2k. Таким образом, k = [log M].

2) Из (3), nk = 2M – 2k. Ожидаемая длина кодового слова

L = ((k-1)(2k-M)+k(2m-2k))/M = k+1 = 2k/M

3) Полагая y = M/2k,

L – log M = [k – log M] +1 – 2k/M = -log y +1 - .

Обращаем внимание что 1/2 ≤ y <1. Задав производную по y нулевым значением, мы найдем что L – log M достигает его максимума в y = ln 2 с полученным значением по 1 – log (e Ln2) или приблизительно 0.08607.

Следовательно, для любого М мы имеем

L – log M ≤ 1 – log (e Ln2)

L ≤ H(X) + 0.08607.

Которая является более жесткой границей чем L < H(X) + 1.

2.15

Допустим, у дискретного источника без памяти M символов с алфавитом { 1, 2 ,...,M} и их вероятностями p 1 > p 2 > · · · > pM > 0. Предположим также, что p 1 < pM 1 + pM. l 1, l 2 ,..., lM – длины префиксного кода минимальной длины для данного источника.

(a) Показать, что l 1 ≤ l 2 ≤ ·· · ≤ lM.

(b) Показать, что если для генерации выше указанного кода используется алгоритм Хаффмана, то lM ≤ l 1+1. Подсказка: Смотреть только на первую часть алгоритма.

(c) Показать, что lM ≤ l 1 + 1 вне зависимости, был ли использован алгоритм Хаффмана для генерации префиксного кода наименьшей ожидаемой длины.

(d) Предположим, что M = 2 k для целых k. Определить l 1 ,..., lM.

(e) Предположим, что 2 k <M < 2 k +1 для целых k. Определить l 1 ,..., lM.





Дата публикования: 2015-01-14; Прочитано: 208 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.301 с)...