Кодирование
Коди́рование, операция отождествления символов или групп символов одного кода с символами или группами символов другого кода. Необходимость кодирования возникает прежде всего из потребности приспособить форму сообщения к данному каналу связи или какому-либо другому устройству, предназначенному для преобразования или хранения информации. Так, с помощью телеграфных кодов сообщения, представленные в виде последовательности букв и цифр, преобразуются в определённые комбинации точек и тире. Другой целью кодирования является защита сообщений от несанкционированного доступа.
Цель кодирования в теории информации состоит в уменьшении т. н. избыточности сообщений и влияния помех, искажающих сообщения при передаче по каналам связи. Поэтому выбор нового кода стремятся согласовать со статистическими свойствами источника сообщений. В какой-то степени это согласование имеется уже в коде Морзе, в котором чаще встречающиеся буквы обозначаются более короткими комбинациями точек и тире.
Приёмы, применяемые в теории информации для достижения указанного согласования, можно пояснить на примере построения экономных двоичных кодов. Пусть канал связи может передавать только символы и затрачивая на каждый одно и то же время Для уменьшения времени передачи (или для увеличения её скорости) целесообразно до передачи кодировать сообщения таким образом, чтобы средняя длина кодового обозначения была наименьшей. Пусть обозначают возможные сообщения некоторого источника, а – соответствующие им вероятности. Тогда, как устанавливается в теории информации, при любом способе кодирования где – энтропия источника. Равенство в формуле может не достигаться. Однако при любых существует метод кодирования (метод Шеннона – Фано), для которого Метод состоит в том, что сообщения располагаются в порядке убывания вероятностей и полученный ряд делится на две части с суммарными вероятностями, по возможности близкими друг к другу. В качестве первого двоичного знака принимают в 1-й части и – во 2-й. Таким же образом делят пополам каждую из частей и выбирают второй двоичный знак и т. д., пока не придут к частям, содержащим только по одному сообщению.
Пример 1. Пусть и Применение метода иллюстрируется таблицей:
Кодовое | ||
В данном случае причём никакой другой код не даёт для меньшего значения. В то же время Всё сказанное применимо и к случаю, когда алфавит нового кода содержит не две, как предполагалось выше, а букв. При этом величина в формулах и должна быть заменена величиной
Задача о сжатии записи сообщений в данном алфавите (т. е. задача об уменьшении избыточности) может быть решена на основе метода Шеннона – Фано. Если сообщения представлены последовательностями длины букв из -буквенного алфавита, то их средняя длина после кодирования всегда удовлетворяет неравенству
где – энтропия источника на букву. Кроме того, при сколь угодно малом можно добиться выполнения при всех достаточно больших неравенстваС этой целью используют кодирование блоками: по данному выбирают достаточно большое натуральное число и делят каждое сообщение на равные части – блоки, содержащие по букв. Затем эти блоки кодируют методом Шеннона – Фано в тот же алфавит. Тогда при достаточно больших будет выполнено неравенство Справедливость этого утверждения легче всего понять, рассматривая случай, когда источником является последовательность независимых символов и появляющихся соответственно с вероятностями и Энтропия на блок равна -кратной энтропии на одну букву, т. е. равна Кодовое обозначение блока требует в среднем не более двоичных знаков. Поэтому для сообщения, состоящего из букв, что при достаточно больших и приводит к неравенству При таком кодировании энтропия на букву приближается к своему максимальному значению – единице, а избыточность – к нулю.
Пример 2. Пусть источником сообщений является последовательность независимых знаков и в которой вероятность появления нуля равна а единицы – Здесь энтропия на букву равна а избыточность – Наименьшие блоки (), т. е. имеют соответственно вероятности Применение метода Шеннона – Фано приводит к следующему правилу кодирования: При этом, например, сообщение примет вид На каждую букву сообщения в прежней форме приходится в среднем буквы в новой форме (при нижней границе коэффициента сжатия, равной Энтропия на букву в новой последовательности равна а избыточность равна
См. также Криптография, теорема Шеннона.