Клод Шеннон и Джордж Роберт Стибиц из Bell Labs

Клод Шеннон и Джордж Роберт Стибиц из Bell Labs

В 1937 году произошел еще один значительный прорыв в теории компьютеров, похожий на изобретение машины Тьюринга тем, что это был чисто мысленный эксперимент. Автором его был аспирант Массачусетского технологического института Клод Шеннон, который в том же году представил самую значительную дипломную работу за все время, которую Scientific American позже назвал “Magna Carta[11] эпохи информации”13.

Шеннон вырос в маленьком городке штата Мичиган, где он строил модели самолетов и собирал любительские радиоприемники, а позже отправился в Мичиганский университет учиться электротехнике и математике. На старшем курсе он откликнулся на объявление, висевшее на доске, о том, что в МТИ в группу, возглавляемую Вэниваром Бушем, требуется помощник для работ по запуску дифференциального анализатора. Шеннон получил работу и был заворожен этой машиной — не столько валиками, шкивами и колесами, которые являлись аналоговыми элементами, сколько электромагнитными переключателями — реле, которые были частью цепи управления. Когда электрические сигналы заставляли их щелчком открываться и с треском закрываться, переключатели меняли конфигурацию цепей.

Летом 1937 года Шеннон взял отпуск в МТИ и поступил на работу в Bell Labs — научно-исследовательский центр, находящийся в ведении компании AT&T[12]. Лаборатории тогда находились на Манхэттене, в той части района Гринич-Виллидж, которая выходит на Гудзон. Это место идеально подходило для превращения идей в изобретения: абстрактные теории сталкивались там с практическими проблемами, а в коридорах и кафе эксцентричные теоретики спорили с инженерами-практиками, грубоватыми механиками и деловитыми менеджерами, и в результате теория и технология взаимно обогащали друг друга. Это сделало Bell Labs примером организации, где были созданы условия, способствующие появлению инноваций цифровой эры, которые гарвардский историк науки Питер Галисон назвал “торговой зоной” или “зоной обмена”. Когда разрозненные практики и теоретики оказывались вместе, они учились находить общий язык, с помощью которого можно было обмениваться идеями и информацией14.

В Bell Labs Шеннон увидел вблизи удивительные возможности схем телефонных систем, где использовались электрические переключатели для маршрутизации вызовов и балансировки нагрузок. Мысленно он начал примерять эти схемные решения к другой привлекавшей его области — к логическим системам, сформулированным за девяносто лет до этого британским математиком Джорджем Булем. Буль революционизировал логику, найдя способы выражения логических выражений в виде символов и уравнений. Он присвоил истинным утверждениям значение і, а ложным — о. Тогда последовательность, составленную из базовых логических операций, таких как “и” (and), “или” (or), “не” (not), “и/или” (either/or), “если/то” (if/then), можно выполнить, используя эти утверждения, так же, как если бы они были математическими уравнениями.

Шеннон понял, что электрические схемы могут выполнять эти логические операции, используя различные комбинации двухпозиционных переключателей (с режимами “включено”/“выключено”). Для выполнения операции “и”, например, нужно два переключателя расположить последовательно, так что для того, чтобы пошел ток, оба должны быть в положении “включено”. Чтобы выполнить операцию “или”, переключатели должны быть расположены параллельно, так, чтобы электрический ток тек, если один из них находится в положении “включено”. Чуть более универсальные переключатели, называемые логическими затворами или вентилями, могли бы ускорить процесс. Другими словами, можно было сконструировать схему, содержащую много реле и логических затворов, которые могли бы выполнять шаг за шагом последовательность логических задач.

(Реле — это просто переключатель, который может открываться и закрываться с помощью электричества, например с помощью электромагнита. Те реле, которые механически — щелчком — открываются, а закрываются с помощью электричества, иногда называются электромеханическими, потому что они имеют подвижные части. Электронные лампы и транзисторы также можно использовать в качестве переключателей в электрической цепи, их называют электронными, потому что они управляют потоком электронов, но никакие физические части в них не движутся. “Логический затвор” — это переключатель, который может иметь один или несколько входов. Например, в случае двух входов логический элемент “и” переключается в положение “включено”, если оба входа находятся в позиции “включено”, а логический элемент “или” переходит в состояние “включено”, если какой-нибудь из входов находится в положении “включено”. Концептуальный прорыв Шеннона состоял в том, что он понял, как они могут быть соединены друг с другом в схемах, чтобы с их помощью можно было решать задачи булевой алгебры.)

Когда осенью Шеннон вернулся в МТИ и рассказал о своих идеях Бушу, тот был восхищен ими и предложил ему включить их в дипломную работу. Шеннон так и поступил, назвал ее “Символический анализ релейных и переключательных схем” и показал, как может быть выполнена каждая из многочисленных операций булевой алгебры. В конце он резюмировал: “Выполнять сложные математические операции с помощью релейных цепей вполне возможно”15. Это стало базовой концепцией, лежащей в основе всех цифровых компьютеров.

Идеи Шеннона заинтересовали Тьюринга, потому что они оказались тесно связаны с его только что опубликованной концепцией универсальной машины, которая могла использовать простые команды, выраженные в двоичном коде, для решения не только математических, но и логических задач. Кроме того, поскольку логика работает по тем же законам, что и человеческий мозг, машина, выполняющая логические задачи, теоретически могла бы имитировать ход мысли людей.

В Bell Labs в то же время работал математик Джордж Роберт Стибиц, в чьи обязанности входило разбираться со все более сложными расчетами, требовавшимися инженерам-телефонистам. Единственными инструментами в его распоряжении были механические настольные арифмометры, и он решил придумать что-то получше, основываясь на шенноновских идеях о возможностях электронных схем решать математические и логические задачи. Однажды поздним ноябрьским вечером он пошел на склад и взял несколько старых электромагнитных реле и электрических ламп. На столе своей кухни с помощью этих деталей, железной коробочки из-под табака и нескольких переключателей он собрал простую логическую схему, которая могла суммировать бинарные числа. Загоревшаяся лампа представляла собой 1, а потухшая — 0. Его жена окрестила схему K-Model — в честь кухонного стола. На следующий день он взял схему в офис и попытался убедить своих коллег, что, будь у него достаточно реле, он мог бы сделать вычислительную машину.

Одной из важных задач Bell Labs было найти способ усиливать передаваемые на большие расстояния телефонные сигналы и при этом отфильтровывать постоянный фон. У инженеров были формулы, в которые входили амплитуды и фазы сигнала, и в решения этих уравнений иногда входили комплексные числа (включающие мнимую часть, пропорциональную квадратному корню из -1). Руководитель Стибица спросил его, сможет ли машина оперировать комплексными числами. Когда он ответил, что это возможно, руководитель одобрил идею и дал ему в помощь группу для строительства такой машины. Машину назвали калькулятором комплексных чисел, и ее создание было завершено в 1939 году. В ней было более четырехсот реле, каждое из которых могло включаться и выключаться двадцать раз в секунду. Это сделало ее потрясающе быстродействующей по сравнению с механическими калькуляторами и мучительно медлительной по сравнению со схемами, собранными полностью из электронных ламп, которые как раз в то время изобрели. Компьютер Стибица не был программируемым, но он показал, что схемы на реле могут обращаться с бинарной математикой, обрабатывать информацию и выполнять логические операции16.

Данный текст является ознакомительным фрагментом.