Шрифт:
Еще до Шеннона Ральф Хартли предлагал похожую схему, считая ее верным способом рассматривать передачу информации. Но Клод предусмотрел еще один момент. Во многих случаях отправитель более охотно выбирает одни сообщения, чем другие. И возможно, это поможет ему в среднем использовать меньше символов для передачи сообщения. Представим, например, что отправитель передает буквы английского алфавита как часть более длинного сообщения. Если первые две введенные буквы — это «t» и «h», то количество вариантов, какая буква может идти следом, резко сужается. Например, вероятность того, что это будет «x», «q» или «z», равна нулю. Зато достаточно высока вероятность, что отправитель введет «е». (Шеннон, как и его более известный соперник в области компьютерной революции Алан Тьюринг, в годы Второй мировой войны занимался дешифровкой сообщений и, разумеется, прекрасно понимал, что одни буквы используются чаще, чем другие.)
Шеннон утверждал, что в этом случае, когда отправитель и получатель заранее пытаются определить правила, которыми будут пользоваться для преобразования символов в буквы, протокол [146] , который они в итоге создадут, будет учитывать все возможные вероятности. И это позволит им использовать намного меньше символов для общения.
Давайте рассмотрим этот сценарий на конкретном примере. Вы наблюдаете за показаниями счетчика, который контролирует работу какого-то важного оборудования. У счетчика есть шкала с 256 разными значениями, варьирующимися от –127 до 128. Главный инженер хочет получать показания счетчика каждые десять минут. Поскольку он сидит в другом здании, вы протягиваете телеграфный провод, чтобы передавать информацию в виде двоичного кода, используя точки и тире, — так вам не придется ходить и разыскивать инженера лично каждый раз.
146
В данном случае теоретики обычно используют слово «код», а не «протокол». Но чтобы не запутать читателя, я остановлюсь на втором варианте для обозначения набора правил коммуникации, заранее оговоренного пользователями. Это поможет избежать ассоциаций, которые складываются у обывателей в связи со словом «код».
Чтобы система была рабочей, для начала вам и инженеру следует договориться о протоколе, которым вы будете пользоваться для расшифровки показаний счетчика. Самый простой способ — присвоить каждому из 256 возможных значений уникальный код в виде последовательности тире и точек. Например, значение –127 будет передаваться в виде точка-точка-точка-точка-точка-точка-точка-точка, а значение 16 — как тире-точка-тире-точка-точка-тире-тире-точка и т. д. Простые математические расчеты (28 = 256) подскажут вам, что существует ровно 256 различных комбинаций из восьми точек и тире, поэтому вы сможете придумать уникальный код для каждого из значений счетчика.
Согласно протоколу, для передачи показаний прибора вам нужно будет ввести восемь символов. Но представим, что вы хотите свести количество отправляемых символов к минимуму, поскольку вас раздражает, что нужно использовать телеграфный ключ, и у вас устает рука. В этот момент, согласно теории Шеннона, нужно оценить вероятность возможных сочетаний. Давайте представим, что счетчик практически всегда показывает 0 и это нормальное состояние для оборудования, за которым вы наблюдаете. Если показания отличаются от нуля, это означает, что возникла проблема, а такое случается достаточно редко. Чтобы наш пример стал еще более конкретным, давайте представим, что в 99% случаев счетчик показывает 0.
Вы с инженером можете договориться о более специфичном протоколе. Если вы передаете только точку, это означает, что показания счетчика равны нулю. Если вы передаете тире, это означает, что показания отличаются от нуля. В таком случае за тире следует восьмизначный код, который обозначает точную цифру на приборе. Обратите внимание, что, используя новый протокол, в самом худшем случае вы передаете больше символов, чем если бы использовали обычный протокол. Поскольку, если показания счетчика не равны нулю, вам придется передать девять символов (тире и восьмизначный код числа) против восьми при использовании стандартного протокола. Но если все благополучно, вам нужно передать только один символ, а не восемь. Как сравнить трудозатраты в обоих вариантах? Шеннон предлагает сравнить конкретные вероятности для вычисления средних трудозатрат. Мы подсчитываем среднее количество символов в сообщении таким образом: 0,99 x 1 + 0,01 x 9 = 1,08. Это означает, что если вы подсчитаете среднее количество символов в одном сообщении, взяв достаточно долгий период, то выяснится, что в среднем вы отправляете чуть больше, чем один символ зараз. Значит, получается, что новый протокол в долгосрочной перспективе гораздо эффективнее первоначального [147] .
147
Хотя у Сэмюэла Морзе не было необходимой математической базы, чтобы измерить свое изобретение, при создании своего знаменитого протокола телеграфной связи, азбуки Морзе, он назначил самый короткий код букве «е», которая чаще всего используется в английском алфавите.
Это и была основополагающая идея теории информации Шеннона: умные протоколы, принимающие во внимание структуру передаваемой информации, становятся намного эффективнее в использовании, чем другие примитивные протоколы. (Это не единственный его вклад в теорию информации. Труд Шеннона также описывает, как подсчитать возможную максимальную эффективность определенного источника информации. Кроме того, ученый произвел революцию в области снижения помех от шумов, благодаря чему стали возможны высокоскоростная электронная коммуникация и хранение больших массивов информации [148] .) Без этих открытий на скачивание фильма в iTunes ушло бы несколько дней вместо нескольких минут, а ваши фотографии в соцсетях появлялись бы через час, а не через пару секунд.
148
До Шеннона инженеры связи боролись с помехами в процессе телефонной или телеграфной коммуникации, пытаясь усилить сигнал, чтобы он перебивал шумы. Шеннон же продемонстрировал преимущества цифрового подхода. С помощью многочисленных символов вы кодируете один бит информации, используя умный код, что позволит вам восстановить первоначальные сведения, даже если данные в процессе передачи были повреждены из-за шумов. По этому принципу сейчас работают все цифровые средства связи и носители информации.
Идеи Шеннона применяются не только в сфере цифровой коммуникации. Вскоре после того, как его судьбоносный труд 1948 года стал популярным, инженеры и ученые, работающие в разных областях, признали, что идеи Шеннона полезны для всех. Теория информации стала всплывать в самых разных контекстах, далеких от цифровых файлов и компьютерных сетей: в лингвистике, восприятии мира и даже осознании самой жизни (биологи поняли, что ДНК можно представить как эффективный информационный протокол). Теперь к этому списку мы добавим еще одну сферу, где научные открытия Шеннона могут сослужить пользу: координация работы сотрудников в офисе.
Согласно стандартному сценарию, разные команды должны общаться, чтобы решать разные вопросы: обсуждать время встречи, определять, каков будет следующий этап совместного проекта, отвечать на запросы клиента, давать обратную связь по поводу новой идеи. Координация этих действий определяется правилами. Иногда эти правила неофициальные — в том смысле, что они нигде не записаны, — а иногда более формальные. Например, представьте себе небольшую консалтинговую фирму. Ее сотрудникам регулярно поступают запросы от потенциальных клиентов, и их нужно проанализировать, чтобы понять, какие из заказчиков перспективны, а какие — нет. Если в компании верховодит гиперактивный коллективный разум, значит, неявное правило обработки подобных запросов будет заключаться в том, что начнется электронная переписка между определенными сотрудниками в надежде на то, что в процессе они придут к какому-то соглашению. Возможно, в компании существует формальная процедура обработки таких запросов: по пятницам сотрудники собираются на совещание, анализируют все запросы, поступившие за неделю, и решают, с кем из клиентов продолжать работу и кого назначить ответственным за нее. Многие процессы, протекающие в офисе, подчиняются подобным неофициальным и официальным правилам. Давайте отдадим должное Шеннону и назовем всю совокупность этих правил «координацией протоколов».