Информативность языка и математическая статистика

важны оптимальные коды и их свойства

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

Так, азбука Морзе содержит четыре элементарных символа. Еще более простым является двоичный код, т. е. код с двумя элементарными символами, например, 0 и 1. Однако выбор того или иного кода не определяет способ кодирования, т. е. способ шифрования. Даже в рамках одного и того же кода, например двоичного, возможны различные оптимальные коды и их свойства при различных способах шифровки. Существует огромное количество способов для установления взаимно-однозначного соответствия между кодируемой системой и системой, в которой производится кодирование. Различные способы кодирования отличаются друг от друга по эффективности, т. е. одни из них могут занимать меньше времени, чем другие, для передачи одного и того же сообщения. Естественно, что в связи с этим возникает задача отыскания наивыгоднейших способов кодирования, которые называются Оптимальными кодами.

Поставим перед собой задачу закодировать в двоичном коде 32 буквы русского алфавита. Можно поступить следующим образом: пронумеровать все буквы числами от 0 до 31, а затем эти числа представить в двоичной системе счисления. Тогда на каждую букву будет затрачено пять двоичных знаков. Самое большое число 31 записывается в двоичной системе счисления как пять единиц — 11111.

Указанный способ кодирования имеет один весьма существенный недостаток — в этом коде на изображение всех букв тратится одинаковое число двоичных знаков. В то же время частота букв в русском алфавите далеко не одинакова — некоторые буквы встречаются очень часто, а другие весьма редко. Например, в тексте, содержащем 1000 букв, буква «о» встречается 90 раз, буква «е» 72 раза, буква «а» 62 раза, а буква «ф» всего 2 раза.

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

Букве в коде Шеннона — Фэно требуется 4,45 двоичного знака. Зная вероятность каждой буквы в тексте, можно, пользуясь представлениями статистической теории информации, вычислить количество информации, содержащейся в одной букве. Оно равно 4,42 бита.

Теперь легко вычислить количество информации, содержащейся в одном знаке при двух рассмотренных способах кодирования. В первом случае оно составляет 4,42 бита: 5 = 0,884 бита; в коде Шеннона — Фэно — 4,42 бита : 4,45 = 0,994 бита. Так как при самом лучшем способе кодирования информация одного двоичного знака не может превзойти 1 бит, то ясно, что код Шеннона — Фэно можно считать близким к оптимальному. Таким образом, зная частоту появления букв, можно улучшить телеграфную азбуку Морзе примерно на 10 — 12%.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

X