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

3. Условие существования префиксного кода, неравенство и теорема Крафта.

В теории кодирования, неравенство Крафта — Макмиллана даёт необходимое и достаточное условие существования разделимых и префиксных кодов, обладающих заданным набором длин кодовых слов.

Пусть заданы кодируемый и кодирующий алфавиты, состоящие из n и d символов, соответственно, и заданы желаемые длины кодовых слов: l1, l2, l3…. Тогда необходимым и достаточным условием существования разделимого и префиксного кодов, обладающих заданным набором длин кодовых слов является выполнение неравенства:

Т. Крафта

Если код префиксный, n1 (слов длины 1), n2, .. nL (слов длины L) то выполняется неравенство (крафта)

N*1/2 +N2/2^2 + … Nl/2 ^l <= 1

В общем виде Nk/2^k+Nk-1/2^(k-1)+…+N1/2^1<=1

Доказательство:

Рассмотрим каждое слагаемое:

Очевидно, что

Nk<= 2^k (если код из 0 и 1) (это максимум комбинаций на последнем уровне дерева)

Если код префиксный, то можно отсюда вычесть те слова, которые мы зарезервировали на предыдущем * 2, так как из них нет веток (иначе теряется префикность), уровнем ниже мы теряем еще и потомком уровня к-1, и их потомков на уровне К, т.е. 2^2 * Nk-2 Т.е.

Nk<=2^k – 2*Nk-1 -2^2* Nk-2 … 2^(k-1) *N1

Перенесем все члены со знаком «-» влево и поделив на 2^k получим исходный вид неравенство крафта, чтд

Если код префиксный, то выполняется неравенство ∑(k=1;L) Nk/(2^k)

Обратная теорема: Если взять код, число слов длин 1.. n удовлетворяет неравенству Крафта, то можно нарисовать префиксный граф, с таким число слов длин 1..n

Теорема Макмиллана:

Если код не префиксный, но однозначно декодируемый, то все равно выполняется неравенство крафта.

Заметим, что если код полный и префиксный, то неравенство крафта обращается в равенство

4. Средняя длина кода, избыточность кодирования, свойства избыточности префиксного кода.

Средняя длина кода (L) зависит от источника и кода

L (S,C)= SPi |C(Si)| -сумма произведений длин кодов сообщений на вероятность сообщений

Избыточность: R(c) = L(c) – H(c) - средняя длина минус энтропия

Теорема 1: r(c) >=0 всегда

Док-во

-R(s,c) = H(s) – L(s,c) =сумма (Pi * Log2/pi) – сумма (PiLi) = Сумма(Pi(log 2/pi – Li) =

Сумма (Pi ( Log 2/pi + log 2/ (2^li) ) = Сумма (Pi Log 2/ (pi * 2^li) =Сумма (1/ 2^ li) – Сумма(pi) = Сумма (1/2^li) – 1

Сумма (1/2^li) <=1, так как Li – целое и больше-равно 1

Сумма ряда ½+1/4 +.. = 1, а у нас 1/2 ^li – только n членов такого ряда -> -R(s,c) <=0 Чтд

((Обоснование перехода от «Сумма (Pi Log2 1/ (pi * 2^li)» к «Сумма (1/ 2^ li) – Сумма(pi)»:

Вспомним, что доказать нам в конечном итоге надо неравенство, заключающееся в том, что изначальное выражение неположительное. Отойдём чуть в сторону от наших выражений и сравним 2 функции: y=(x-1)/(ln2) и y=log2x. Рассмотрим уравнение (x-1)/(ln2)= log2x. Методом подбора находим очевидный корень х=1. Рассмотрим производные этих функций, они соответственно равны 1/ln2 и 1/(x*ln2). Т.е., при x>1 первая функция всегда растёт быстрее 2й, а при 0<x<1, вторая убывает быстрее в значении. Т.е. пересечений у них, кроме 1 и мы можем утверждать, что (x-1)/(ln2) >= log2x.

Вернёмся к нашему выражению «Сумма (Pi Log2 1/ (pi * 2^li)». Пусть 1/ (pi * 2^li) = х (оно удовлетворяет условию x>0). (x-1)/(ln2) в этом случае = (1- pi * 2^li)/( ln2* pi * 2^li). Тогда, на основании вышедоказанного, можем сделать вывод, что Сумма (Pi Log2 1/ (pi * 2^li) <= Сумма(Рi * (1- pi * 2^li)/( ln2* pi * 2^li)) = (1/ln2)* Сумма((Рi/ Рi*2^li)-Pi)= (1/ln2)* Сумма((1/ 2^li)-Pi) =(1/ln2)* (Сумма(1/ 2^li) - Сумма Pi) Вспомним, что изначально нам надо доказать, что определённое выражение <=0. Т.к. в процессе доказательства мы перешли к более большему выражению, доказав что Сумма (Pi Log2 1/ (pi * 2^li) <= (1/ln2)* (Сумма(1/ 2^li) - Сумма Pi), то нам достаточно доказать, что (1/ln2)* (Сумма(1/ 2^li) - Сумма Pi) <=0, т.е. Сумма(1/ 2^li) - Сумма Pi <=0, что и происходит в дальнейшем в доказательстве.))

Оптимальный префиксный код – такой ПК, что его избыточность не превосходит избыточность остальных префиксных кодов для данного источника

Свойство оптимального префиксного кода1: Если Pi> pJ, то Li<=Lj

Доказательство св-ва 1:

Рассмотрим такой код L’ в котором, по сравнению с оптимальным кодом L, Li>Lj при Pi> Pj. Рассмотрим разность избыточностей этих кодов. Т.к. энтропия зависит от вероятностей и в данном случае одинакова, то разность избыточностей равна разности средних длин, а т.к. в данном случае различны только 2 элемента, то эта разность равна L-L’=(Pi- Pj)*( Li-Lj). По предположению, тогда L-L’>0, т.е. и разность избыточностей положительна, т.е. L’, что противоречит условию. Значит, Li<=Lj при Pi> Pj

Свойство оптимального префиксного кода2; Существует ОПК C0 такой что

L1 <=L2<=….Ln-1 = Ln (знак = только в последнем)

Доказательство св-ва 2:

Сначала докажем, что если в оптимальном префиксном коде есть слово максимальной длины, имеющее вид Х0, то обязательно есть слово, имеющее вид Х1. Пусть такого слова нет, тогда заменим в коде L слово Х0 на X и получим префиксный код L’. Но, тогда, т.к. энтропия одинакова, то избыточность L’ будет меньше избыточности L, т.к. средняя длина сократится, что противоречит начальному условию о том, что L – оптимальный. Т.е. если в оптимальном префиксном коде есть слово макс. длины Х0, то есть и Х1.

Докажем св-во 2. Пусть у нас есть некий оптимальный префиксный код из k слов. Пусть, изначально, упорядочив, мы имеем p1=>….pi=>….=>pk. Поменяем местами присутствующие в нём Х0 и Х1 со словами Bk-1 и Bk. От этого ср. длина кода не увеличится, т.е. код останется оптимальным.