Игра в имитацию
Шрифт:
После разработки «разностной машины» для механизации конкретного числового метода, использовавшегося в построении математических таблиц, Бэббидж задумал (в 1837 г.) «аналитическую машину» для механизации всех математических операций. Она воплощала главную идею замены инженерства различных машин для выполнения разных задач офисной работой по созданию новых инструкций для тех же машин. У Бэббиджа не было теории, подобной теории «Вычислимых чисел», для аргументированного обоснования идеи универсальности, и его внимание было сфокусировано на операциях с использованием чисел в десятичной системе счисления. И все же он ощущал, что ее механизм мог быть применим для производства операций над символами любых типов, и в этом и в других отношениях «аналитическая машина» приближалась в своей концепции к универсальной машине Тьюринга. Бэббидж, по сути, хотел «сканнер», обрабатывающий поток инструкций и вводящий их в действие. Ему пришла в голову идея кодирования инструкций на перфорированных картах, таких, которые тогда использовались для ткачества сложных узоров на парче. Его планы также требовали позиционного хранения чисел на регистрах из зубчатых колес. Каждая программная карта, содержащая команду, задавала бы определенное арифметическое действие, напр., «вычесть число в позиции 5 из числа в позиции 8 и поместить результат в позицию 16». Таким образом, машина, названная им «мельницей», выполняла бы арифметические действия, но самое важное новаторство в планах Бэббиджа сводилось вовсе не к эффективной механизации сложения и умножения. Его концепция заключалась в организации или логическом контроле, управлении арифметическими операциями. И это было главное!
В частности, Бэббидж сформулировал важную идею о возможности совершения перемещений вперед-назад в потоке программных карт, пропусков или повторов, сообразно критериям, которые должны были быть протестированы самой машиной в ходе производимых ей вычислений. Эта идея «условного ветвления» явилась самой передовой идее Бэббиджа. Она была равноценна «свободе», данной машинам Тьюринга, т. е. изменению «конфигурации» сообразно той информации, что считывалась с ленты. И именно она сделала проектируемую машину Бэббиджа универсальной машиной, что ученый очень хорошо сознавал.
Без «условного ветвления», способности механизировать слово «ЕСЛИ», самая выдающаяся вычислительная машина была бы не более, чем возвеличенным арифмометром — сборочным конвейером, где все, от начала и до конца, установлено, заложено, без всякой возможности вмешательства в процесс, однажды начатый. «Условное ветвление» в этой модели явилось бы аналогом конкретизации не только обычных, повседневных задач работников, но и задач по тестированию, решению и контролированию операций управления. Бэббидж имел все возможности, чтобы постичь и проникнуться этой идеей; его книга «Экономика машин и производства» стала базисом современного управления.
Эти идеи на стол лет опередили свое время и никогда не были воплощены в какой-либо действующей машине при жизни Бэббиджа. Государственное финансирование не могло разрешить проблем, поставленных его сверхамбициозными техническими условиями. Продвижению проекта не способствовало презрение Бэббиджа к кураторам, попечителям, администраторам и другим ученым; его собственные усилия не могли вывести механическую инженерию на совершенно новый уровень, и его личного увлеченного проникновения в каждый теоретический и практический аспект работы было недостаточно, чтобы преодолеть эти трудности.
На самом деле, минуло точно сто лет с появления концепции Аналитической машины, пока не возникли сущностно новые подвижки, как в теории, так и в конструировании такой универсальной машины. В теоретическом плане их аккумулировали изданные в 1937 г. «Вычислимые числа», в которых все эти идеи приобрели четкую, точную и продуманную форму, в практическом плане — неизбежная зеркальная война на фоне ожившей и расширившейся электротехнической промышленности 1930-х гг., наделившей соперничавшие силы новыми возможностями.
Первая разработка имела место в Германии 1937 г., в берлинском доме Конрада Цузе, инженера, давшего вторую жизнь многим идеям Бэббиджа (правда, увы, не его идее «условного ветвления»). Как и машина Бэббиджа, первая машина Цузе, созданная в 1938 г., была механической, а не электрической. Но он избежал применения тысяч соединительных десятиспицевых зубчатых колес, которые требовались Бэббиджу, прибегнув к простому, но целесообразному решению: его машина работала в двоичной системе счисления. Это решения не являлось значительным теоретическим прогрессом, но с любой практической точки зрения это было огромное упрощение. И это было также освобождение от обычного инженерного допущения о том, что числа должны быть представлены в десятичной системе. Эту идею применил одновременно с Цузе и Алан, в своем электрическом умножителе 1937 г. Цузе пошел еще дальше в разработке новых версий своей машины, сделав ставку на использование электромагнитных реле, а не механических элементов, и вместе со своими соратниками начал еще до окончания войны эксперименты с электрониыми устройствами. Вычислительные машины Цузе использовались в авиастроении, а не для взлома кодов; утверждалось, что война в скором времени будет закончена. Короткий век нацизма обрек Цузе в 1945 г. на отчаянные попытки спасти свои труды от уничтожения.
Эти события были не известны на стороне союзников, где велись условно параллельные разработки, только большего масштаба. В Британии не было такой вычислительной машины, управляемой последовательностью команд, за исключением «Колосса». И такая ситуация разительно контрастировала с ситуацией в Соединенных Штатах. Британский успех, отчаянный, но триумфальный, был достигнут в последний момент отдельными личностями, отдавшими все свои силы гражданскому служению в военное время. Американцы, гораздо более искусные в капиталистической предприимчивости, опередили британцев на несколько лет в вынашивании двух разных, возможно, несколько прозаических подходов к идее Бэббиджа даже еще в мирное время, точно так же, как они опередили их с аналоговым дифференцирующим устройством начала 1930-х годов. А в 1937 г. гарвардский физик Говард Эйкен начал реализовывать эту идею с применением электромагнитных реле. Спроектированная в результате машина была смонтирована «Ай-Юи-Эм» и передана ВМФ США для секретной работы в 1944 г. Машина Эйкена была также более традиционной, чем машина Цузе, в том, что арифметические операции в ней производились в десятичной системе счисления.
Второй американский проект разрабатывался в «Белл Телефон Лабораторис». Там инженер Джордж Стибиц сначала только обдумывал о создании машин с реле для выполнения арифметический операций над комплексными числами, но с началом войны добавил в их опции способность осуществлять фиксированную последовательность арифметический действий. Разработка его «Модели 3» велась в нью-йоркском здании в то самое время, когда Алан там находился, но она не привлекла его внимания.
Однако, был другой человек, который провел доскональное исследование двух этих перспективных проектов и который, как и Алан, обладал таким умом, чтобы составить себе более абстрактное представление того, что происходило. Это был еще один математик войны специалистов, Джон фон Нейман. С 1937 г. он был связан (в качестве консультанта) с лабораторией баллистических исследований армии США. С 1941 г. большую часть своего времени Нейман посвящал прикладной математике взрывов и аэродинамики. В первые шесть месяцев 1943 г. он находился в Британии, обсуждая эти вопросы с Джефри Инграмом Тейлором, британским специалистом в области физики и прикладной математики. Именно тогда Нейман получил первый опыт программирования большой вычислительной машины, в смысле разработки ее наилучшего устройства людьми, работавшими на настольных арифмометрах. В сентябре 1943 г., по возвращении в Соединенные Штаты, Нейман привлечен к проекту по созданию атомной бомбы и столкнулся со схожими проблемами ударных волн, прогнозирование воздействия которых численными методами требовало месяцы упорной работы. В 1944 г. в поисках помощи он предпринял осмотр доступных машин. У. Уивер из Национального комитета по научным исследованиям и разработкам свел его со Стибицем, и 27 мая 1944 г. Нейман написал Уиверу:
Я напишу Стибицу: мое желание узнать больше о релейных вычислительных системах, как и ожидания касаемо перспектив в этом направлении существенно возросли 10 апреля он написал Уиверу еще одно письмо, в котором сообщил, что Стибиц показал ему «принцип и действие релейных счетных устройств». 14 апреля он написал Рудольфу Э. Пайерлсу в Лос-Аламос о «проблеме ударных волн», сообщив, что, похоже, ее можно механизировать, и добавив, что он теперь в контакте также с Эйкеном. В июле 1944 г. состоялись переговоры по использованию машины «Гарвард Ай-Би-Эм». Но затем все изменилось. Так как давление требований военного времени вызвало к жизни такую же технологическую революцию, какая случилась и в Блетчли, и при том примерно в то же самое время. В совершенно ином месте, а именно на инженерном факультете Пенсильванского университета (в школе Мура), в апреле 1943 г. началась работа на еще одной большой вычислительной машиной — ЭНИАК — Электронным числовым интегратором и вычислителем.
Новую машину проектировали инженеры-электронщики Джон Преспер Екерт и Джон Уильям Мокли, хотя фон Нейман впервые узнал о ней — по-видимому случайно — из разговора на железнодорожной станции с Г. Гольдстайном, математиком, связанным с проектом. Фон Нейман ухватился за возможности, сулимые машиной, которая после создания могла бы производить арифметические операции в тысячу раз быстрее, чем машина Эйкена. С августа 1944 г. он регулярно посещал встречи коллектива ЭНИАК, и 1 ноября 1944 г. написал Уиверу:
Есть еще ряд вопросов, связанных преимущественно с автоматизированными вычислениями, о которых мне бы хотелось переговорить с вами при случае. Я чрезвычайно признателен вам за то, что вы познакомили меня с некоторыми специалистами в этой области, и, в частности, с Эйкеном и Стибицем. Все это время мы активно обменивались мнениями с Эйкеном и членами коллектива школы Мура… которые сейчас проектируют вторую электронную машину. Мне предложили быть их консультантом, главным образом — по вопросам, связанным с логическим управлением, памятью и т. п.