100 по основанию 10 (записывается как log10100) равен 2, потому что 10 в степени 2 (т. е. 10x10) равно 100. Таким образом, логарифм 1000 равен 3. А логарифмическая линейка от 100 до 1000 равна 2 и 3.
Шеннон решил использовать основание два для своего определения информации. Поэтому, чтобы вычислить информацию, содержащуюся в символе, нужно спросить: "До какой степени нужно возвести в степень два, чтобы получить обратную величину вероятности символа? Если взять наряд нашего студента - джинсы и футболку - как символ, который появляется с вероятностью 0,99, то его информативность равна log2(1/0,99), что составляет примерно 0,014. Костюм, который появляется с вероятностью 0,01, напротив, имеет информационное содержание log2(1/0,01) или примерно 6,64. Опять же, чем ниже вероятность, тем выше информация2.
Но Шеннона интересовала не только информация, содержащаяся в одном символе, - он хотел изучить информационное содержание кода. Код определяется набором символов и частотой использования каждого из них. Поэтому Шеннон определил общую информацию в коде как сумму информации всех его символов. Важно, что эта сумма взвешена - то есть информация каждого символа умножается на частоту использования этого символа.
Согласно этому определению, общий объем информации, содержащейся в одежде студента, составит 0,99 x 0,014 (от джинсов и футболки) + 0,01 x 6,64 (от костюма) = 0,081. Это можно считать средним количеством информации, которое мы получаем каждый день, видя наряд студента. Если бы студент решил носить джинсы 80 процентов времени, а костюм - 20 процентов, его код был бы другим. И среднее содержание информации было бы выше: 0,80 x log2(1/0,80) + 0,20 x log2(1/0,20) = 0,72.
Шеннон дал название средней скорости передачи информации в коде. Он назвал ее энтропией. Официально он объяснил это тем, что его определение информации связано с понятием энтропии в физике, где она служит мерой беспорядка. С другой стороны, Шеннон, как известно, утверждал - возможно, в шутку, - что ему посоветовали назвать свою новую меру энтропией, потому что "никто не понимает энтропию", и поэтому Шеннон, скорее всего, всегда будет выигрывать споры о своей теории.
Энтропия Шеннона отражает фундаментальный компромисс, присущий максимизации информации. Редкие вещи несут наибольшую информацию, поэтому вы хотите, чтобы их было как можно больше в вашем коде. Но чем чаще вы используете редкий символ, тем менее редким он становится. Эта борьба полностью определяет уравнение для энтропии: уменьшение вероятности символа приводит к увеличению логарифма его обратной величины - положительный вклад в информацию. Но затем это число умножается на ту же самую вероятность: это означает, что уменьшение вероятности символа приводит к уменьшению его вклада в информацию. Таким образом, чтобы максимизировать энтропию, мы должны сделать редкие символы настолько распространенными, насколько это возможно, но не более распространенными.
Использование Шенноном логарифма с основанием два делает единицей информации бит. Бит - это сокращение от двоичного разряда, и, хотя в работе Шеннона впервые встречается это слово, не он его придумал (Шеннон приписывает эту честь своему коллеге из Bell Labs Джону Тьюки). У бита как единицы информации есть полезная и интуитивно понятная интерпретация. В частности, среднее количество битов в символе равно количеству вопросов "да-нет", которые нужно задать, чтобы получить этот объем информации.
Например, попробуйте выяснить время года, в которое родился человек. Вы можете начать с вопроса: "Это переходное время года?". Если они ответят "да", вы можете спросить: "Сейчас весна?". Если они ответят "да", вы получите ответ; если "нет", у вас все равно будет ответ: осень. Если они ответили "нет" на первый вопрос, вы можете пойти противоположным путем - спросить, не родились ли они летом, и т. д. Независимо от ответа, чтобы получить его, нужно задать два вопроса "да" или "нет". Уравнение энтропии Шеннона согласуется с этим. Если предположить, что люди с одинаковой вероятностью рождаются в каждый сезон, то каждый из этих "символов" сезона будет использоваться в 25 процентах случаев. Таким образом, информация в каждом символе равна log2(1/0,25). Таким образом, среднее количество бит на символ равно двум - столько же, сколько и количество вопросов.
Часть разработки хорошей системы связи заключается в создании кода, который содержит много информации на один символ. Чтобы максимизировать среднюю информацию, которую предоставляет символ в коде, нам нужно максимизировать энтропию кода. Но, как мы видели, определение энтропии имеет внутреннее противоречие. Чтобы максимизировать ее, редкие символы должны быть нормой. Как лучше всего удовлетворить это, казалось бы, парадоксальное требование? На этот непростой вопрос, как оказалось, есть простой ответ. Чтобы максимизировать энтропию кода, каждый из его символов должен использоваться одинаково часто. У вас пять символов? Используйте каждый из них пятую часть времени. Сто символов? Вероятность использования каждого из них должна составлять 1/100 часть. Если сделать каждый символ одинаково вероятным, это уравновесит компромисс между редким и обычным общением.
Более того, чем больше символов в коде, тем лучше. Код с двумя символами, каждый из которых используется половину времени, имеет энтропию в один бит на символ (это имеет смысл в соответствии с нашим интуитивным определением бита: если представить, что один символ означает "да", а другой - "нет", то каждый символ отвечает на один вопрос "да" или "нет"). С другой стороны, код с 64 символами, каждый из которых используется одинаково, имеет энтропию шесть бит на символ.
Как бы ни был важен хороший код, кодирование - это только начало пути сообщения. В концепции связи Шеннона, после того как информация закодирована, ее еще нужно отправить по каналу к месту назначения. Именно здесь абстрактные цели передачи сообщений сталкиваются с физическими ограничениями материи и материалов.
Рассмотрим телеграф. Телеграф передает сообщения с помощью коротких импульсов электрического тока, проходящих по проводам. Сочетания коротких точек и длинных тире определяют алфавит. Например, в американской азбуке Морзе точка и тире обозначают букву "А", а две точки и тире - "U". Физические ограничения и несовершенство проводов, по которым передавались эти сообщения, особенно на большие расстояния или под океанами, накладывали ограничения на скорость передачи информации. Телеграфисты, набиравшие текст слишком быстро, рисковали столкнуть точки и тире вместе, создав нечленораздельный "боров Морзе", который был бы бесполезен для его получателя. На практике операторы могли безопасно отправлять в среднем около 100 писем в минуту.
Чтобы создать практическую меру скорости передачи информации, Шеннон объединил присущую коду скорость передачи информации с физической скоростью передачи по каналу, по которому он передается. Например, код, содержащий пять битов информации на символ и передаваемый по каналу, который может передавать 10 символов в минуту, будет иметь