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