Оптимальный код. Код Хаффмена. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оптимальный код. Код Хаффмена.



Пусть сообщения A 1, A 2,..., AN имеют вероятности р 1, p 2, …, pN (p 1 ³ p 2³ … pN) и кодируются двоичными словами a l, a 2, …, aN, имеющими длины l 1, l 2,..., lN. Какими свойствами должен обладать двоичный код, если он оптимален.

1. В оптимальном коде менее вероятное сообщение не может кодироваться более коротким словом, т. е. если pi < pj, то li ³ lj.

2. Если код оптимален, то всегда можно так перенумеровать сообщения и соответствующие им кодовые слова, что p 1 ³ p 2³ … pN и при этом l 1£ l 2£... £ lN (1)

Из неравенств (1) следует, что сообщение AN кодируется словом aN наибольшей длины lN.

3. В оптимальном двоичном коде всегда найдется, по крайней мере, два слова наибольшей длины, равной lN, и таких, что они отличаются друг от друга лишь в последнем символе.

Рассмотрим новое множество сообщений A(1) = {A1, А2, …, AN-2, А} с вероятностями р 1, p 2, …, pN-2, p = pN- 1 + pN. Оно получается из множества {A1, А2, …, AN-2, АN-1, AN } объединением двух наименее вероятных сообщений AN-1, AN в одно сообщение А. Будем говорить, что A(1) получается сжатием из {A1, А2, …, AN-2, АN-1, AN }

Пусть для A(1) построена некоторая система кодовых обозначений K(1) ={a1, а2,..., aN-2, а}, иными словами, указано некоторое кодовое дерево с концевыми вершинами a1, а2,..., aN-2, а. Этой системе можно сопоставить код K ={a1, а2,..., aN-2, aN-1, аN} для исходного множества сообщений, в котором слова aN-1 и аN получаются из слова а добавлением соответственно 0 и 1. Процедуру перехода от K(1) к K назовем расщеплением.

Справедливо следующее утверждение, открывающее путь для построения оптимального кода:

Если код K(1) для множества сообщений A(1) является оптимальным, то оптимален также и код K для исходного множества сообщений.

Код Хаффмена:

Для построения оптимального кода можно использовать последовательные сжатия исходного множества сообщений.

 

Кодирование и декодирование при передаче информации по каналам связи с «шумом». Математическая модель системы связи. Вектор ошибок.

Коды с обнаружением ошибок и коды с исправлением ошибок.

Блочный двоичный (m, n)-код определяется двумя функциями: E: {0, 1} m ® {0, 1} n и D: {0, 1} n ® {0, 1} m, где m £ n и {0, 1} n множество всех двоичных последовательностей длины n. Функция E определяет схему кодирования, а функция D — схему декодирования.

Здесь T —функция ошибок;

E и D выбираются таким образом, чтобы композиция D ° T ° E была функцией, с большой вероятностью близкой к тождественной.

Двоичный (m, n)-код содержит 2 m кодовых слов.

Коды делятся на два больших класса: коды с обнаружением ошибок, которые с большой вероятностью определяют наличие ошибки в принятом сообщении, и коды с исправлением ошибок, которые с большой вероятностью могут восстановить посланное сообщение.

Расстояние Хемминга. Вес слова, вес поразрядной суммы.

На множестве двоичных слов длины m расстоянием d (a, b) между словами a и b называют число несовпадающих позиций этих слов.

Определенное таким образом понятие называется расстоянием Хемминга. Оно удовлетворяет следующим аксиомам расстояний:

1) d (a, b) ³ 0 и d (a, b) = 0 тогда и только тогда, когда a = b;

2) d (a, b) = d (b, a);

3) d (a, b) + d (b, c) ³ d (a, c) (неравенство треугольника).

Весом w (a) слова a называют число единиц среди его координат. Тогда расстояние между словами a и b есть вес их суммы a Å b: d (a, b) = w (a Å b), где Å — операция покоординатного сложения по модулю 2.

 

Теорема о наименьшем расстоянии между кодовыми словами, необходимом для обнаружения ошибок.

Для того, чтобы код позволял обнаруживать ошибки в k (или менее) позициях, необходимо и достаточно, чтобы наименьшее расстояние между кодовыми словами было ³ k + 1.

 

Теорема о наименьшем расстоянии между кодовыми словами, необходимом для исправления ошибок.

Для того, чтобы код позволял исправлять все ошибки в k (или менее) позициях, необходимо и достаточно, чтобы наименьшее расстояние между кодовыми словами было ³ 2k + 1.



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 411; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.219.217 (0.005 с.)