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