[Список тем] [Вступление к этой теме] Страницы темы: [1] [2] [3]


Задача кодирования


Вопросы кодирования издавна играли заметную роль в математике.
Определение
Кодирование - это представление одних объектов при помощи других.
Пример

  1. Десятичная позиционная система счисления — это способ кодирования натуральных чисел. Римские цифры — другой способ кодирования натуральных чисел, причем гораздо более наглядный и естественный: палец — I, пятерня — V, две пятерни — X. Однако при этом способе кодирования труднее выполнять арифметические операции над большими числами, поэтому он был вытеснен позиционной десятичной системой.
  2. Декартовы координаты — способ кодирования геометрических объектов числами.

Ранее средства кодирования играли вспомогательную роль и не рассматривались как отдельный предмет математического изучения, но с появлением компьютеров ситуация радикально изменилась. Кодирование буквально пронизывает информационные технологии и является центральным вопросом при решении самых разных (практически всех) задач программирования:

Само составление текста программы часто и совершенно справедливо называют кодированием.

Не ограничивая общности, задачу кодирования можно сформулировать следующим образом.
Пусть заданы алфавиты А = {a1, ..., an}, В = {b1, ..., bm} и функция F: S В*, где S — некоторое множество слов в алфавите А, S А*. Тогда
Определение
функция F называется кодированием,
A - первичным алфавитом, B - вторичным,
элементы множества S — сообщениями, а элементы = F( α ), α S, B* — кодами (соответствующих сообщений).
Обратная функция F-1 (если она существует!) называется декодированием.

Если |В| = m, то F называется m-ичным кодированием. Наиболее распространенный случай В = {0, 1} — двоичное кодирование. Именно этот случай рассматривается в последующих разделах; слово “двоичное” опускается.
Типичная задача теории кодирования формулируется следующим образом: при заданных алфавитах А, В и множестве сообщений S найти такое кодирование F, которое обладает определенными свойствами (то есть удовлетворяет заданным ограничениям) и оптимально в некотором смысле. Критерий оптимальности, как правило, связан с минимизацией длин кодов. Свойства, которые требуются от кодирования, бывают самой разнообразной природы:

Большое значение для задач кодирования имеет природа множества сообщений S. При одних и тех же алфавитах А, В и требуемых свойствах кодирования F оптимальные решения могут кардинально отличаться для разных S. Для описания множества S (как правило, очень большого или бесконечного) применяются различные методы:


[Список тем] [Вступление к этой теме] Страницы темы: [1] [2] [3]