Искусство большего. Как математика создала цивилизацию - Майкл Брукс
Эта проблема возникает не только в сфере высоких технологий: представьте, что вы общаетесь с помощью светового кода в Древнем Риме – например, двигаете зеркало, чтобы систематически отражать солнечные лучи в сторону союзной армии, стоящей на соседнем холме. Если свет упадет на чей-нибудь щит, в вашем сообщении появится ложный бит. Сегодня, когда вы передаете HTML-код веб-страницы по медному проводу, подобное может спровоцировать случайный электрический сигнал от удара молнии или случайное колебание в одном из компонентов электрической схемы. Оптоволоконный кабель, по которому телевизионный сигнал передается в форме отдельных световых импульсов, тоже может терять часть фотонов – сгустков энергии света – с важнейшими битами информации. Но переживать не стоит, ведь Шеннон о вас позаботился.
Можно подумать, что у этой проблемы есть очевидное решение, которое не требует вмешательства Шеннона: достаточно всего лишь передать сигнал дважды. Это, несомненно, неплохая идея. Если два сигнала совпадут, можно с высокой степенью уверенности сказать, что вы получили верное сообщение, поскольку маловероятно, что одинаковое случайное вмешательство (или случайная потеря) произошло дважды. Но так передача замедлится, а расход энергии возрастет. Шеннон показал, что в этом нет необходимости.
В его статье есть раздел о “кодировании каналов”, где он утверждает, что, зная, с какими помехами вам предстоит столкнуться, вы можете разработать такую систему кодирования, которая обеспечит вам математически идеальную коммуникацию. Допустим, я хочу передать четыре фрагмента информации. Чтобы различать их, я присвою им “кодовые имена”, состоящие из пар двоичных символов:
При передаче по каналу с помехами, которые будут время от времени отнимать биты, возникнет риск, что получатель увидит B там, где я имел в виду A, или D там, где я имел в виду C. Что, если передать каждый фрагмент дважды? Тогда C превратится в 1010, но при изменении одного бита из-за помехи может получиться 1011. Будет казаться, что я передал либо С, либо D, – и сделать выбор будет невозможно.
Я мог бы передавать каждый фрагмент по три раза. Теперь C будет 101010, и изменение одного бита даст 111010, 100010 или 001010. Какой бы бит ни изменился, большинством голосов (2 к 1) можно постановить, что я хотел передать 10.
Шеннон, однако, показал, что у нас есть способ получше: хотя это и не очевидно, нам достаточно передавать лишь пять битов, при условии, что мы тщательно оформим закодированные слова таким образом, чтобы сделать “расстояние” между ними максимальным. В нашем примере шифрование должно осуществляться так:
Здесь случайная замена одного бита не вызовет вопросов о том, какой именно фрагмент информации пытались передать. Попробуйте! На удивление – а это удивило всех, – Шеннон показал, что можно найти оптимальную схему кодирования для любого канала с шумами. Иными словами, всегда существует корректирующий код, позволяющий передавать данные, используя почти всю пропускную способность канала (сегодня этот закон часто называют пределом Шеннона для безошибочной передачи данных). К несчастью, аргумент Шеннона был вероятностным. Шеннон не дал никакого способа понять, какие кодовые комбинации позволяют достичь предела в различных ситуациях.
Выбор корректирующих кодов – это, пожалуй, единственное, что не освещалось в статье Шеннона, вышедшей в 1948 году. Во всех остальных отношениях теория информации была полностью оформлена. При перепечатке статьи на следующий год в нее было внесено лишь одно значимое изменение: если раньше в названии стоял неопределенный артикль, который делал математическую теорию связи одной из многих возможных, то теперь на его место встал определенный артикль, указывающий, что другой теории быть не может. Как вам такое заявление?
После публикации статьи Шеннона оставалось лишь дождаться появления аппаратного обеспечения, чтобы воплотить в жизнь описанные в ней идеи. Через несколько десятилетий, когда нужные технологии оказались достаточно развитыми, инновация Шеннона дала нам электронную почту, интернет, стриминговые аудио- и видеосервисы, хранилища данных и почти все, что мы принимаем как должное в XXI веке. Но часто мы упускаем из виду то, к каким культурным сдвигам она привела. Шеннон не просто подарил нам видео по запросу. Он подарил нам спутники, космические программы, открытие миров за пределами Земли, первые шаги человека по Луне. Но все перечисленные достижения, пожалуй, меркнут в сравнении с важнейшим следствием появления теории информации: открытием, что Земля – это хрупкая и красивая колыбель человечества, которую нужно оберегать.
Восход Земли. Билл Андерс, изображение из открытого источника, via Wikimedia Commons
В рождественский сочельник 1968 года экипаж “Аполлона-8” передал на Землю первые снимки нашей планеты в ходе прямого эфира с окололунной орбиты, во время которого астронавты по очереди читали выдержки из Книги Бытия. “Бесконечное одиночество восхищает и позволяет оценить, что мы оставили там, на Земле”, – сказал пилот командного модуля Джим Ловелл[218]. В этот момент Уильям Андерс сделал знаменитый снимок “Восход Земли”, который, как считается, дал толчок к основанию движения в защиту окружающей среды. Позже Андерс сказал: “Мы отправились исследовать Луну, но вместо этого открыли Землю”[219]. И помогла им в этом теория информации Клода Шеннона.
Шеннон, “Аполлон” и открытие Земли
Вообще-то все началось со спутника. В октябре 1957 года СССР запустил первый искусственный спутник, и американцы вдруг почувствовали, что проигрывают в гонке. Год спустя в США основали агентство NASA. Его задача была проста: сделать США мировым лидером в исследовании космоса. Вскоре после этого, 25 мая 1961 года, президент Джон Кеннеди сказал Конгрессу, что “страна должна приложить все усилия, чтобы до конца десятилетия отправить человека на Луну и вернуть его живым на Землю”[220].
Инженеры NASA уже знали, что ключевую роль в этом сыграет работа Шеннона. Исследуя космос, любой корабль должен обмениваться с Землей навигационными и коммуникационными данными, а также изображениями. Чтобы транслировать сигналы из космоса на Землю, требовались громоздкие и тяжелые электрогенераторы, поэтому любая возможность снизить стартовую массу, например, применив математику теории связи, рассматривалась в первоочередном порядке.
Всего за несколько недель до выступления Кеннеди в 1961 году Лаборатория реактивного движения NASA опубликовала элементарное руководство по теории информации Шеннона, которым мог воспользоваться любой, кому нужно было наладить обмен сигналами между Землей и открытым космосом. Оно называлось “Теория кодирования и ее применение в системах связи”