![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
(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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!