Шеннон вырос в маленьком городке штата Мичиган, где он строил модели самолетов и собирал любительские радиоприемники, а позже отправился в Мичиганский университет учиться электротехнике и математике. На старшем курсе он откликнулся на объявление, висевшее на доске, о том, что в МТИ в группу, возглавляемую Вэниваром Бушем, требуется помощник для работ по запуску дифференциального анализатора. Шеннон получил работу и был заворожен этой машиной — не столько валиками, шкивами и колесами, которые являлись аналоговыми элементами, сколько электромагнитными переключателями — реле, которые были частью цепи управления. Когда электрические сигналы заставляли их щелчком открываться и с треском закрываться, переключатели меняли конфигурацию цепей.
Летом 1937 года Шеннон взял отпуск в МТИ и поступил на работу в
В
Шеннон понял, что электрические схемы могут выполнять эти логические операции, используя различные комбинации двухпозиционных переключателей (с режимами “включено”/“выключено”). Для выполнения операции “и”, например, нужно два переключателя расположить последовательно, так что для того, чтобы пошел ток, оба должны быть в положении “включено”. Чтобы выполнить операцию “или”, переключатели должны быть расположены параллельно, так, чтобы электрический ток тек, если один из них находится в положении “включено”. Чуть более универсальные переключатели, называемые логическими затворами или вентилями, могли бы ускорить процесс. Другими словами, можно было сконструировать схему, содержащую много реле и логических затворов, которые могли бы выполнять шаг за шагом последовательность логических задач.
(Реле — это просто переключатель, который может открываться и закрываться с помощью электричества, например с помощью электромагнита. Те реле, которые механически — щелчком — открываются, а закрываются с помощью электричества, иногда называются электромеханическими, потому что они имеют подвижные части. Электронные лампы и транзисторы также можно использовать в качестве переключателей в электрической цепи, их называют электронными, потому что они управляют потоком электронов, но никакие физические части в них не движутся. “Логический затвор” — это переключатель, который может иметь один или несколько входов. Например, в случае двух входов логический элемент “и” переключается в положение “включено”, если оба входа находятся в позиции “включено”, а логический элемент “или” переходит в состояние “включено”, если какой-нибудь из входов находится в положении “включено”. Концептуальный прорыв Шеннона состоял в том, что он понял, как они могут быть соединены друг с другом в схемах, чтобы с их помощью можно было решать задачи булевой алгебры.)
Когда осенью Шеннон вернулся в МТИ и рассказал о своих идеях Бушу, тот был восхищен ими и предложил ему включить их в дипломную работу. Шеннон так и поступил, назвал ее “Символический анализ релейных и переключательных схем” и показал, как может быть выполнена каждая из многочисленных операций булевой алгебры. В конце он резюмировал: “Выполнять сложные математические операции с помощью релейных цепей вполне возможно”15. Это стало базовой концепцией, лежащей в основе всех цифровых компьютеров.