Математические основы
Теория информации
Современная теория информации впервые была опубликована в 1948 году Клодом Э. Шенноном (Claude Elmwood Shannon) [1431, 1432]. (Его работы были переизданы в IEEE Press [1433].) С математической точки зрения эта тема хорошо рассмотрена в [593]. В этой главе я только схематично излагаю основные идеи.
Энтропия и неопределенность
Теория информации определяет количество информации в сообщении как минимальное количество бит, необходимое для кодирования всех возможных значений сообщения, считая все сообщения равновероятными. Например, для поля дня недели в базе данных достаточно использовать три бита информации, так как вся информация может быть закодирована 3 битами:
000 - Воскресенье
001 - Понедельник
010 - Вторник
011 - Среда
100 - Четверг
101 - Пятница
110 - Суббота
111 - Не используется
Если эта информация была бы представлена соответствующими строками ASCII символов, она заняла бы больше места в памяти, но не содержала бы больше информации. Аналогично, поле базы данных "пол" содержит только один бит информации, хотя эта информация может храниться как одно из двух 7-байтовых ASCII строк: "МУЖЧИНА" или "ЖЕНЩИНА".
Формально, количество информации в сообщении Mизмеряется энтропией сообщения, обозначаемое как H(M). Энтропия сообщения, определяющего пол, составляет1 бит, а энтропия сообщения, определяющего день недели, немного меньше, чем 3 бита. В общем случае энтропия сообщения, измеряемая в битах, равна log2 n, где n - это количество возможных значений. При этом предполагается, что все значения равновероятны.
Энтропия сообщения также является мерой его неопределенности. Это количество битов открытого текста, которое нужно раскрыть в шифротексте сообщения, чтобы узнать весь открытый текст. Например, если блок шифротекста "QHP*5M '' означает либо "МУЖЧИНА", либо "ЖЕНЩИНА", то неопределенность сообщения равна 1. Криптоаналитику нужно узнать только один правильно выбранный бит, чтобы раскрыть сообщение.
Норма языка
Для данного языка норма языка равна
r = H(M)/N
где N- это длина сообщения. При больших N норма обычного английского языка принимает различные значения от 1.0 бит/буква до 1.5 бит/буква. Шеннон в [1434] говорит, что энтропия зависит от длины текста. Конкретно он показал, что норма для 8-буквенных блоков равна 2.3бит/буква, но ее значение падает и находится между 1.3 и 1.5 для 16-буквенных блоков. Томас Кавер (Thomas Cover) использовал игровую методику оценки и обнаружил, что энтропия равна 1.3 бит/символ [386]. (В этой книге я буду использовать значение 1.3.) Абсолютная норма языка равна максимальному количеству битов, которое может быть передано каждым символом при условии, что все последовательности символов равновероятны. Если в языке Lсимволов, то абсолютная норма равна:
R = log2 L
Это максимум энтропии отдельных символов.
Для английского языка с 26 буквами абсолютная норма равна log2 26, или около 4.7 бит/буква. Вас не должно удивлять, что действительная норма английского языка намного меньше, чем абсолютная - естественные языки обладают высокой избыточностью. Избыточностьязыка, обозначаемая D, определяется как:
D=R - r
Считая, что норма английского языка равна 1.3, избыточность составит 3.4 бит/буква. Это означает, что каждая английская буква содержит 3.4 бита избыточной информации.
У сообщения ASCII, состоящего только из английских букв, количество информации на каждый байт составляет 1.3 бита. Значит, в каждом байте содержится 6.7 бита избыточной информации, что дает общую избыточность 0.84 бита информации на бит ASCII-текста и энтропию 0.16 бита информации на бит ASCII-текста. То же сообщение, набранное кодом BAUDOT, с 5 битами на символ, имеет избыточность 0.74 бита на бит и энтропию 0.26 бита на бит. Пробелы, пунктуация, числа и форматирование изменяют эти результаты.
Дата добавления: 2021-01-26; просмотров: 327;