Шрифт:
И это был ключевой момент: после Шеннона собирание схем перестало быть упражнением в интуиции и перешло в область знаний правил уравнений и сокращений. Рассмотрим проблему, с которой могли столкнуться коллеги Шеннона, когда пытались подвергнуть свою гигантскую аналоговую машину электрическому регулированию. Допустим, определенная функция в схеме позволила бы току проходить – будет выдавать «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.
Все было элементарно, отмечал Шеннон. Но это открытие можно было назвать простым лишь после того, как оно было сделано.
И все же – «возможно, самая важная, а также самая известная магистерская диссертация века?» «Одна из величайших магистерских работ за всю историю?» «Самая важная магистерская работа за все время?» «Монументальная?» Был ли ряд приемов, экономящих время инженерам, действительно достойных такой похвалы? Если работа выполнялась в любом случае, было ли так важно, что Шеннон проделывал за два этапа то, что его коллеги выполняли за одиннадцать?
Все было элементарно, отмечал Шеннон.
Но это открытие можно было назвать простым лишь после того, как оно было сделано.
Да, это было важно. Но главный, фундаментальный результат научной работы Шеннона в основном подразумевался, но не назывался. Ее значение стало понятно лишь со временем. Скрытый смысл станет яснее, если мы поймем, что Шеннон, следом за Булем, использовал знак равенства, как условный: «если».
1+1=1: если ток проходит через два переключателя параллельно, свет загорается (или реле приобретает сигнальное значение «да»). 0+0=0: если ток не проходит ни через один из переключателей в параллельном соединении, свет не загорается (или реле приобретает сигнальное значение «нет»). В зависимости от ввода, одни и те же переключатели могут давать два разных ответа. Давайте совершим антропоморфический прыжок: электросхема может сама принимать решения. Схема способна действовать логично. Многие схемы могли выполнять невероятно сложные логические операции: они могли решать логические задачи и выводить заключения на основании исходных данных, причем так же надежно, как человек, но быстрее. Благодаря тому, что Буль показал, как разложить логику на последовательность бинарных верных-неверных решений, любая система, способная представлять двоичность, получила доступ ко всей логической вселенной, которую он описал. «Законы мышления» распространялись и на неживой мир.