Игра разума. Как Клод Шеннон изобрел информационный век - Сони Джимми
Но булева алгебра – это больше, чем просто переделка на новый лад обычной математики. Представьте теперь, что мы хотим оценить утверждение «этот конкретный житель Лондона голубоглаз или левша». В этом случае мы получаем следующее:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
Если лондонец ни голубоглаз, ни левша, утверждение неверное. Но если он голубоглаз или левша, или и то и другое вместе, оно верное. Вот поэтому в булевой алгебре 1 + 1 равняется 1. Знак операции ИЛИ дает верный ответ, если какое-то из положений, которыми он оперирует, верно, или все положения верны. (Буль также различал еще один вид «или», названный «исключительным или», который дает верный ответ, только если одно или другое положение верно, но не оба.)
Из этих простых элементов (столь же простых, как переключатели, размышлял Шеннон) мы можем составлять другие уравнения и добиваться все более сложных результатов. К примеру, мы можем доказать, что х + ху = х, или что верность утверждения «либо х, либо одновременно х и у» зависит исключительно от верности х. Или же мы можем доказать, что (х + у)’ = х’у’: другими словами, «х или у» неверно, когда «оба не х и не у», и наоборот. Все это, утверждал Буль, законы логики. Переменные х и у, как и любые другие переменные, могут означать произвольные утверждения при условии, что они либо истинны, либо ложны. И с помощью простого, почти не требующего напряжения ума применения нескольких правил, мы можем делать заключения из всего, что подлежит дедукции. Механическая логика означала, что больше не нужно ломать голову над фразой: «Все люди смертны, Сократ – это человек…» – и так далее, только символы, операции и правила. Гений сформулировал правила, которые мог применить даже ребенок. Или что-то, мыслящее проще, чем ребенок.
Все это было весьма интересно, но на протяжении почти столетия из всего этого мало что вышло практического. Нескольким поколениям студентов, в том числе Клоду Шеннону эта тема преподносилась как забавный философский феномен. В то время, вспоминал он, его в основном забавлял звук слова: «Бу-у-у-улева». Но какие-то крупицы этих знаний остались у него, когда он пытался разобраться в коробке со ста переключателями. Он чувствовал некую простоту правил Буля, присутствующую даже в самых чертовски сложных уравнениях, которые он решал для Буша. Замкнуть, разомкнуть. Да, нет. 1, 0. Что-то из этих знаний осталось с ним, когда он в 1937 году покинул МТИ, уехав на лето в Нью-Йорк. Другой уникальной группой людей, подошедших к сопоставлению логики с электрическими цепями достаточно близко, были умы из «Лабораторий Белла», взявшие к себе Шеннона на летнюю стажировку. Будучи временно нанятым сотрудником, Шеннон, вероятно, занимался самыми рядовыми делами, связанными с промежуточной помощью, и его присутствие в «Лабораториях» летом 1937 года не было отмечено в истории заведения, но именно здесь он смог поделиться своим глубоким пониманием математической логики и продвинутым знанием электрических схем, а еще настойчивым ощущением, что эти две сферы взаимосвязаны. Более того, он передал свои знания прямо в сердце телефонной компании, владевшей самой сложной и протяженной электросетью в стране. И его работа была частью математических попыток заставить эту сеть работать эффективнее и дешевле.
Самое важное – примерно в это время он впервые взялся записывать свои мысли и начал связывать вместе то сходство, которое, по его мнению, было в анализаторе Томсона, сетях «Лабораторий Белла» и логике Буля. Спустя полвека Шеннон попытался вспомнить тот момент прозрения и объяснить, как ему удалось первым понять, что означали эти переключатели. Вот что он рассказывал журналисту:
«Дело не в том, что что-то “размыкается” или “замыкается”, или в словах “да” или “нет”, о которых вы говорите. Смысл заключается в том, что две вещи в одной последовательности в логике описываются словом “и”, поэтому вы говорите: это “и” это. В то время как две вещи в параллели описываются словом “или”… Есть контакты, которые замыкаются, когда вы оперируете реле, а есть другие контакты, которые размыкаются, и поэтому слово “нет” относится к этому аспекту реле… Люди, которые занимались релейными цепями, конечно, понимали, как делать эти вещи. Но у них не было математического аппарата булевой алгебры».
Скачок от логики к символам, а затем к схемам: «Мне кажется, что это было самое увлекательное занятие в моей жизни», – вспоминал Шеннон с теплотой эти времена.
Любое понятие из булевой алгебры имело свой физический эквивалент в электрической цепи. Перевод переключателя в положение «включено» мог означать «верно», а перевод в положение «выключено» – «неверно». И все в целом можно было представить в последовательности символов 0 и 1. Но еще более важно, как указывал Шеннон, что логические знаки операции системы Буля – И, ИЛИ, НЕТ – могли быть в точности воспроизведены в виде цепей. И тогда последовательное соединение становится И, потому что ток должен проходить последовательно через два реле, и он не дойдет до своей цели, если оба реле не обеспечат ему этот проход. Параллельное соединение становится ИЛИ, потому что ток может проходить по любому из этих реле или по обоим сразу. Ток проходит по двум замкнутым реле при параллельном соединении и зажигает свет: 1 + 1 = 1.
Скачок от логики к символам, а затем к схемам: «Мне кажется, что это было самое увлекательное занятие в моей жизни», – вспоминал Шеннон с теплотой эти времена. Странное и немного педантичное представление об увлекательности. Но это был молодой человек, всего двадцати одного года, пришедший в трепет от мысли о том, что, заглянув в коробку с переключателями и реле, он увидел там то, что никто до него не видел. Все, что нам осталось, это детали. В последующие годы все будет происходить так, словно он забыл, что публикация научных трудов – это то, чего всегда ждут от блестящих ученых. Он станет бесцельно копить свои феноменальные исследования годами, а в итоге окажется в доме с чердаком, заваленным бумагами, полузаконченными статьями и «хорошими вопросами» на миллиметровой бумаге. Но сейчас, полный честолюбивых замыслов и целей, он едва успевал выдавать новые идеи.
Завершив осенью 1937 года свою магистерскую диссертацию «Символический анализ релейных и переключательных схем», Шеннон представил ее на суд аудитории в Вашингтоне и опубликовал на следующий год, заложив основы для блестящей карьеры. Теперь уже в новой для себя манере Шеннон писал сухим научным языком:
«Любая схема представлена рядом уравнений, условия уравнений соответствуют разнообразным реле и переключателям схемы. Вычисление разрабатывается для того, чтобы этими уравнениями управляли простые математические процессы, большая часть которых напоминает обычные алгебраические алгоритмы. Это вычисление должно быть совершенно аналогично вычислению положений, применяемых при изучении символической логики… Схема, таким образом, может быть мгновенно срисована с уравнений».
И это был ключевой момент: после Шеннона собирание схем перестало быть упражнением в интуиции и перешло в область знаний правил уравнений и сокращений. Рассмотрим проблему, с которой могли столкнуться коллеги Шеннона, когда пытались подвергнуть свою гигантскую аналоговую машину электрическому регулированию. Допустим, определенная функция в схеме позволила бы току проходить – будет выдавать «1» в терминологии Шеннона – в зависимости от положения трех различных переключателей, х, у и z. Ток будет проходить, если только z будет включен, или если только у и z будут включены, или если х и z будут включены, или если х и у будут включены, или если все три будут включены. Методом проб и ошибок коллеги Шеннона могли бы рано или поздно смонтировать одиннадцать отдельных соединений, которые бы сделали работу. Но Шеннон начал с того, что взялся за карандаш и свой вездесущий блокнот. Он выписал уравнение, используя обозначения Буля: