Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTI Lections2011.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.74 Mб
Скачать

4.2.6Кодирование натурального ряда.

Здесь А =(0,1,…,9) и B= (0,1).

Задача кодирования натуральных чисел битовыми последовательностями актуальна, так как часто необходимо хранить и передавать информацию в бинарном виде. Особенно остро она встала в 50-е годы прошлого века в связи с распространением компьютеров.

В данной модели предполагается, что нужно работать (хранить, передавать) с битовой информацией, изначально представимой, например, в десятичных числах. При этом набор чисел представляется битовой последовательностью без разделителей.

Простой переход к двоичной записи не обеспечивает префиксности, а, следовательно, и декодируемости этой битовой последовательности.

Приведем примеры кодов, которые это обеспечивают.

Пусть n > 1, двоичную запись числа n обозначим BIN(n) = α1αn, αi {0, 1}. (Например, BIN(30) = 11110, BIN(75) = 1001011). Заметим, что k = |BIN(n)| = [log n] + 1. Пусть B(n) – двоичная запись n без первого символа. (Например, B(30) = 1110, B(75) = 001011). Тогда |B(n)| = [log n].

4.2.6.1Код Элайеса.

Код Элайеса неотрицательного целого числа n обозначим через El (n). Положим El (0) = 10, El (1) = 11.

Пусть n > 1. Тогда El (n)= 00…0 BIN([log n]+1) B(n), где 00…0 – маркер, необходимый для того, чтобы знать, сколько последующих за 0 символов может задавать длину записи числа. Поэтому в данном коде количество нулей перед BIN([log n]+1) равно [log (BIN([log n]+1)].

Примеры:

El(5) = 0 10101

E l(75) = 00 110001011

log n

log (log n)+1

log (log n)

Утверждение. Длина |El(n)| не превосходит log n + 2 log (log n) + 3.

Утверждение. Код Элайеса – префиксный.

Доказательство: Рассмотрим El (n) и El (m). Если хотя бы одно из этих слов начинается с 1, то это либо 0, либо 1. Утверждение доказано. Пусть n, m больше 1, вспомним теорему о дешифруемости кода: El(n) = α1αk, El(m) = β1βS (для определенности ks). Пусть количество 0, с которых начинается α, совпадает с количеством 0, с которых начинается β. (В противном случае сразу следует свойство префиксности кода.) Далее рассмотрим вторые подслова слов El (n) и El (m). Если они не совпадают, то префиксность кода доказана. Если совпадают, то переходим к окончаниям слов. Если они совпадают, то m=n. В противном случае n не равно m. Таким образом, при m≠n выполняется соотношение B(n) ≠B(m).

Утверждение доказано.

4.2.6.2Код Левенштейна

Пусть λ0(n) = [log n]. λk0(n) = λ0 (λk-10(n)) = [log…[log n]].

Для любого n существует S такое, что: λS0(n) = 0, λS-10(n) = 1.

Положим Lev(0)=0, Lev(1) =10. Пусть n > 1. Тогда

Lev(n) = 11…10 B(λS-20(n))…B(λ0(n))B(n), где 11…10 – слово из S единиц и одного нуля.

Утверждение: Длина кода Левенштейна задается соотношением

|Lev(n)| = log n + log log n + o(log log n).

Утверждение: Код Левенштейна префиксный

Пример:

Lev(75) = 11110 0 10 001011

маркер B( λ0 (λ0(n)) B(λ0(n)) B(n)

S = 4

5Количество информации. Энтропия.

Известно несколько подходов к определению количества информации.

5.1.1Энтропия по Хартли.

Определение. Энтропия по Хартли множества , есть число .

Если мы хотим закодировать элементы множества битовыми последовательностями, то энтропия по Хартли определяет максимальную длину последовательности, необходимой для такого кодирования.

Понятие «информационного бита» связано с энтропией по Хартли. «Информационный бит» - это количество информации, необходимое для различения двух элементов. И энтропия по Хартли M(2)=1.

Энтропия по Хартли применяется тогда, когда все элементы множества одинаково часто используются, имеют одинаковую «информативность» для пользователя. В более сложном случае используется следующий подход.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]