Но предположим, что монета, которую мы используем, фальшивая, и на вероятность выпадения орла приходится 70 %. В этом случае каждый бит будет содержать немного меньше информации, поскольку мы знаем, что более вероятно выпадение орла.
Крайний случай — это цепочка, состоящая из единиц. Если мы знаем, что при броске всегда выпадает решка, то, подбрасывая монету, не получаем вообще никакой информации. Итак, когда цепочка битов полностью предсказуема, содержание информации в ней нулевое. Шеннон основывался на этой идее в сочетании с формулой энтропии Больцмана для создания собственного определения энтропии, применимого к информации.
Поскольку вероятность получения результата играет роль, подобную числу микросостояний в теории Больцмана, Шеннон определил энтропию как сумму логарифмов вероятности получения этого результата для каждого бита. В математической нотации его формула выглядит следующим образом:
Н = — P 1 log 2 P 1— P 2 log 2 P 2— P 3 log 2 P 3 — … — P n log 2 P n ,
где H — энтропия, Р — вероятность получения некоторого значения для каждого символа.
Символы log 2означают, что логарифм — это действие, обратное возведению в степень двух. Например, логарифм восьми по основанию два равен трем, поскольку три — это степень, в которую надо возвести два, чтобы получить восемь.
Формулу можно трактовать следующим образом: если некоторое значение бита очень вероятно, его информационное содержание низко; если значение маловероятно, бит несет гораздо больше информации. Нам нужно найти сумму всех возможных значений и умножить на их вероятность, поскольку наиболее вероятные значения встречаются чаще.
Формулу Шеннона можно использовать для определения информационной насыщенности сообщения, статистически исследовав появление в нем различных символов.
Возьмем предыдущий пример: «Сегодня я опоздаю на ужин». Порядок букв может показаться стихийным, и только зная, что фраза написана на русском языке, мы можем сделать какие-либо выводы о вероятности каждой буквы. Например, мы знаем, что в русском языке вероятность встретить букву ыпосле ж, ш или япосле ч, щкрайне низка. Мы также знаем, что в начале слова никогда не встречаются буквы ъи ь. Вся эта информация может использоваться для сжатия сообщения. Но даже если бы мы ничего не знали о языке как таковом, статистический анализ любого текста позволяет, основываясь на частоте каждой буквы, довольно сильно сжать его. Этот метод используется в программах для сжатия архивов: вначале они ищут в сообщении закономерности, а затем используют их для уплотнения информации.
Энтропия Шеннона измеряется в битах. Если вычислить ее содержание в букве такого текста, как эта книга, окажется, что она равна примерно одному биту, что намного меньше восьми битов, необходимых для передачи этой буквы.
* * *
ШЕННОН И ФОН НЕЙМАН
Определение энтропии Шеннона, кажется, гораздо больше связано с информацией, чем с энтропией, так что выбор названия может показаться удивительным. Согласно некоторым его биографам, идея принадлежала великому математику Джону фон Нейману(1903–1957) , который во время одного из своих визитов сказал Шеннону следующее: «Тебе следует назвать ее энтропией по двум причинам. Во-первых, твоя функция неопределенности уже используется в статистической механике под таким названием, так что у нее уже есть имя. А во-торых, и это более важно, никто на самом деле не понимает, что такое энтропия, поэтому в спорах у тебя всегда будет преимущество».
* * *
Энтропия чисел
Поскольку число также может быть выражено как цепочка символов, в нем тоже имеется некоторое количество информации и, следовательно, некоторая энтропия Шеннона. Самый простой способ вычислить энтропию числа — это рассмотреть его выражение в двоичной системе. При этом вместо привычных арабских цифр используются единицы и нули. Когда мы записываем число арабскими цифрами, то на самом деле используем степени числа 10:
2345 = 2·1000 + 3·100 + 4·10 + 5·1 = 2·10 3+ 3·10 2+ 4·10 1+ 5·10 0.
Но мы можем использовать и степени числа два. Возьмем, например, число 10:
10 = 1·8 + 0·4 + 1·2 + 0·1 = 1·2 3+ 0·2 2+ 1·2 1+ 0·2 0.
Его запись в двоичной системе выглядит так:
1010.
Значит, для передачи числа 10 требуется четыре бита информации. В десятичной форме мы могли бы выразить 10 как:
Читать дальше