- •Оглавление
- •Об информационно-библиотечной культуре
- •Информация, сведения, данные, знания
- •Появление и развитие информатики
- •Информатика и библиотековедение
- •Измерение и меры информации. Энтропия
- •Лекция 2: Документальные потоки и коммуникация Неформальные и формальные каналы коммуникации
- •Библиотеки, библиография и библиографическое описание
- •Библиотечная и информационная деятельность
- •Тенденции развития основных видов документов
- •Закономерности роста и старения
- •Оценка значимости (влиятельности) ученых и журналов
- •Закон рассеяния статей конкретной тематики по журналам
- •Лекция 3: Инструменты традиционного и сетевого информационного поиска Предыстория и сущность
- •Процедуры и понятия
- •Координатное индексирование
- •Цитирование, библиографическое сочетание, социтирование
- •Рубрикаторы информационных изданий
- •Лекция 4: Электронные ресурсы информации Электронные издания
- •Информационные ресурсы, структуры и инфраструктура
- •Информационные продукты и услуги
- •Лекция 5: Информатизация и информационное общество Основные понятия и проблемы становления информационного общества. Информатизация как процесс перехода к информационному обществу
- •Возникновение, этапы развития и технологические аспекты информатизации
- •Положительные и отрицательные последствия информатизации
- •Программы информатизации
- •Программы информатизации России
- •Электронное правительство
- •Контрольные вопросы
- •Лекция 6: Информационные технологии Представления информации Сообщение как материальная форма представления информации
- •Формы сообщений (сигналы, изображения, знаки, языковые сообщения)
- •Основные понятия теории формальных языков
- •Модели источников сообщений. Конечный вероятностный источник сообщений
- •Кодирование сообщений источника и текстов. Равномерное кодирование. Дерево кода
- •Префиксные коды
- •Необходимые и достаточные условия существования префиксного кода с заданными длинами кодовых слов. Неравенство Крафта
- •Методы построения кодов. Код Фано
- •Избыточность кодирования. Нижняя граница средней длины кодирования
- •Оптимальное кодирование, свойства оптимальных кодов, построение оптимальных кодов методом Хафмена
- •Лекция 7: Передача информации Модель процесса передачи. Двоичный симметричный канал
- •Способы повышения надежности передачи сообщений
- •Принципы обнаружения и исправления ошибок с использованием кодов
- •Расстояние Хеминга и корректирующие возможности кодов
- •Оценки верхних границ корректирующих способностей кодов
- •Особенности векторных пространств над конечным полем gf(2). Линейный групповой код
- •Построение линейного кода по заданной порождающей матрице
- •Декодирование линейного кода по синдрому
Необходимые и достаточные условия существования префиксного кода с заданными длинами кодовых слов. Неравенство Крафта
Для применения кода на практике желательно, чтобы кодовые слова были как можно короче. Однако чем слова короче, тем их запас меньше. В этом легко убедиться, посмотрев на изображение словарного универсума на рис.6.3. Если попытаться построитьпрефиксный код с очень короткими длинами кодовых слов, то можно потерпеть неудачу - кода с такими длинами слов может не быть. Например, нетрудно убедиться, что не существует префиксного кода с длинами слов 1, 1, 2. При необходимости построитьпрефиксный код с большим числом кодовых слов заданной длины проверка существования такого кода может быть достаточно сложной. К счастью, найдены необходимые и достаточные условия на длины кодовых слов для существования префиксного и любого однозначно декодируемого кода. Эти условия известны как теорема Крафта - Макмиллана. Необходимые и достаточные условия сформулируем в виде двух теорем.
Теорема
(необходимые условия). Пусть
-
префиксный двоичный код с длинами
кодовых слов
.
Тогда выполняетсянеравенство
Крафта
|
|
( 6.3) |
Доказательство.
Рассмотрим, сколько слов длины
может
быть в префиксном коде. Максимальное
число таких слов равно
.
В этом случае все
кодовых
слова имеют длину
.
Для
каждого кодового слова длины
имеется
слов
длины
,
для которых данное слово является
префиксом и по этой причине не является
кодовым. Это следует из структуры
словарного дерева (см. рис. 6.3).
Множества
и
слов
длины
,
для которых кодовые слова
и
являются
префиксами, не пересекаются, так как в
противном случае более короткое из этих
слов было бы префиксом более длинного.
Значит, если в префиксном коде
имеется
слов
длины
слов
длины
слов
длины 1, то число
слов
длины
удовлетворяет
неравенству
|
|
( 6.4) |
Это
неравенство верно для любого
,
в том числе и для
,
равного максимальной длине кодовых
слов. После деления на
обеих
частей неравенства (6.4) его можно
преобразовать к виду
|
|
( 6.5) |
Слагаемое
вида
,
представляющее в неравенстве
(6.5)
кодовых
слов длины
,
можно записать в виде суммы

С учетом такого представления неравенство (6.5) можно переписать следующим образом:
![]()
где
-
общее число словпрефиксного
кода.
Теорема доказана.
Выполнение неравенства Крафта доказано для префиксного кода. Однако в 1956 году Макмиллан доказал более общую теорему, согласно которой неравенство Крафта выполняется и для любого однозначно декодируемого кода. Доказательство теоремы изложено в [29], [31].
Можно также доказать, что если префиксный код полный, то в нестрогом неравенстве (6.3) будет выполняться равенство.
Теорема
(достаточные условия). Если положительные
целые числа
удовлетворяютнеравенству
Крафта
![]()
то
существует префиксный
код
с
длинами кодовых слов![]()
Доказательство.
Если среди чисел
имеется
ровно
чисел,
равных
,
тонеравенство
Крафта можно
записать в виде
![]()
где
-
максимальное из данных чисел. Из
справедливости этого неравенства
следует, что верны неравенства (6.5) для
всех
,
а следовательно, и неравенство (6.4).
Для
построения нужного префиксного
кода должна
быть возможность подходящим образом
выбрать
слов
длины 1,
слов
длины 2, вообще
слов
длины
или,
иными словами,
вершин
кодового дерева на первом,
-
на втором,
-
на
-м
ярусе.
Из
неравенства (6.4) при
получаем
,
т. е. требуемое число не превосходит
общего числа вершин первого яруса.
Значит, на этом ярусе можно выбрать
какие-то
вершин
в качестве концевых (
равно
0, 1 или 2). Если это сделано, то из общего
числа вершин второго яруса (их
)
для построения кода можно использовать
лишь
.
Однако и этого числа вершин хватит, так
как из неравенства (6.4) при
вытекает
![]()
Аналогично,
при
имеем
неравенство:
![]()
Правая
часть его вновь совпадает с допустимым
для построения префиксного
кода числом
вершин третьего яруса, если на первых
двух ярусах уже выбраны
и
кодовых
вершин. Значит, снова можно выбрать
кодовых
вершин на третьем ярусе. Продолжая этот
процесс вплоть до
,
мы и получим требуемый код. Теорема
доказана.
Докажем,
что если для длин
кодовых
слов выполняется равен - равенство
,то
код является полным. Предположим
противное, то есть, что код не полный.
Тогда к нему можно добавить, по крайней
мере, одно кодовое слово (длины
)
и получить новыйпрефиксный
код,
для которого, с одной стороны,
,
а с другой стороны, в силу теоремы
Крафта,
Полученное
противоречие доказывает утверждение.
Теоремы
Крафта доказаны для случая, когда
рассматриваются коды в алфавите
.
Если кодовый алфавит содержит
символов,
то аналогичным образом можно доказать,
что необходимым и достаточным условием
для существованияпрефиксного
кода с
длинами слов
является
выполнение неравенства
![]()
Оказывается,
этому неравенству обязаны удовлетворять
и длины кодовых слов произвольного
однозначно декодируемого кода. Поэтому,
если существует однозначно декодируемый
код с длинами слов
,
то существует ипрефиксный
код с
теми же длинами слов.
