Изменить стиль страницы

В этой системе носитель сообщения не имеет значения. Это могут быть песни на радиоволнах, слова на телеграфе или изображения через Интернет. Как говорит Шеннон, компоненты его модели передачи информации "в достаточной степени идеализированы по сравнению с их физическими аналогами". Это возможно потому, что во всех этих случаях фундаментальная проблема коммуникации остается неизменной. Это проблема "точного или приблизительного воспроизведения в одной точке сообщения, выбранного в другой точке".

img_16.jpeg

Рисунок 16

Имея в виду эту простую систему связи, Шеннон стремился формализовать изучение передачи информации. Но чтобы математически подойти к вопросу о том, как передается информация, ему сначала нужно было дать математическое определение информации. Опираясь на предыдущие работы, Шеннон обсуждает, какими желательными свойствами должна обладать мера информации. Некоторые из них имеют практическое значение: например, информация не должна быть отрицательной, а ее определение должно быть легко поддаваться математической обработке. Но реальное ограничение возникло из-за необходимости отразить интуицию, связанную с информацией: ее зависимость от кода.

Представьте себе школу, где все ученики носят униформу. Видя, как ученик каждый день появляется в одном и том же наряде, можно получить очень мало информации о его настроении, характере или погоде. С другой стороны, в школе, где нет униформы, выбор одежды способен передать всю эту информацию и даже больше. Например, если кто-то интересуется текущей температурой воздуха, то, увидев ученика в сарафане, а не в свитере, он может надолго развеять это любопытство. Таким образом, одежду можно использовать как код - это передаваемый набор символов, который передает смысл.

Причина, по которой студенты в униформе не могут нести эту информацию, заключается в том, что код требует вариантов. В словаре кода должно быть несколько символов (в данном случае - несколько нарядов в гардеробе студента), каждый из которых имеет свое собственное значение, чтобы любой из символов имел смысл.

Но важно не только количество символов в коде, но и то, как они используются. Допустим, у студента есть два варианта одежды: джинсы и футболка или костюм. Если студент в 99 процентах случаев носит джинсы и футболку, то из этого выбора гардероба можно извлечь не так уж много информации. Вам даже не нужно видеть студента, чтобы быть почти уверенным в том, что он одет - это, по сути, униформа. Но один день из ста, когда они появляются в костюме, говорит вам о чем-то важном. Он дает вам понять, что этот день какой-то особенный. Это говорит о том, что чем реже используется символ, тем больше информации он содержит. Обычные символы, с другой стороны, не могут передать много информации.

Шеннон хотел отразить эту связь между использованием символа и его информационным содержанием. Поэтому он определил информативность символа в терминах вероятности его появления. В частности, чтобы количество информации уменьшалось по мере увеличения вероятности появления символа, он сделал информацию символа зависящей от обратной величины его вероятности. Поскольку обратная величина числа - это просто единица, деленная на это число, большая вероятность означает меньшую "обратную вероятность". Таким образом, чем чаще используется символ, тем ниже его информативность. Наконец, чтобы удовлетворить другие математические требования, он взял логарифм этого значения.

Логарифм, или "логарифм", определяется по основанию. Например, чтобы вычислить логарифм числа по основанию 10, нужно спросить: "До какой степени нужно увеличить 10, чтобы получить это число? Логарифм 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 символами, каждый из которых используется одинаково, имеет энтропию шесть бит на символ.

Как бы ни был важен хороший код, кодирование - это только начало пути сообщения. В концепции связи Шеннона, после того как информация закодирована, ее еще нужно отправить по каналу к месту назначения. Именно здесь абстрактные цели передачи сообщений сталкиваются с физическими ограничениями материи и материалов.