Глава 2 Компьютер

Чаще всего инновации возникают при синхронизации идей и технологий. А это значит, что: глубокие идеи приходят как раз тогда, когда уже появились технологии, с помощью которых эти идеи могут быть реализованы. Например, мысль отправить человека на Луну возникла ровно в тот момент, когда научились делать микрочипы, которые позволили устанавливать компьютерные системы наведения в головную часть ракеты. Есть и противоположные примеры, когда идея возникала несвоевременно. Чарльз Бэббидж опубликовал статью о компьютере, устроенном сложнейшим образом, в 1837 году, но потребовалось еще сто лет, в течение которых появились необходимые для его создания десятки новых технологических усовершенствований, прежде чем первый такой компьютер появился на свет.

Некоторые из этих усовершенствований кажутся почти тривиальными, но прогресс движется не только большими скачками, но и сотнями мелких шажков. Взять, например, перфокарты, которые Бэббидж увидел на станках Жаккарда и намеревался использовать в своей аналитической машине. Активное использование перфокарт в компьютерах началось из-за того, что Герман Холлерит – сотрудник Бюро по переписи населения США – пришел в ужас от того, что результаты переписи 1880 года пересчитывались вручную в течение примерно восьми лет. И тогда он принял решение автоматизировать подсчет результатов следующей переписи 1890 года.

Опираясь на опыт проводников в поездах, пробивающих отверстия в различных местах билета, отвечающих за определенные характерные черты каждого пассажира (пол, приблизительный рост, возраст, цвет волос), Холлерит разработал перфокарты с двенадцатью рядами и двадцатью четырьмя столбцами, в которых записывались основные признаки каждого переписываемого человека. Карты укладывались между матрицей из ртутных чашек и набором иголочек на пружинках, и там, где было отверстие, иголочки опускались в чашки, замыкая электрическую цепь. Машина могла высчитывать не только общие итоговые показатели, но и количество людей с определенной комбинацией признаков, например женатых мужчин или женщин, родившихся за границей. Благодаря табуляторам Холлерита, обработка переписи 1890 года была завершена в течение одного года. Это был первый крупный случай использования электросхем для обработки информации, а компания, основанная Холлеритом, после серии слияний и поглощений стала в 1924 году называться корпорацией International Business Machines или IBM.

Иногда инновации рассматривают как накопление сотен маленьких достижений, таких как счетчики и устройства считывания перфокарт. В таких местах, как IBM, которые нацелены на повседневные улучшения, производимые командой инженеров, лучше всего удается понять, как на самом деле возникают инновации. Некоторые из наиболее важных технологий нашей эры, таких как технология для фрекинга[9], созданная в последние шесть десятилетий для добычи природного газа, возникли и благодаря бесчисленным мелким инновациям, но также и благодаря нескольким прорывным идеям.

В случае с компьютерами тоже было много сделано подобных мелких шагов, с помощью которых безымянные инженеры из таких фирм, как IBM, продвинули вперед технологию. Но этого было недостаточно. Хотя машины, производимые корпорацией IBM в начале ХХ века, могли компилировать данные, они не являлись в полном смысле тем, что мы назвали бы компьютером. Они даже не были особо эффективными калькуляторами. Они все-таки были недоделанными устройствами. Кроме сотен мелких достижений, для рождения компьютерной эры потребовалось и несколько крупных прорывов, совершенных гениями-творцами.

Цифровое побеждает аналоговое

Машины, разработанные Холлеритом и Бэббиджем, были цифровыми, а значит, они были рассчитаны на использование цифр – различных дискретных целых чисел, таких как о, 1, 2, 3. В их машинах сложение и вычитание целых чисел происходило при помощи шестеренок и колесиков, одним поворотом которых вводилась только одна цифра, как в счетчиках. Другой подход к вычислениям состоял в том, чтобы создавать устройства, которые могут имитировать или моделировать физические явления, а потом проводить измерения на аналоговой модели для расчета требуемых результатов. Эти машины стали называться аналоговыми компьютерами, поскольку они работали по аналогии. Для расчетов в аналоговых компьютерах использовались не дискретные числа, а непрерывные функции. В аналоговых вычислительных машинах переменная величина, такая как электрическое напряжение, положение веревки на шкиве, гидравлическое давление или измерение расстояния используется в качестве аналога соответствующих величин в задаче, которую предстоит решить. Логарифмическая линейка является аналоговым устройством, а счеты – цифровым. Часы со стрелками – аналоговые, а те, в которых на циферблатах отображаются цифры, – цифровые.

Примерно в то время, когда Холлерит строил свой цифровой табулятор, лорд Кельвин и его брат Джеймс Томсон – два самых выдающихся английских ученых – создавали аналоговую машину. Она разрабатывалась для того, чтобы справиться с трудоемкими решениями дифференциальных уравнений, нужных для создания графиков приливов и таблиц углов наводки при стрельбах, которые позволили бы просчитывать различные траектории полета артиллерийских снарядов. Начиная с 1870-х годов братья разрабатывали систему, которая была основана на планиметре – инструменте, который может измерять площадь двумерной фигуры неправильной формы, например площадь фигуры, ограниченной замкнутой кривой, нарисованной на листе бумаги. Для расчета площади нужно вести по контуру кривой устройством, включающим в себя диск, цилиндр и сферу: вращение большого диска передается цилиндру посредством маленькой сферы, прижатой одновременно к его поверхности и к цилиндру[10]. Рассчитав площадь под кривой таким образом, можно получить решение уравнения интегрированием, другими словами, выполнить основную задачу исчисления. Кельвин и его брат смогли использовать этот метод, чтобы создать “синтезатор гармоник”, который мог за четыре часа составить годовой график приливов и отливов. Но им не удалось преодолеть механические трудности и соединить несколько таких устройств, чтобы решать уравнения с большим количеством переменных.

Задача по соединению друг с другом нескольких интеграторов не была решена до 1931 года, когда профессор Массачусетского технологического института Вэнивар (имя Vannivar рифмуется со словом beaver – бобер) Буш (запомните это имя, его носитель является ключевым персонажем этой книги) сумел построить первый в мире аналоговый электромеханический компьютер. Он назвал свою машину дифференциальным анализатором. Она состояла из шести колесно-дисковых интеграторов, не слишком сильно отличавшихся от интеграторов лорда Кельвина, которые были связаны между собой посредством набора шестеренок, шкивов, валов, вращавшихся с помощью электродвигателей. Бушу помогло то, что он работал в Массачусетском технологическом институте, где вокруг было много специалистов, которые умели собирать и вытачивать сложные детали с большой точностью. В окончательном виде машина, которая была размером с небольшую спальню, могла решать уравнения с огромным числом (до восемнадцати) независимых переменных. В течение следующего десятилетия модификации дифференциального анализатора Буша были собраны в США: на Абердинском испытательном полигоне ВМС штата Мэриленд, в электротехнической школе Мура, в Университете Пенсильвании, а также в Манчестерском и Кембриджском университетах в Англии. Они оказались особенно полезными при составлении таблиц для артиллерийских стрельб, но главное – на них воспитывалось и обучалось новое поколение первооткрывателей компьютеров.

Машине Буша, однако, не суждено было стать важным шагом вперед в истории развития компьютеров, поскольку она была аналоговым устройством. На самом деле она оказалась последним образчиком аналогового компьютера, по крайней мере, в течение многих последующих десятилетий других не было предложено.

Новые подходы, технологии и теории начали появляться в 1937 году, ровно через сто лет после того, как Бэббидж впервые опубликовал свою статью об аналитической машине. Этот год стал “годом чудес” для компьютерной эры, и итогом его стало безоговорочное признание четырех основных свойств, в известном смысле взаимосвязанных, которые определили конструкцию современных компьютеров.

ЦИФРОВОЙ ПОДХОД. Фундаментальной чертой компьютерной революции было то, что в основу были положены цифровые, а не аналоговые компьютеры. Как мы скоро увидим, это произошло по многим причинам, в том числе из-за почти одновременных прорывов в теоретической логике, схемотехнике и технологии электронных двухпозиционных переключателей (работающих в режимах включить/выключить), что сделало более естественным цифровой, а не аналоговый подход. И только в 2010-х годах ученые-компьютерщики, стремясь промоделировать работу человеческого мозга, опять серьезно задумались о возрождении аналогового принципа работы компьютера.

БИНАРНОСТЬ. Мало того, что современные компьютеры стали цифровыми, но цифровая система, которую они используют, это двоичная система, то есть за основание взята двойка, что означает, что используются только цифры 0 и 1, а не все десять цифр нашей обычной десятичной системы. Как и многие математические понятия, двоичная система была впервые разработана Лейбницем в конце XVII века. В 1940-е годы становилось все более очевидным, что для выполнения логических операции с использованием схем, содержащих двухпозиционные переключатели, бинарная система подходила лучше, чем другие цифровые системы, в том числе десятичная.

ЭЛЕКТРОНИКА. В середине 1930-х годов британский инженер Томми Флауэрс разработал метод использования электронных ламп в электронных схемах в качестве двухпозиционных переключателей. До тех пор в схемах использовались механические и электромеханические переключатели, такие как пружинные электромагнитные реле, применявшиеся телефонными компаниями. Ранее электронные лампы в основном использовались для усиления сигналов, а не как двухтактные переключатели. При использовании электронных компонентов, таких как электронные лампы, а позже – транзисторов и микросхем, компьютеры могут работать в тысячи раз быстрее, чем машины, в которых имеются движущиеся электромеханические переключатели.

УНИВЕРСАЛЬНОСТЬ. Наконец, машины должны иметь возможность быть программируемыми и перепрограммируемыми для решения различных задач; более того, они должны уметь перепрограммировать сами себя. Они должны выполнять не только один вид математических расчетов, например решать дифференциальные уравнения, но и уметь решать разные другие задачи, а также наряду с числами оперировать множеством других символов, включая слова, музыку, фотографии, и тогда реализовались бы те возможности, которые леди Лавлейс вообразила себе при описании аналитической машины Бэббиджа.

Инновации рождаются, когда проросшие семена падают на благодатную почву. Но огромный успех в развитии компьютеров в 1937 году объяснялся не одной причиной, а комбинацией возможностей, идей и потребностей, возникших одновременно во множестве мест. Как это часто бывает в истории изобретений, особенно относящихся к информационным технологиям, просто настало время и ситуация созрела. Развитие электронных ламп в радиоиндустрии подготовило почву для создания электронных цифровых схем. Это сопровождалось открытиями в области теоретической логики, которые сделали применение этих схем более целесообразным. И, кроме того, приход новых компьютеров ускорил барабанный бой приближающейся войны. Когда страны начали вооружаться в преддверии назревающего конфликта, стало ясно, что вычислительная мощность страны была не менее важна, чем ее огневая мощь. Успехи в разных местах подстегивали друг друга и происходили почти одновременно и стихийно в Гарварде и Массачусетском технологическом институте, в Принстоне и в Bell Labs, в берлинских квартирах и даже, что совсем невероятно, но любопытно, в подвальном помещении города Эймса в штате Айова.

В основе всех этих достижений были некоторые красивые (Ада могла бы назвать их поэтическими) открытия в области математики. Одно из этих открытий привело к формальному понятию “универсального компьютера” – машины общего назначения, которую можно было бы запрограммировать для выполнения любой логической задачи и с помощью которой можно было бы промоделировать поведение любого другого логического устройства. Эта идея возникла как мысленный эксперимент блестящего английского математика, история жизни которого одновременно и воодушевляющая, и трагичная.

Алан Тьюринг

Алан Тьюринг родился в семье, принадлежавшей к захудалому британскому аристократическому роду1, и получил суровое воспитание. Его предку в 1638 году был дарован титул баронета, который унаследовал один из его племянников и его потомки. Но младшим сыновьям, которыми были Тьюринг, его отец и дед, не досталось никакой земли и не так много богатства. Большинство представителей этой ветви рода становились либо священниками, как дедушка Алана, либо шли на колониальную гражданскую службу, как его отец, бывший мелким администратором в отдаленных районах Индии. Алан был зачат в Чхатрапуре, в Индии, а родился 23 июня 1912 года в Лондоне, где его родители проводили отпуск. Вскоре родители уехали обратно в Индию на несколько лет и передали его и его старшего брата на воспитание в семью отставного армейского полковника и его жены, живших в приморском городке на южном побережье Англии. “Я не детский психолог, – писал позднее его брат Джон, – но я уверен, что это плохо для грудного ребенка, когда его отрывают от родной семьи и помещают в чужую 2.

Когда его мать вернулась в Англию, они с Аланом прожили вместе несколько лет, а затем в тринадцать лет он был отправлен в школу-интернат. Он поехал туда один на велосипеде, и ему потребовалось два дня, чтобы преодолеть более ста километров, отделявшие дом от школы, – его тяга к одиночеству проявилась в любви к длинным пробежкам и езде на велосипеде. Кроме того, в его характере имелась черта, роднившая его со многими другими инноваторами, которая так хорошо была описана его биографом Эндрю Ходжесом: “Алан с трудом учился чувствовать тонкую грань, отделявшую инициативность от неповиновения”3.

В своих воспоминаниях его мать так описала обожаемого ею сына:

Алан был ширококостным, крепкого телосложения и высокого роста, с квадратной, четко очерченной челюстью и непослушными каштановыми волосами. Его наиболее примечательной особенностью были глубоко посаженные, ясные, голубые глаза. Короткий, слегка вздернутый нос и линия рта, указывающая на чувство юмора, придавали ему юный, а иногда даже детский вид. Настолько, что, когда ему было сильно за тридцать, его временами по ошибке принимали за студента. Он был достаточно неряшлив, что проявлялось в его одежде и привычках. Он обычно носил слишком длинные волосы, на лоб падала челка, которую он откидывал обратно взмахом головы… Он мог быть отрешенным и мечтательным, погруженным в свои мысли, так что иногда казался нелюдимым. Временами его застенчивость приводила его к крайней бестактности. Он считал, что на самом деле ему очень бы подошла уединенная жизнь в средневековом монастыре4.

В школе-интернате в Шерборне он понял, что является гомосексуалом. Он увлекся белокурым стройным одноклассником – Кристофером Моркомом, с которым они вместе занимались математикой и обсуждали философские проблемы. Но зимой, еще до того, как Морком успел закончить школу, он умер от туберкулеза. Тьюринг написал матери Моркома: “Я просто боготворил землю, по которой он ступал, и, вынужден признать, не очень пытался это скрыть”5. Из письма Тьюринга к его матери видно, что он пытался утешиться в вере: “Я чувствую, что должен буду опять где-то встретиться с Моркомом, и там нас ожидает работа, которую мы там будем делать вместе, как я надеялся, что мы будем ее делать здесь. Теперь, когда я остался один, мне придется трудиться над этим в одиночку, и я не должен подвести его. Если мне это удастся, когда я присоединюсь к нему там, я окажусь достойнее его общества, чем сейчас”. Но эта трагедия подорвала веру Тьюринга в бога. Оказалось также, что он стал еще большим интровертом, и с тех пор он с трудом вступал в близкие отношения. Директор пансиона сообщил его родителям на Пасху 1927 года: “Нет сомнения, что он не «нормальный» мальчик – не в том смысле, что хуже других, но, вероятно, менее счастливый”6.

В последний год обучения в Шерборне Тьюринг получил стипендию для учебы в Королевском колледже Кембриджа, куда он поступил в 1931 году и стал там изучать математику. Одной из трех книг, которые он купил на деньги от какой-то премии, была книга “Математические основы квантовой механики” Джона фон Неймана – великолепного математика венгерского происхождения, который первым разработал архитектуру современного компьютера. Тьюринг особенно заинтересовался аппаратом математической статистики, с помощью которой описываются события в квантовой физике на субатомном уровне и согласно которой они являются вероятностными, а не определяются соответствующими детерминистскими законами. Он считал (по крайней мере, пока был молод), что эта же неопределенность и неоднозначность на субатомном уровне, вероятно, позволяет человеку иметь свободу воли, которая, если это так, отличает его от машин. Другими словами, поскольку события на субатомном уровне не предопределены, не предопределены наши мысли и действия. Он объяснил это в письме к матери Моркома так:

Обычно в науке предполагалось, что, если в любой конкретный момент все о Вселенной известно, мы можем предсказать, что с ней случится в каждый момент в будущем. Это представление возникло из-за очень успешных астрономических предсказаний. Более современная наука, однако, пришла к выводу, что, когда мы имеем дело с атомами и электронами, мы абсолютно не в состоянии знать точное их состояние, поскольку наши инструменты сами делаются из атомов и электронов. Идея о том, что состояние Вселенной возможно в точности узнать, должна действительно нарушаться на малых масштабах. Это означает, что теория, которая утверждает, что, если затмения и подобные им события предопределены, значит, также предопределены и все наши действия, тоже оказывается неправильной. Мы обладаем волей, которая способна определять действие атомов, вероятно, в небольшом участке головного мозга или, возможно, во всем мозгу7.

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

Еще ему интуитивно казалось, что подобно неопределенности, царящей в субатомном мире, существуют также математические задачи, которые не могут быть механически решены, и им суждено оставаться неразрешенными. В то время математики интенсивно работали над вопросами полноты и непротиворечивости логических систем, отчасти под влиянием Давида Гильберта – геттингенского гения, который, помимо многих других своих достижений, одновременно с Эйнштейном сформулировал общую теорию относительности в математической форме.

На конференции 1928 года Гильберт поставил три фундаментальных вопроса, касающихся любой формальной системы математики: (і) Полон ли набор правил в этой системе, в том смысле, что любое утверждение может быть доказано (или опровергнуто) с помощью правил только одной этой системы? (2) Является ли этот набор непротиворечивым (и значит, никакое утверждение не может быть признано одновременно и верным и ложным)? (з) Существует ли какая-то процедура, с помощью которой можно определить, является ли данное конкретное утверждение доказуемым, или остается возможность того, что некоторым утверждениям (к таким, например, относятся математические загадки, такие как последняя теорема Ферма, гипотеза Гольдбаха или гипотеза Коллатца) суждено оставаться неразрешенными? Гильберт думал, что ответы на первые два вопроса должны быть положительными, а третий считал схоластическим. Он сформулировал это просто: “Нет такого понятия, как неразрешимая задача”.

В течение трех лет математик-логик австрийского происхождения Курт Гёдель (тогда ему было двадцать пять лет, и он жил с матерью в Вене) получил на первые два из этих вопросов неожиданные ответы: “нет” и “нет”. В своей “теореме о неполноте” он доказал, что существуют утверждения, которые не могут быть ни доказаны, ни опровергнуты. Среди них, если немного упростить, оказались те, которые были сродни таким самореферентным утверждениям, как “это утверждение недоказуемо”. Если утверждение верно, то в нем декларируется, что мы не можем доказать, что оно верно; если оно ложно, это также приводит к логическому противоречию. Это отчасти напоминает древнегреческий “парадокс лжеца”, в котором истинность утверждения “данное утверждение ложно” не может быть определена. (Если утверждение истинно, то оно также и ложно, и наоборот.)

Приводя в качестве примера утверждения, которые не могут быть ни доказаны, ни опровергнуты, Гёдель показал, что любая формальная система, достаточно мощная, чтобы выражать обычную математику, неполна. Он также сформулировал сопутствующую теорему, которая с определенностью дала отрицательный ответ на второй вопрос Гильберта.

Оставался третий вопрос Гильберта – вопрос о разрешимости, или, как Гильберт назвал его, Entscheidungsproblem, “проблема разрешения”. Несмотря на то, что Гёдель привел утверждения, которые не могут быть ни доказаны, ни опровергнуты, возможно, этот странный класс утверждений можно было бы как-то определить и изолировать, оставив остальную часть системы полной и непротиворечивой. Для этого нам потребовалось бы найти какой-то метод принятия решения о том, является ли доказуемым данное логическое утверждение. Когда великий профессор из Кембриджа математик Макс Ньюман читал Тьюрингу лекцию, в которой рассказывал о вопросах Гильберта, он сформулировал проблему Entscheidungsproblem в следующем виде: “Существует ли «механический процесс», который можно было бы использовать для определения доказуемости данного логического утверждения”?

Тьюрингу понравилась концепция “механического процесса”. Однажды летом 1935 года он, как обычно, совершал пробежку вдоль реки Или, но километра через три остановился и прилег среди яблонь в Гранчестер-Медоуз, решив обдумать этот вопрос. Он воспринял понятие “механический процесс” в буквальном смысле и попытался придумать механический процесс – воображаемую машину – и применить его к решению данной проблемы8.

“Логическая вычислительная машина”, которую он придумал (как мысленный эксперимент, а не как настоящую машину, которую нужно создать), была на первый взгляд довольно проста, но теоретически могла выполнять любые математические вычисления. Она состояла из бумажной ленты неограниченной длины, на которой внутри квадратиков содержались символы, в простейшем двоичном примере этими символами могли быть просто единица и пробел. Машина могла бы читать символы на ленте и выполнять определенные действия согласно заданной ей “таблице команд 9.

Таблица команд должна указать машине, что делать при любой конфигурации, в которой она оказалась, и в зависимости от того, какой символ, если таковые имеются, она обнаружила в соответствующем квадрате. Например, таблица команд для конкретной задачи может состоять в том, что если машина была в конфигурации 1 и увидела 1 в квадрате таблицы команд, то она должна передвинуться на одну клетку вправо и перейти в конфигурацию 2. Довольно удивительно для нас, но, видимо, не для Тьюринга, что такая машина, если ей задать надлежащую таблицу инструкций, может решать любые математические задачи независимо от того, насколько они сложны.

Как может эта воображаемая машина ответить на третий вопрос Гильберта, то есть на проблему разрешения? Тьюринг подошел к проблеме, уточнив концепцию “вычислимых чисел”. Любое действительное число, которое определено с помощью математического правила, можно найти с помощью логической вычислительной машины. Даже иррациональное число, напримерр, можно вычислять с бесконечной точностью, используя конечную таблицу команд. Таким же образом можно рассчитать логарифм 7, квадратный корень из 2, или последовательность чисел Бернулли (в составленим алгоритма вычисления которых участвовала Ада Лавлейс), или любое другое число или ряд, независимо от того, насколько сложно их вычислять, лишь бы эти вычисления задавались конечным числом правил. Все они были в терминологии Тьюринга “вычислимыми числами”.

Тьюринг продвинулся дальше и показал, что невычислимые числа также существуют. Это было связано с проблемой, которую он назвал “проблемой остановки”. Как он показал, никаким методом заранее нельзя определить, приведет ли любая заданная таблица инструкций в сочетании с любым заданным набором исходных данных к тому, что машина найдет ответ, или же она войдет в вычисление некоторых циклов и будет продолжать пыхтеть бесконечно долго, так и не получив ответа. Неразрешимость проблемы остановки, как он показал, означает, что нет решения и у Entscheidungsproblem – проблемы разрешения Гильберта. Несмотря на надежды Гильберта, оказалось, что никакая механическая процедура не может определить доказуемость каждого математического утверждения. Теория Гёделя о неполноте, неопределенность квантовой механики и ответ Тьюринга на третий вопрос Гильберта – все они наносили удары по механической, детерминистской и предсказуемой Вселенной.

Статья Тьюринга была опубликована в 1937 году под не очень выразительным названием “О вычислимых числах и их приложении к Entscheidungsproblem”. Его ответ на третий вопрос Гильберта оказался полезным для развития теории математики. Но гораздо более важным стал “побочный продукт” доказательства Тьюринга – его концепция логической вычислительной машины, которая вскоре стала известна как “машина Тьюринга”. В статье он утверждал: “Можно изобрести единую машину, которую можно использовать для вычисления любого вычислимого ряда”10. Такая машина была бы способна выполнить команды, данные любой другой машине, и решить любые задачи, которые та машина может решить. В сущности, она была воплощением мечты Чарльза Бэббиджа и Ады Лавлейс об универсальной машине самого общего назначения.

Другое и менее красивое решение для Entscheidungsproblem с более громоздким названием “Бестиповое лямбда-исчисление” раньше в этом же году опубликовал Алонзо Чёрч, математик из Принстона. Руководитель Тьюринга – профессор Макс Ньюман – решил, что Тьюрингу было бы полезно поучиться у Чёрча. В своем рекомендательном письме Ньюман описал огромный потенциал Тьюринга. Он также добавил более личную рекомендацию, основанную на особенностях характера Тьюринга. “Он работал без всякого руководства или обсуждения с кем-либо, – написал Ньюман, – и поэтому важно, чтобы он как можно скорее вступил в контакт с ведущими специалистами в этой области, чтобы не превратился в закоренелого отшельника”11.

Тьюринг действительно предпочитал вести одинокий образ жизни. Временами из-за своей гомосексуальности он чувствовал себя чужим везде; он жил один и избегал серьезных личных отношений. В какой-то момент он предложил брак девушке-коллеге, но потом был вынужден признаться ей, что он гей; она не пришла в ужас и по-прежнему готова была выйти за него замуж, но он полагал, что это будет обманом, и решил дать задний ход. Тем не менее он не стал “законченным отшельником”. Он научился работать с другими сотрудниками в команде, что явилось ключевым обстоятельством, позволившим его абстрактным теориям превратиться в реальные, значимые изобретения.

В сентябре 1936 года, в ожидании опубликования своей статьи, двадцатичетырехлетний докторант плыл в Америку в каюте для пассажиров третьего класса на борту старенького океанского лайнера RMS Berengaria, прихватив с собой ценный латунный секстант. Его кабинет в Принстоне находился в здании математического факультета, который и тогда размещался в Институте перспективных исследований, где царили великие Эйнштейн, Гёдель и фон Нейман. Любящий новые знакомства и очень общительный фон Нейман особенно заинтересовался работой Тьюринга, хотя в человеческом плане они были очень разными.

Поистине тектонические сдвиги и почти одновременные открытия 1937 года не были напрямую связаны с публикацией статьи Тьюринга. На самом деле, вначале она не привлекла к себе внимания. Тьюринг попросил свою мать отправить оттиски его статьи философу и математику Бертрану Расселу и полудюжине других известных ученых, но единственный серьезный отзыв написал Алонзо Чёрч, который мог позволить себе дать лестную рецензию, поскольку он раньше Тьюринга решил проблему Гильберта. Чёрч был не только щедр – именно он ввел термин “машина Тьюринга” для мысленного эксперимента, который Тьюринг назвал “Логической вычислительной машиной”. Таким образом, в двадцать четыре года Тьюринг заработал себе имя за разработку одной из важнейших концепций цифровой эры12.

Клод Шеннон и Джордж Роберт Стибиц из 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.

Говард Айкен

А в это же время в 1937-м аспирант из Гарварда по имени Говард Айкен пытался сделать утомительные расчеты для своей диссертации по физике, используя арифмометр. Когда он стал уговаривать университет построить более сложный компьютер для ускорения работы, декан его факультета вспомнил, что на чердаке научного центра Гарвардского университета валялись какие-то медные колесики, оставшиеся от устройства вековой давности, похожие на то, о чем говорил Айкен. Когда Айкен обследовал чердак, он нашел одну из шести демонстрационных моделей разностной машины Чарльза Бэббиджа, которую в нескольких экземплярах изготовил сын Бэббиджа Генри. Айкен пришел в восторг от идей Бэббиджа и перенес набор медных колесиков в свой кабинет. “У нас было два колесика Бэббиджа, – вспоминал он, – это были колеса, которые я позже вмонтировал в корпус своего компьютера”17.

Той осенью, как раз когда Стибиц готовил свою демонстрационную кухонную модель, Айкен написал двадцатидвухстраничную служебную записку своим гарвардским руководителям и специалистам из IBM, пытаясь их уговорить профинансировать современную версию цифровой машины Бэббиджа. Его записка начиналась словами: “Желание сэкономить время и умственные усилия при арифметических вычислениях, а также устранить ошибки, к которым склонен человек, вероятно, так же старо, как сама наука арифметика”18.

Айкен вырос в штате Индиана, и детство у него было трудное. Как-то раз, когда ему было двенадцать лет, ему пришлось кочергой защищать мать от пьяного отца, который потом бросил семью. Поэтому юный Говард был вынужден уйти из школы в девятом классе – нужно было зарабатывать. Сначала он устроился телефонным мастером, затем нашел ночную работу в местной энергетической компании, а днем посещал технический колледж. Он своими руками добился успеха, но у него испортился характер. С подчиненными он вел себя как надсмотрщик, позволяющий себе не сдерживаться. Про него говорили, что он похож на надвигающуюся грозу19.

В Гарварде мнения по поводу создания предлагаемой Айкеном вычислительной машины разошлись. В вопросе о предоставлении ему постоянной должности профессора также не было единства, поскольку его деятельность, казалось, больше относилась к области технологии, чем науки. (У некоторой части преподавательского сообщества Гарварда считалось оскорбительным называть кого-то практиком, а не ученым.) Но Айкена поддержал президент университета – Джеймс Брайант Конант, которому, как председателю Национального исследовательского комитета обороны США, хотелось продемонстрировать, что Гарвард участвует и в научных, и в промышленных, и в военных разработках. Сотрудники физического факультета, однако, были большими пуристами, чем президент. Декан факультета в декабре 1939 года написал Конанту, что машину “можно создать, если найдутся деньги, но это не более важная задача, чем многие другие”, а факультетский комитет заявил относительно Айкена: “Ему нужно дать понять, что подобная деятельность не увеличит его шансы на соискание профессорского звания”. В конце концов Конант одержал верх и дал указание Айкену заниматься машиной20.

В апреле 1941 года, когда по чертежам Айкена в лаборатории IBM в Эндикотте (штат Нью-Йорк) был создан компьютер Mark I, Айкен покинул Гарвард и отправился служить в ВМС США. Два года он преподавал в Военно-морской военной минной школе в штате Вирджиния в звании капитан-лейтенанта. Один коллега описал его как “вооруженного до зубов формулами длиной с комнату и теориями” гарвардского ученого, который напоролся “на ораву южан-тупиц”, ни один из которых “не имел понятия об исчислении”21. Большую часть времени он проводил в раздумьях о машине Mark I и иногда надевал парадную военную форму и отправлялся в Эндикотт22.

Служба дала ему одно важное преимущество: в начале 1944 года, когда IBM собиралась отправить готовый Mark I в Гарвард, Айкен смог убедить командование ВМС принять машину на свой баланс и назначить его ответственным за нее. Это помогло ему обойти академическую бюрократию Гарварда, которая все еще упрямо не хотела предоставлять ему постоянную ставку профессора. Гарвардская расчетная лаборатория стала на время военным объектом, и все сотрудники Айкена были военнослужащими ВМС, носившими на работе форму. Он называл их своим “экипажем”, они называли его “командиром”.

В конструкции Mark I позаимствовано много идей у машины Бэббиджа. Он тоже был цифровым, хотя и не двоичным, его колесики имели десять позиций. Вдоль его пятнадцатиметрового вала располагалось семьдесят два счетчика, которые могли запоминать числа длиной до двадцати трех разрядов, в окончательном виде он весил пять тонн, имел примерно двадцать пять метров в длину и семнадцать в ширину. Вал и другие движущиеся части поворачивались с помощью электрических двигателей. Но он был медлительным. Вместо электромагнитных реле в нем использовались механические, которые открывались и закрывались с помощью электрических моторчиков, и это означало, что требовалось около шести секунд, чтобы проделать операцию умножения. Для сравнения, в машине Стибица для этого требовалась одна секунда. Mark I, однако, обладал одной замечательной особенностью, которая станет одной из основных черт современных компьютеров: он был полностью автоматическим. Программы и данные вводились с помощью бумажной ленты, и она могла работать в течение нескольких дней без какого-либо участия человека. Это дало Айкену право провозгласить, что “мечта Бэббиджа сбылась”23.

Конрад Цузе

Тем временем в 1937 году немецкий инженер дома собирал свою машину, и он опередил всех остальных изобретателей, хотя они и не подозревали об этом. Конрад Цузе заканчивал конструировать прототип двоичного калькулятора, который мог читать инструкции с перфоленты. Однако по крайней мере первая версия машины, названной им Zi, была не электрической и не электронной, а механической.

Как и многие инноваторы цифровой эры, Цузе с детства обожал и искусство, и технику. После окончания технического колледжа он получил работу инженера-прочниста в самолетостроительной компании в Берлине, и ему пришлось решать линейные уравнения, которые включали все виды нагрузки, силы и коэффициенты упругости. Даже при использовании механических калькуляторов одновременно решить больше шести линейных уравнений с шестью неизвестными менее чем за день человеку было почти невозможно. А если бы в уравнениях было двадцать пять переменных, это могло занять год. И потому Цузе, как и многие другие, загорелся идеей механизировать утомительный процесс решения математических уравнений. Он превратил гостиную своих родителей в квартире, расположенной вблизи берлинского аэропорта Темпельхоф, в мастерскую24.

В первой версии машины Цузе двоичные числа запоминались с помощью тонких металлических пластин с штырьками и прорезями, которые он и его друзья делали ножовкой. Сначала данные и программы вводились с помощью перфолент, но вскоре он перешел на использованную 35-миллиметровую кинопленку, которая оказалась не только прочнее, но и дешевле. Его компьютер Zi был завершен в 1938 году, и он смог справляться с несколькими проблемами, хотя и работал не очень надежно, поскольку все его компоненты были сделаны вручную и часто давали сбои. К сожалению, Цузе работал в условиях, непохожих на условия в Bell Labs, он не мог работать рука об руку с инженерами.

Однако Zi показал, что теоретически логическая концепция Цузе работоспособна. Его друг по колледжу Гельмут Шрайер предложил сделать следующую версию машины, использовав электронные лампы вместо механических переключателей. Если бы они занялись этим сразу, то вошли бы в историю как первые изобретатели работающего современного компьютера: бинарного, электронного и программируемого. Но Цузе, а также эксперты, с которыми он консультировался в техническом колледже, отказались от создания устройства с почти двумя тысячами электронных ламп из-за его дороговизны25.

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

В 1939 году Цузе начал работу над третьей моделью – Z3, в которой использовались электромеханические реле как для арифметического устройства, так и для блоков памяти и управления. В 1941 году она была завершена и стала первым полностью работающим универсальным программируемым цифровым компьютером. И даже хотя в нем не был заложен способ напрямую совершать условные переходы и ветвление в программах, он теоретически мог работать как универсальная машина Тьюринга. Его главное отличие от более поздних компьютеров состояло в том, что в нем использовались неповоротливые электромагнитные реле, а не электронные компоненты, такие как электронные лампы или транзисторы.

Друг Цузе Шрейер продолжал писать докторскую диссертацию под названием “Реле на лампах и методы их переключения”, в которой описывался способ создания мощного и быстрого компьютера на электронных лампах. Но когда они с Цузе в 1941 году предложили его немецкой армии, командование заявило, что для создания машины потребуется около двух лет, а они уверены, что они выиграют войну раньше26. Военных больше интересовало производство оружия, а не компьютеров. В результате Цузе оторвался от своей работы по конструированию компьютеров и отправился обратно на завод по сборке самолетов. В 1943 году, когда начались бомбардировки Берлина союзниками, его компьютеры и чертежи были уничтожены.

Цузе и Стибиц, работая независимо друг от друга, пришли к использованию реле в схемах, которые могли делать двоичные вычисления. Как они могли в одно и то же время прийти к этой идее, когда контакты между этими двумя группами из-за войны были невозможны? Частично ответ состоит в том, что технологический и научный прогресс привели к тому, что момент настал.

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

Джон Винсент Атанасов

В 1937 году другой изобретатель, находившийся далеко и от Цузе, и от Стибица – в Айове, также экспериментировал с цифровыми схемами. Имя изобретателя – Атанасов, он напряженно работал в своем подвале, где и произошел очередной исторический прорыв: он создал вычислительное устройство, в котором использовались электронные лампы, по крайней мере в части схем. В каком-то смысле его машина была менее продвинутой, чем другие, – она не была ни программируемой, ни универсальной. Она не была и полностью электронной, поскольку в ней использовались некоторые медленно движущиеся механические элементы. И хотя он построил модель, которая теоретически могла производить расчеты, он так и не смог заставить ее надежно работать. Тем не менее Джон Винсент Атанасов, которого жена и друзья называли Винсентом, заслуживает чести называться первопроходцем, поскольку он придумал первый частично электронный цифровой компьютер. Однажды декабрьским вечером в 1937 году, когда он долго мчался непонятно куда на машине с бешеной скоростью, он вдруг понял, как создать такой компьютер27.

Атанасов родился в 1903 году. Его отец был эмигрантом из Болгарии, а мать принадлежала к одной из старейших семей Новой Англии. Винсент был старшим из семи детей. Отец работал инженером на электростанции, находящейся в ведении Томаса Эдисона в Нью-Джерси, а затем переехал с семьей во Флориду – в городок, расположенный к югу от Тампы. В девять лет Винсент помог отцу провести в их флоридский дом электричество, и отец подарил ему логарифмическую линейку производства компании Дицгена. Он позже вспоминал: “Эта логарифмическая линейка была моей любимой игрушкой”28. В раннем возрасте он погрузился в изучение логарифмов с энтузиазмом, который кажется немного дурацким, хотя он рассказывал об этом с серьезным видом: “Можете ли вы себе представить, как мальчик в девять лет, у которого на уме бейсбол, может измениться от [знакомства с логарифмами]? Бейсбол был почти забыт, когда я приступил к серьезному исследованию логарифмов”. За лето он посчитал, чему равен логарифм 5 по основанию е, потом, еще в средней школе, с помощью своей матери (когда-то она была учительницей математики) освоил дифференциальное исчисление. Отец взял его на фосфатный завод, где работал инженером-электриком, и показал, как работают генераторы. Винсент закончил старшие классы средней школы за два года, выдерживая двойную нагрузку, и получил по всем предметам высшие оценки.

Загрузка...