Одна из самых худших вещей, которые может сделать шум в момент помех, включения посторонних звуков или физического повреждения канала связи – это исказить биты. Там, где отправитель произносит «1», получатель слышит «0», или наоборот. Так что если бы мы использовали этот код, то ошибка для одного-единственного бита могла бы быть фатальной. Если бы всего один из битов, представляющих букву С, поменял бы свое свойство, буква С потерялась бы в канале связи: она возникла бы в виде буквы В или D, запутав получателя. Достаточно всего лишь двух таких замен, чтобы превратить «DAD» в «САВ».
Но мы можем решить эту проблему – точно так же, как человеческие языки интуитивно, автоматически решают подобную проблему, – добавив биты. Мы можем использовать вот такой код:
А = 00000
В = 00111
С = 11100
D = 11011
Теперь любая буква могла бы выдержать повреждение любого бита и все равно оставаться именно этой буквой и никакой другой. При наличии двух ошибок ситуация становится более запутанной: 00011 может быть либо буквой В с одним замененным битом, либо А с двумя замененными битами. Но чтобы превратить одну букву в другую, требуются три полноценные ошибки. Наш новый код противостоит шуму так, как не противостоял ему наш первый код, и делает это более эффективно, чем простое повторение слова. Нам не нужно было менять ни единой вещи в том, что касается средства связи: никаких перекрикиваний в переполненной комнате, никакого монтажа индукционных катушек. Нужно лишь посылать правильные сигналы.
Пока мы соблюдаем скоростной предел канала связи, у нас нет ограничений в точности передачи нашего сообщения, нет ограничений в количестве шума, сквозь который мы можем пробиться. Да, преодоление большего числа ошибок или добавление большего числа символов потребует более сложных
Шеннон был прав: решение есть всегда.
И это решение – цифровое.
кодов. Так же как и сочетание преимуществ кодов, которые сжимают сообщение, и кодов, которые защищают от ошибок. Для этого нам потребуется максимально эффективно сократить сообщения в битах, а потом добавить избыточности, которая обеспечит его точность. Шифрование и дешифровка все равно взыщут свою цену за счет потраченных усилий и времени. Но Шеннон был прав: решение есть всегда. И это решение – цифровое. На этом Шеннон завершил свое исследование, начавшееся с магистерской работы и переключателей одиннадцатью годами ранее. 1 и 0 закрепляли целостность его логики. Знаки 1 и 0 символизировали фундаментальную природу информации, равный выбор из двух вариантов. И теперь было очевидно, что любое сообщение можно отправить безукоризненно – мы можем общаться с помощью любого вида связи, любой сложности и на любом расстоянии – при условии, что наши сообщения переводятся в 1 и 0. Логика преобразуется в цифру. Информация переводится в цифру.
А потому каждое сообщение родственно всем другим сообщениям. «До того момента все считали, что связь задействовали, чтобы найти способы передачи письменного языка, устной речи, изображений, видео и всего разнообразия других видов сообщений – и что все они требовали разных способов передачи, – говорил коллега Шеннона Роберт Галлагер. – Клод сказал: “Нет, вы можете перевести все это в двоичные символы. А потом вы можете найти способы передачи этих двоичных символов”. Вы можете закодировать любое сообщение в виде потока битов, и вам совсем необязательно знать, куда оно отправится. Вы можете передать любой поток битов эффективно и надежно, не интересуясь, откуда он пришел. Как сказал специалист в области теории информации, Дэйв Форни, «биты – это универсальный интерфейс».
Со временем его мысли, представленные на семидесяти семи страницах в «Техническом журнале “Лабораторий Белла”, дадут толчок рождению цифрового мира. Появятся спутники, общающиеся с землей посредством бинарного кода, диски, проигрывающие музыку, несмотря на пятна и царапины (потому что хранилище – это просто другой канал, а царапина – это просто другой шум).
Со временем, потому что пока Шеннон доказывал, что такие коды должны существовать, ни он, ни кто-то другой не показал, какими они должны быть. Как только страсти по поводу дерзости его открытия утихнут – в конце концов, он одним махом открыл новую область знаний и решил основные ее проблемы, – в обсуждениях личности Клода Шеннона и его теории будет доминировать одна тема. Сколько времени потребуется, чтобы подобрать коды? А если их подобрать, будут ли они иметь практическую ценность или же они просто сделают дешевле прежнюю коммуникацию? Может ли эта странная научная работа, переполненная выдуманными языками, бессмысленными сообщениями, произвольным текстом и философией, которая якобы охватывала и объясняла любой отправленный сигнал, может ли она быть чем-то большим, чем просто изящным теоретизированием? Если выражаться словами, под которыми бы подписался любой инженер: будет ли она работать?