Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
(a) Аналогично доказательству леммы 2.5.1
Предположим, что p 1 > p 2 > · · · > pM и l 1 > l 2 > ·· · > lM (pi > pj и li ≤ lj). Учитывая L (переменная, обозначающая длину кодового слова для случайно выбранного символа) для i и j, используем выражения типа pili + pj lj . Если два кодовых слова поменять местами (меняя li и lj), то эта сумма уменьшится: (pili + pj lj) − (pilj + pj li) = (pi − pj)(li − lj) > 0. Т.о., L уменьшается, а любой код с таким условием не оптимален.
(b) Так как p 1 < pM− 1 + pM, видно, что p 1 < p’M− 1, где p’M− 1 – вероятность узла в сокращённом дереве кодов, соответствующая буквам M – 1 и M в изначальном алфавите. Т.о., аналогично части (а), l 1 ≥ l’M− 1 = lM − 1.
(c) Рассмотрим произвольное кодовое дерево с наименьшей ожидаемой длиной. Предположим, что символы k и M являются соседними в этом дереве. Тогда, при k = 1 l 1 = lM, и наоборот, p 1 < pM + pk, и l 1 должна быть как минимум такой же длины, как непосредственный «родитель» (узел верхнего уровня) M, => l 1 ≥ lM − 1.
(d) и (e) Наибольшая и наименьшая длины различаются максимум на 1, причём длина некоторых чисел m ≥ 1 равна l 1, а длины оставшихся M−m равны l 1+1. Следовательно, 2 l 1+1 = 2 m +(M −m) = M + m. => l 1 = log2(M)and m = 2 l 1+1 −M.
2.16
(a) Рассмотреть возможность продления процедуры кодирования Хаффмана для троичных цифр. Используйте термины кодовых комбинаций, как например, листья троичных деревьев. Пусть алфавит M = 4 символа. Помните, что вы не можете нарисовать полное троичное дерево с четырьмя листьями. Начиная с дерева с тремя листьями и расширяя дерево путем преобразования листьев в промежуточные узлы, покажите, при каких значениях M возможно полное троичное дерево.
(b) Объясните, как обобщить процедуру кодирования Хаффмана для троичных цифр, имея в виду ваш результат в части (a).
(c) Используйте ваш алгоритм для множества вероятностей {0.3, 0.2, 0.2, 0.1, 0.1, 0.1}.
Решение
(a) Вырастите полное троичное дерево к полному троичному дереву на каждом шаге. У самого маленького дерева 3 листа. Для следующего, самого большого полного дерева, преобразуйте один из листьев в промежуточный узел и вырастите 3 листа от того узла. Мы теряем 1 лист, но получаем еще 2 при каждом расширении роста. Таким образом, M = 3 + 2n (для n целое число).
(b) Очевидно, что оптимально будет, если все неиспользованные листья дерева будут иметь ту же длину самого длинного кодового слова. Для М даже объединить 2 самые низкие вероятности в узел на первом шаге, а затем объединить 3 узла с самой низкой вероятностью для всех оставшихся шагов, вплоть до корневого узла. Если M нечетно, полное троичное дерево возможно, поэтому объединяем 3 узла с самой низкой вероятностью на каждом шагу.
(c) Если {a, b, c, d, e, f} имеют вероятности символа {0.3 0.2 0.2 0.1 0.1 0.1} соответственно, то троичный Код Хаффмана будет {→ 0, b → 1, c → 20, d → 21, e → 220, f → 221}.
2.17
Пусть X есть M символов, {1, 2,..., M} с упорядоченными вероятностями
p1 ≥ p2 ≥ · · · ≥ PM> 0.
Пусть X’ приведенная источником после первого шага алгоритма Хаффмана.
(а) выразить энтропию H [X] для оригинального источника в терминах энтропии H [X’] Приведенных источников, как
где H (γ) является двоичной функции энтропии, H (γ) =-γ log γ - (1-γ), log (1-γ). Найти
требуемое значение γ, чтобы удовлетворить (2,43).
(б) в дереве кода генерирующемуся по алгоритму Хаффмана, пусть v1 обозначить промежуточный узел, который является родителем конечных узлов для символов М и М-1. Пусть q1 = pm + pm-1 будет вероятность достижения v1 в коде дерева. Аналогично, пусть v2, v3,... Обозначим последующих промежуточных узлов генерируются по алгоритму Хаффмана. Сколько промежуточных узлов есть, в том числе корневого узла всего дерева?
(в) Пусть q1, q2,..., Будь вероятности достижения промежуточных узлов v1, v2,... (Заметим, что вероятность достижения корневого узла - 1).
Показать, что
Подсказка: Обратите внимание, что
(г) Выразить H [X] в виде суммы по промежуточным узлам. i тый член в сумме должен привлечь qi и двоичные энтропии H (γi) для некоторого γi предстоит определить. Вы можете найти его полезным для определения αi как вероятность движения вверх от промежуточного узла vi, при условии достижения vi. (Подсказка: посмотрите на часть а).
(е) Найти условия (в терминах вероятности и выше двоичной энтропии) под
которые L = H [X].
(ф) приведены формулы для L и H [X] выше характерных для кодов Хаффмана в одиночку, или в них не применяются (с модифицированным промежуточных узлов вероятности и энтропии) для произвольных полных свободных от префикса кодов?
Решение:
(а)Заметим что
Таким образом
(б) Каждый шаг алгоритма Хаффмана уменьшает число символов на 1 пока только 1 узел (корень) не останется. Таким образом, есть M - 1 промежуточных узлов, считающих корень.
(с) приведенный код и исходный код одни и те же, за исключением блока увеличивающего длину всякий раз, когда буквы M-1 или M встречаются.
(д) Таким образом как указано. Таким же образом, позволяя быть ожидаемой длины кода после второго шага Хаффмана,
итерации, и пользуясь тем, что длина корневого узла равна 0 мы имеем
(г) Часть (а) показывает, что H (X) = H (X’) + q1H (α1). Позволяя X(2) дальше сокращать группу после второго шага Хаффмана, и использовать часть (а) на X’, мы видим что
Таким образом
Итерация вниз до корня и отметим что
(е) Объединение частей (в) и (г),
H (ai) ≤ 1 с равенством тогда и только тогда, когда ai = 1/2. Кроме того, поскольку каждый рj> 0, следует, что каждая qi> 0. Таким образом, L - H (X) = 0, если и только если каждая ai = 1/2.
(ф) Приведенные выше рассуждения применимы к любому полному древу кода с помощью упорядочения промежуточных узлов, что идет от листьев к корню, т. е. упорядоченность, где vi является префиксом vj только тогда, когда i ≥ j.
2.18
Рассмотрим дискретный случайный символ X с символами M+1, для которых p1≥p2≥…≥pM>0 и pM+1=0. Предположим, что безпрефиксный код сгенерирован для X и что по некоторым причинам, этот код содержит кодовую комбинацию для M+1 (предположим, например, что pM+1 фактически положительный, но столь маленький, что приближен как 0).
(а) Найдите L для Кода Хаффмана, включая символ M+1 с точки зрения L для Кода Хаффмана, опуская кодовую комбинацию для символа M+1.
(б) Предположим теперь, что вместо одного символа нулевой вероятности, есть такие n символы. Повторите часть (a) для этого случая.
Решение:
(a) Применяя алгоритм кодирования методом Хаффмана к коду с символом M + 1 где pM+1=0, мы комбинируем символ M + 1 с символом M, и у уменьшенного кода есть символы M с вероятностями p1,...,pM. Код Хаффмана для этого уменьшенного набора символов - просто код для исходного набора символов с устраненным символом M + 1.
Таким образом, код включающий символ M + 1, является уменьшенным кодом, модифицированным увеличением единичной длины кодовой комбинации для символа M. Таким образом, L=L`+pM, где L` - ожидаемая длина для кода с символами M.
(б) Все n нулевых вероятностных символов объединены вместе в алгоритме Хафмана, и уменьшенный код от этой комбинации - тогда такой же как код с символами M + 1, в частности (a). Таким образом, снова L=L`+pM.
2.19
В (2.12) показано, что X и Y независимые дискретные случайные числа и энтропия случайного XY числа выглядит как H[ XY ] = H[ X ]+H[ Y ]. Здесь мы хотим показать, что даже без предположения независимости у нас будет H(XY) ≤ H(X) + H(Y).
(а) Докажите, что
(b) Докажите, что , т.е. H[ XY ] ≤ H[ X ] + H[ Y ].
(c) Пусть X 1 ,X 2 ,...,Xn дискретные случайные числа, не обязательно независимые. Используйте (b) чтобы доказать, что
Решение.
(а) Энтропии Н(Х), Н(Y) и H(XY) могут быть представлены как:
Предполагается, что все пары символов х, у с нулевой вероятностью, были удалены из этой суммы, и таким образом удалены все х(у), для которых р х (х) = 0 (р у (у) = 0). Складывая эти уравнения получаем:
(b) Используя стандартное неравенство
Таким образом, H(X,Y) ≤ H(X) + H(Y). Заметим, что это неравенство превращается в равенство тогда и только тогда, когда X и Y являются независимыми.
(c) Для n символов X1,…Xn. пусть Y будет «супер-символом» X2…Xn. Затем используем (b)
H(X1…Xn) = Н(Х1,Y) ≤ Н(Х1)+Н(Y) = H(X1)+H(X2…Xn).
Итерируя (повторяя) это, получаем желаемый результат.
Альтернативный подход обобщает часть (b) следующим образом:
где мы снова использовали log x ≤ (x-1) log e.
2.20
Рассмотрим случайный символ X из алфавита {1, 2, …, M} и функцией вероятности {p1, p2, …, pM}. Данное упражнение выводит отношение, называемое неравенством Фано, между энтропией H[X] и вероятностью p1 первого символа. Это отношение используется для доказательства обратной теоремы Шеннона для канала с шумами. Пусть случайный символ Y становится 1 при X = 1 и 0 во всех остальных случаях. В пунктах от (a) до (d) считайте, что значения M и p1 однозначно определены.
(a) Выразите H[Y] в виде двоичной функции энтропии Hb(α) = −α log(α)−(1−α)log(1−α).
(b) Какова условная энтропия H[X | Y =1]?
(c) Докажите, что H[X | Y =0] ≤ log(M−1), и покажите, при каких p2, …, pM достигается эта граница. Затем с помощью результата пункта (b) найдите верхнюю границу H[X|Y]
(d) Найдите отношение между H[X] и H[XY].
(e) С использованием H[Y] и H[X|Y] найдите верхнюю границу H[X] и покажите, при каких p2, …, pM она достигается.
(f) Для такого же, как в предыдущих пунктах, M, примем, что p1, …, pM произвольны, а max{p1, …, pM} обозначим как pmax. Останется ли в силе прежняя верхняя граница, если p1 заменить на pmax? Обоснуйте ответ.
Дата публикования: 2015-01-14; Прочитано: 569 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!