Игра в имитацию Ходжес Эндрю
По дороге их останавливали тридцать семь раз из-за того, что они, как гражданские лица, ехали без касок.
Так Алан Тьюринг снова оказался на лежавшей в руинах земле Гаусса и Гилберта под неусыпным наблюдением американцев и в военном джипе. Компания остановилась в лаборатории исследований в области связи в Эберманнштадте, близ Байройта; чтобы добраться до нее, им пришлось предолеть тысячу футов подъема в гору. Прежде там располагался госпиталь — на крыше здания сохранился красный крест. Так что спали они на госпитальных кроватях. А приходившие из деревни женщины убирались — за миску похлебки. Только Алан и Флауэрс интересовались вопросами криптологии, остальные члены группы об этом не знали (насколько им было известно). Один из захваченных немецких ученых с гордостью показал им машину типа «Рыбы» и объяснил, как много миллиардов действий она выполнила без повторения ключевой последовательности. Алан и Флауэрс только моргнули и обронили «Неужели!», когда он продолжил рассказывать им, что, тем не менее, их математики определяли ей срок стойкости перед взломом только в два года, допуская затем возможность взлома.
Пока они там находились, во исполнение туманных пророчеств 1939 г. к небу поднялись грибообразные облака. Квантовая механика, которую Харди еще совсем недавно объявлял бесполезной, достигла совершеннолетия. Это был видимый результат работы новых людей. Морис Прайс сыграл свою роль в начале британских исследований, а завершающий штрих добавил фон Нейман, рассчитав высоту, на которой следовало произвести взрывы, чтобы добиться максимальных разрушений. Облака опрокинули второго врага и предостерегли потенциального нового врага. Американцы решили последнюю проблему войны. И все же, без череды событий, позволивших союзникам контролировать «Энигму» в 1943 г., война в 1945 г. могла принять совсем иной оборот, и атомное оружие впервые применили бы против бетонных «загонов» немецких подводных лодок.
Большой секрет был раскрыт — или, точнее, стало известно, что был секрет, сильно отличавшийся от всех остальных. Американские военные появились на станции в Эберманнштадте с новостями, которые нисколько не удивили Алана. Он узнал о такой возможности еще до войны, и намеков ему было довольно. После его возвращения из Америки, он задавал и Джеку Гуду, и Шону Уайли вопрос о цепной реакции, выраженной через бочки с порохом. Он также рассказывал о возможной «урановой бомбе» в обеденные перерывы в Хэнслопе. И он прочитал лекцию о фундаментальном принципе физики всем в Эберманнштадте.
Алан оставался в Германии примерно до середины августа, а потом вернулся назад — писать свой отчет о поездке. По прошествии шести лет война была официально закончена. Он внес свою лепту в слом подчиненных состояний и победу янки. Возможно, более опосредованно, его работа сыграла роль в обозначении новых границ Скотного двора. Но в 1945 г. немногие оставались в состоянии восточного зверинца, хотя новые люди в Блетчли-парке отказались от средств, с помощью которых можно было возобновить политику 1920-х гг.
Более не ответственные за мир, они могли заняться делами дома. В этом плане Алан Тьюринг был столь же везуч, как и все остальные. Даже если его работа часто оказывалась напрасной, он вынес для себя максимум из войны и был готов служить делу мира. Британцы избежали поражения и были обязаны этим Америке. Окончание ленд-лиза означало только начало новых проблем. Могущество британского капитала подорвалось, и его империи грозило исчезновение. Но в умах уже прорастали другие семена.
Глава 6
Ртутная задержка
Не дожидаясь назначения на должность в Национальной физической лаборатории, Алан Тьюринг обдумывал вопрос практического конструирования своей универсальной машины. В частности, он обсудил с Доном Бейли основную проблему ее архитектуры, а именно — механизм хранения данных, или «ленту». Алан с Доном обсудили все формы дискретного хранения данных, которые только могли прийти им на ум. Так, например, они рассмотрели возможность магнитной записи. Они видели захваченный немецкий армейский «Магнитофон», первое удачное устройство для записи данных на магнитную ленту, но отвергли эту идею потому, что магнитная лента была слишком похожей по своей сути на ленту теоретической Универсальной машины Тьюринга — она требовала активного физического передвижения туда-сюда. Алан и Дон предпочли иное решение, с которым Алан к этому моменту уже был знаком, и этим решением была «акустическая линия задержки».
Идея базировалась на том, что время, необходимое звуковой волне для прохождения нескольких футов по звуководу (трубке), составляло порядка тысячной доли секунды. Звуковод можно было рассматривать, как временное хранилище звуковой волны на этот период. Данный принцип уже был применен в радаре: данные, сохраненные в линии задержки, использовались для гашения всех отраженных радиолокационных сигналов, не претерпевших преобразований с момента последнего сканирования. Таким образом, можно было сделать так, чтобы экран радара показывал только новые, или преобразованные, объекты. Использовать линию задержки, как запоминающий элемент для хранения импульсов электронной вычислительной машины, предложил Эккерт из коллектива разработчиков ЭНИАК. Его концепция зиждилась на нескольких условиях. Звуковод (трубка), или линия задержки, должен был различать импульсы, разделенные паузами всего в миллионную долю секунды, и передавать их не «замазанными». Необходимо также было, чтобы импульсы сохранялись не только на протяжении тысячной доли секунды, а неопределенно долгое время, что требовало их повторной рециркуляции в линии задержки. Если бы это делалось безыскусно, тогда бы импульсы очень скоро становились слишком «замытыми» для распознавания. Поэтому нужно было разработать электронное устройство, способное обнаруживать существование (несколько измененного) импульса, приходящего на конец линии, и посылать чистый импульс в начало = электронный аналог реле, используемый как телеграфный повторитель. А его надо было совместить с устройством для приема импульсов с остальных элементов вычислительной машины и обеспечения, при необходимости, обратной связи с ними. Было ясно, что для звуковых волн предпочтительная какая-либо иная среда, нежели воздух. А в многофункциональных РЛС уже применялась ртуть. Этот подходящий элемент, ассоциируемый с классическим божеством быстрой связи и сообщения, стал навязчивой идеей разработчиков на последующие несколько лет.
Это заманчиво дешевое решение в границах существующих технологий было провидчески принято в Предварительном докладе о машине ЭДВАК. В этот же сентябрьский период 1945 г. они опробовали этот принцип в хижине Хэнслопа. Дон Бейли соорудил картонную трубку с поперечником в восемь дюймов и во всю десятифутовую длину хижины, а Алан собрал сверхрегенеративный усилитель (особо чувствительный тип усилителя, модный в то время). Они подсоединили усилитель к микрофону на одном конце трубки и динамиком на другом. Идея заключалась в том, чтобы «прощупать» проблему, перезапуская звуковую волну в воздухе по принципу линии задержки, хлопая в ладоши на одном конце и рассчитывая получить после этого сотню искусственных. Из их затеи так ничего и не вышло до отъезда Алана из Хэнслопа для работы в Национальной физической лаборатории с 1 октября 1945 года. Но это значило, что Алан вступил в свою новую должность там уже не таким адептом «чистой математики», каким был в 1938 г., а полным идей, связанных, как с логикой, так и с физикой.
Создав новый Математический отдел, Уомерсли получил возможность набирать сотрудников из числа специалистов в области вычислений численными методами, поскольку он формировался в фарватере мобилизации сил для обороны страны. В его отдел вошла высоко ценимая Служба вычислительной техники Адмиралтейства ВМС Великобритании; она стала ядром самой мощной группы в западном мире, конкурентным аналогом которой в Америке служила соответствующая служба в Национальном бюро стандартов. Нельзя сказать, что они могли решать большие арифметические задачи, хотя они действительно решали задачи на арифмометрах. Их проблема была примерно такой же, с какой столкнулся Алан при вычислении значений дзета-функции Римана в 1938 г. Когда ресурсы «чистой математики» полностью исчерпывались, оставалась формула, или система уравнений, в которой действительные (вещественные) числа можно было заменить. Выполнение таких замен на настольных вычислительных машинах, арифмометрах, было процессом не слишком интересным. Но проблема лучшей организации работы была скорее абстрактным вопросом, относившимся к той области математики, которая звалась «численным анализом». А конкретная проблема заключалась в том, что, несмотря на то, что уравнения и формулы в основном соотносили «действительные числа» бесконечной точности, на практике в вычисления, произведенные с величинами, определенными только до энного числа десятичных знаков, неминуема закрадывалась погрешность на каждом шаге. Установление последствий таких погрешностей и их минимизация было важным аспектом численного анализа. Отчасти из-за существования таких проблем Алан шутил, что с появлением автоматических электронно-вычислительных машин математики не станут лишними и не останутся без работы.
Подотдел, выполнявший такую работу, возглавлял Э. Т… «Чарльз» Гудвин, ценивший Алана со студенческих лет. Два других подотдела, «Статистики» и «Перфорированных карт», также представляли интерес для Тьюринга, и наличие перфораторов в помещении должно было повлиять на выбор устройства ввода для его машины. Четвертый подотдел состоял из сотрудников группы дифференциального анализатора Хартри и некоторые время оставался в Манчестере. Пятый подотдел состоял из одного Алана Тьюринга. К концу года во всем Математическом отделе насчитывалось двадцать семь сотрудников — примерно столько же, как и в штате крупного университетского факультета. В марте были приобретены два дома Викторианской эпохи, Теддингтон-холл и Кромер-хаус, в периметре территории Национальной лаборатории, а в октябре весь новый отдел разместился в Кромер-хаусе. Алану досталась маленькая комнатка в северном крыле. Напротив обустроились Чарльз Гудвин и его коллега Лесли Фокс, сосредоточившиеся на вопросе нахождения характеристических чисел матриц в связи с проблемой поиска резонансных частот при проектировании самолета. В те осенние месяцы они частенько слышали судорожные рывки каретки его пишущей машинки.
Поселился Алан в гостинице в расположенном по соседству Хэмптон-хилле, на окраине парка Буши, продолжая вести «жизнь на чемоданах», как в во время войны. Переход от войны к миру ознаменовался для Тьюринга тем, что теперь он оказался не под началом военных офицеров, а под руководством ученых. Это оказалось не такой уж большой переменой, как он мог ожидать. Потому как Уомерсли, которого Алан мрачно называл «мой босс» (и каковым он, собственно, ему и приходился), являл собой ходячее олицетворение того, что Алан презирал, как «обманку». Уомерсли не лишен был ни энергичности, ни прозорливости, но ему явно не хватало солидного запаса научных знаний, который Алан считал безусловно важным для человека на таком посту. Оттого и случилось, что длительный и обширный тур по Соединенным Штатам, совершенный «боссом» ранее в 1945 г., обернулся техническим провалом, поскольку Уомерсли не достало опыта, чтобы сделать подробные записи о том, что ему было дозволено там посмотреть. Флауэрс и Чендлер, вместо того, чтобы воспользоваться записями Уомерсли, были вынуждены отправиться сами в поездку в сентябре и октябре, чтобы ознакомиться с ЭНИАК в связи с той работой, которую они выполняли для военных на вычислительных машинах целевого назначения. Особенности руководящего стиля Уомерсли — умение похваляться знакомством с видными людьми; умеренный энтузиазм, обхаживание важных посетителей, дипломатическое чутье на то, о чем следует докладывать, а о чем нет — отнюдь не являлись теми качествами, которые высоко ценил Алан Тьюринг. И не столько в силу того, что он сам был лишен таких качеств, сколько потому, что он все еще не понимал, почему кому-то необходимо иное оружие, нежели разумная аргументация. В скором времени Алан уже открыто грубил Уомерсли в офисе, язвительно вопрошая «Чего хотим?» и, поворачиваясь спиной, если его «босс» решался вмешаться в какое-нибудь обсуждение. Впоследствии сотрудники отдела даже заключили пари о том, кто же из них выйдет из кабинета Уомерсли с «каким-нибудь уравнением, пусть даже с самым простейшим». Но потом от пари отказались и признали поражение, «за ограниченностью доступа», как выразился Алан. В свою очередь, Уомерсли водил посетителей по Кромер-хаусу, показывая на кабинет Алана издалека с наигранным трепетом и отзываясь о нем, как о каком-то редком зоологическом экземпляре: «Ох, уж этот Тьюринг, нам не стоит нарушать его покой».
Более мощный научный интеллект вкупе с независимым мнением о том, как должно проектировать компьютеры, возможно, больше тормозил, помогал реализации планов Алана, которые, по крайней мере, не вызывали у Уомерсли формального сопротивления. Наоборот, Уомерсли был готов согласиться со всем, что бы ему в конечном итоге не предложили. Он также придумал для проекта электронной вычислительной машины Тьюринга более счастливый акроним, в сравнении с бездушным ЭНИАК или ЭДВАК: АВМ — «Автоматическая вычислительная машина», по аналогии с «машиной» Бэббиджа. В связи с этим Алану даже припомнился Джордж Джонстон Стони, который не открыл электрон, но дал ему название. На самом деле, Уомерсли продемонстрировал завидное политическое мастерство, добиваясь одобрения проекта. Недаром на его столе лежала книжка «Как завоевывать друзей и влиятельных людей». Алан не замечал этого. Он все еще оставался политической фигурой.
Первой задачей Алана было написать «Предложения по созданию в Математическом отделе АВМ» с подробным изложением архитектуры электронной универсальной машины и описанием ее действия. Удивительно, но в докладе, представленном Аланом, не содержалось упоминаний о «Вычислимых числах». Вместо этого, доклад перекликался с Предварительным докладом о машине ЭДВАК и был рассчитан на чтение в увязке с ним. Впрочем, проект АВМ был вполне самостоятельным, и его истоки восходили не к ЭДВАК, а к универсальной машине Тьюринга. Это наглядно демонстрируют некоторые фрагментарные заметки и комментарии, датируемые этим периодом:
…В статье «О вычислимых числах» допускалась организация хранения всех данных по линейному закону; в таком случае время доступности информации прямо пропорционально объему сохраненных данных, будучи по сути цифровым интервалом, умноженным на число хранимых знаков. Это основная причина, по которой форма организации в «Вычислимых числах» не могла быть принята и реализована на практике в настоящей машине.
Намек содержался и в первом параграфе упомянутого доклада Алана, где примерами сопровождалось обещание того, что новые проблемы сведутся «буквально к канцелярской работе», и говорилось:
Кому-то может показаться удивительным, что такую машину можно создать. Разве возможно, чтобы машина выполняла так много разных операций? Ответ в том, что нам следует воспринимать машину, как совершающую совершенно простую операцию, а именно — выполняющую команды, поступающие ей в такой форме, в которой она будет способна их понять.
Но существенно акцентировал эту идею Алан в разговоре, состоявшемся годом позже, в феврале 1947 г., объяснив происхождение АВМ, как он сам его воспринимал:
Несколько лет назад я занимался изучением теоретических возможностей и ограничений цифровых вычислительных машин. Я обдумывал машину с центральным механизмом и бесконечной памятью, хранящейся на бесконечной ленте. Такой тип машины представлялся мне достаточно общим. Я пришел к нескольким выводам, и один из моих выводов заключался в том, что идеи процесса «приближенного подсчета» и «машинного процесса» были синонимичными. Выражение «машинный процесс», конечно же, означает такой процесс, который мог бы выполняться машиной, обдумываемой мной… Такие машины, как АВМ, можно считать практическими версиями машины этого типа. По крайней мере, аналогия очень близкая.
У всех цифровых вычислительных машин есть центральный механизм, или контроль, а у некоторых — довольно обширная память. Память не должна быть бесконечной, но она, безусловно, должна быть очень большой. Вообще говоря, использование бесконечной ленты для запоминания данных в реальной машине нецелесообразно в силу того, что на передвижение ленты вперед-назад до обнаружения того места, где хранится фрагмент информации, требуемый в определенный момент, уходило бы чрезвычайно много времени.
Алан рассматривал различные серьезные предложения по сохранению данных, считая, что «обеспечение надлежащего хранилища — ключ к цифровой вычислительной машине».
По моему мнению, эта проблема создания большой памяти, доступной в разумно короткий срок, гораздо более важная, чем проблема выполнения таких операций, как умножение на высокой скорости. Скорость необходима, если машина должна работать достаточно быстро, чтобы быть коммерчески востребованной, тогда как большая память необходима, если машина должна быть способна на нечто большее, нежели довольно простые операции. Так что емкость запоминающего элемента (памяти) — более фундаментальное требование.
Тьюринг продолжал давать краткое описание «создания мозга»:
Давайте теперь вернемся к аналогии теоретических вычислительных машин с бесконечной лентой. Можно создать одну особую машину такого типа, которая бы делала все. На самом деле, она бы работала, как модель любой другой машины. Такую особую машину можно назвать универсальной машиной; она работает довольно простым образом. Определившись, какую машину мы хотели бы имитировать, мы наносим информацию с ее описанием в виде отверстий на ленту универсальной машины. Эта описание объясняет, что машине следует делать при том или ином сценарии настройки. Универсальной машине останется только «сверяться» с этим описанием, чтобы узнать, что ей следует делать на каждом этапе. Таким образом, сложность имитируемой машины будет сосредоточена на ленте, а не в конструкции самой универсальной машины.
Учитывая свойства универсальной машины вкупе с тем фактом, что машинный процесс и процесс приближенного вычисления синонимичны, можно сказать, что универсальная машина = это такая машина, которая, при условии обеспечения надлежащими командами может выполнять любое приближенное вычисление. Этим свойством обладают такие цифровые вычислительные машины, как АВМ. Фактически они являются практическими версиями универсальной машины. У них есть некий центральный узел электронных элементов и большая память. Когда требуется решить какую-либо задачу, производится настройка соответствующих команд, хранящиеся в памяти АВМ, на ее выполнении, и вычислительный процесс запускается.
Алан отдавал предпочтение большой, быстрой памяти, при этом считая, что система аппаратных средств («железо») должна быть настолько простой, насколько это возможно. В последнем требовании выражался его «островной» менталитет, склонный все делать с наименьшими отходами. Но оба эти условия должны были обеспечивать универсальность машины. Любая идея Алана всегда подразумевала, что все действия в плане усовершенствования процесса или удобства для пользователя следовало выполнять посредством мышления, а не оборудования, с помощью команд (программы), а не «железа».
В его философии представлялось расточительностью, если не сумасбродством, производить операции сложения и умножения с помощью дополнительных технических средств устройств, коль скоро их можно было заменить командами (инструкциями), сводящимися к более простым логическим операциям ИЛИ, И, либо НЕТ. Включение этих простых логических операций (отсутствующие в проекте ЭДВАК) в архитектуру АВМ позволяло ему пренебречь сумматорами и умножителями, но все равно получить при этом универсальную машину. И, на самом деле, он включил специальные аппаратные средства для выполнения арифметических задач, но даже при этом он разложил арифметические операции на малые фрагменты с тем, чтобы сэкономить на «железе» с помощью большего набора команд. Вся концепция была невероятно удивительной и озадачивающей для его современников, для которых электронно-вычислительная машина являлась машиной для решения арифметических задач, а умножитель сущностным для ее функционирования. Для Алана Тьюринга умножитель был довольно утомительным техническим элементом; сущностным для машины он считал систему логического управления, которая черпала команды (инструкции) из памяти и приводила их в действие.
По схожим причинам в его докладе не делалось особого акцента на том, что АВМ должна была использовать двоичную систему счисления. Алан констатировал преимущество двоичного представления информации на ленте (перфокарте), когда переключатели могли представлять 1 и 0 режимами «включено» и «выключено». И на этом все, за исключением разве лаконичного заявления о том, что для ввода/вывода чисел в машине использовалась обычная десятичная запись, а процесс их преобразования должен быть представлен в «практически невидимой форме». В беседе, состоявшейся в 1947 г., Алан конкретизировал этот кратчайший из всех возможных комментариев. Суть была в том, что универсальность машины позволяла конвертировать числа в самой машине в двоичный формат, если это отвечало технологической концепции. Использовать двоичные числа в кассовом аппарате было бы некорректно и нецелесообразно, так как преобразование чисел для ввода/вывода было более проблемным и хлопотным, чем оно того стоило.
Последнее утверждение звучит парадоксально, но это — лишь следствие того факта, что эти машины можно спроектировать так, чтобы они выполняли любое действие по приближенному подсчету в результате запоминания соответствующих команд. В частности, можно сделать такую машину, которая бы выполняла преобразование из двоичной формы в десятичную. Например, в случае с АВМ предоставление преобразователя (конвертера) достигается всего лишь добавлением двух дополнительных линий задержки в память. Подобная ситуация весьма типична для АВМ. Есть много мелких «привередливых» деталей, за которыми нужен уход и которые в обычной инженерной/конструкторской/практике потребовали бы создания особых схем. Мы можем справиться с такими проблемами, обойдясь без модификации самой машины, посредством одной голой «бумажной» работы, сводящейся в конечном итоге к вводу соответствующих команд.
Это было логично и безусловно понятно математикам, знакомым с двоичными числами, по меньшей мере, три сотни дел. Для других людей факт мелкие «привередливые» детали оборачивались головной болью для других людей. В частности, для инженеров-конструкторов было практически откровением то, что концепцию чисел можно было отделить от их представления в десятичной форме. Многие люди воспринимали саму «двоичную» арифметику АВМ, как необычное и чудесное новаторское решение. И хотя Алан был абсолютно прав, усматривая в этом частный момент, легко себе представить, какие трудности ему доводилось испытывать в общении с определенным сортом людей, которые должны были финансировать, организовывать и собирать его машину.
Презрев такие частности, Алан в своем докладе сконцентрировался на двух действительно важных моментах: памяти и управлении.
Обсуждая вопрос хранения данных, он перечислил все формы дискретного хранения, над которыми раздумывали они с Доном Бейли, включая пленку, перфокарты, магнитную ленту и «кору головного мозга», сопроводив каждую оценкой (в ряде случаев явно фантастической) времени доступа и количеством знаков, которые можно было сохранить за фунт стерлингов. В крайнем варианте можно было использовать запоминающее устройство целиком на электронных лампах, обеспечивающее доступ к информации в течение микросекунды, но чрезмерно дорогостоящее. Как указал Алан в своем уточнении 1947 г., «сохранение контента обычного романа такими средствами обошлось бы в несколько миллионов фунтов». Необходимо было найти компромисс между стоимостью и скоростью доступа. Алан согласился с предложением фон Неймана (сославшегося в Предварительно докладе о машине ЭДВАК на возможность разработки в будущем специального «иконоскопа» или телевизионного экрана) о целесообразности хранении чисел в форме схемы точек. Алан описал ее, как «наиболее обнадеживающую схему, с позиции экономии и скорости». Однако в пророческом параграфе доклада об АВМ он также предложил свой подход, естественно, основанный на принципе «наименьшей затраты сил»:
Представляется вероятным, что подходящую систему хранения данных можно разработать без привлечения каких-либо новых типов трубок, используя обычную электронно-лучевую трубку с оловянной фольгой поверх экрана в качестве сигнальной пластины. Потенциальный рельеф постепенно разрушается, и его необходимо периодически восстанавливать… Нужно будет остановить считывание записи электронным пучком, перейти к точке, с которой должна быть взята требуемая информация, произвести там считывание, заменить информацию, стертую в процессе считывания, и вернуться к восстановлению с точки, на которой остановились. Следует также убедиться, что восстановление не откладывалось слишком надолго из-за более неотложных обязанностей. Все эти меры не представляют особой сложности, но, без сомнения, потребуется время, чтобы их отработать.
За отсутствием такой электронно-лучевой трубки Алан был вынужден остановить свой выбор на ртутных линиях задержки — без особого энтузиазма, просто потому, что они уже применялись. Но у такого варианта имелся один явный недостаток; связан он был с доступом данных. По задумке Алана, через линию задержки должна была пропускаться последовательность из 1024 импульсов (это было сродни разделению «ленты» Универсальной машины Тьюринга на сегменты, длиной 1024 клетки каждый). На передачу на заданный вход в среднем уходило бы 512 единиц времени (тактов). Тем не менее, это был шаг вперед по сравнению с «папирусным свитком».
Другим немаловажным аспектом архитектуры машины являлась система «логического управления». Она соотносилась со «сканером» Универсальной машины Тьюринга. Принцип был прост: Универсальная машина должна только постоянно «сверяться» с описанием — то есть командами на ленте — «чтобы знать, что делать на каждом этапе». Таким образом, система логического управления была частью электронного аппаратного обеспечения, содержащего две порции информации: в каком месте «ленты» и какую команду там надо было считать. Команда занимала тридцать две «клетки», или импульса, в «хранилище» линии задержки и должна была быть двух типов. Она должна была просто заставлять «сканер» переходить к другой точке «ленты» для получения следующей команды. Альтернативный вариант — она могла предписывать операцию сложения, умножения, переноса или копирования чисел, хранимых где-либо на «ленте». В последнем случае «сканер» должен был переместиться на следующую точку на «ленте» для получения следующей команды. Ни одно из этих действий не подразумевало ничего, кроме считывания, написания, стирания, изменения состояния и перемещения влево и вправо, что делала и теоретическая Универсальная машина Тьюринга, обрабатывая дескриптивные числа на своей ленте. За исключением тех случаев, когда бы добавлялись специальные устройства с тем, чтобы сложение и умножение можно было выполнять всего за несколько шагов, а не за тысячу более элементарных операций.
Конечно, речь не шла о физическом движении при выборе «сканером» команды. Напротив, принцип работы системы управления АВМ был довольно похож на набор телефонного номера. По большей части сложность электронных схем обуславливалась требованиями этой системы с «древовидной» структурой. Сложность заключалась и в способе, которым эти тридцать две ячейки «временного хранилища», состоявшие из специальных коротких линий задержек, обеспечивались для шунтирования /отвода, ответвления/ импульсов. Он существенно отличался от концепции ЭНИАКа, в которой все арифметические задачи должны были решаться путем переноса чисел в и из центрального «накопителя». В проекте АВМ арифметические операции «распределялись» по тридцати двум линиям задержки для «временного хранения» весьма остроумным способом.
Смысл в таком усложнении заключался в том, что повышалось быстродействие машины. Скорость работы стала приоритетней простоты конструкции. Это нашло отражение также в том, что Алан определил для АВМ частоту импульсов миллион в секунду, вознамерившись использовать электронную технику в полной мере. То, что он сосредоточился на скорости, было вполне естественно, учитывая его опыт работы в Блетчли, где быстродействие, как аппаратуры, так и сотрудников, ее обслуживавших, имела первостепенное значение и несколько часов определяли различие между полезностью и нецелесообразностью. Быстродействие также соотносилось с универсальностью электронной вычислительной машины. В 1942 г. они пытались сделать «Бомбу» быстрее, чтобы справиться с четырехроторной моделью «Энигмы». Но спасла их допущенная немцами ошибка в системе оповещения о погоде. А, если бы не этот счастливый случай, на решение задачи им бы пришлось потратить больше года. Одним из достоинств универсальной машины должна была стать ее способность справляться с любой новой задачей немедленно. Но это значило, что она должна была работать с максимально возможной быстротой. Модернизировать конструкцию универсальной машины ради решения специальной задачи едва было бы целесообразно. Весь смысл был в том, чтобы спроектировать ее необыкновенную конструкцию раз и навсегда, чтобы вся работа после этого сводилась лишь к разработке таблиц команд.
Тем не менее, при том, что АВМ зиждилась на идее Универсальной машины Тьюринга, в одном плане она все же отступала от нее. В конструкции машины не предусматривалось устройство для условного ветвления — особенность, на первый взгляд, необычная. Концепция машины пренебрегала важной идеей, которую ввел Бэббидж столетием ранее. Так как «сканер», или устройство логического управления, могло хранить лишь один «адрес», или позицию на ленте, единовременно. Оно не могло сохранять более двух «адресов» и выбирать следующий адресат информации по ряду критериев.
Впрочем, недоработка была только кажущейся. Она была обусловлена тем, что это был тот случай, когда аппаратное обеспечение можно было упростить, ценой большего объема хранимых команд. Алан пошел путем, при котором условное ветвление можно было осуществить при хранении устройством логического управления не более одного «адреса» единовременно. Этот путь не являлся лучшим техническим решением, но он обеспечивал дерзкую простоту конструкции. Допустим, нужно было выполнить команду 50, если какая-нибудь цифра D была 1, и выполнить команду 33, если D была 0. Идея Алана состояла в том, чтобы «представить себе, что команды были действительно числами, и произвести вычисление D (команда 50) + (1-D) (команда 33)». Результат этого вычисления был бы командой, производящей требуемое действие. «ЕСЛИ» определяло бы не аппаратное обеспечение, а дополнительное программирование. Такая схема побудила его причислить данные (цифра D) к командам. Это само по себе имело большое значение, так как Алан позволил себе модифицировать хранимую программу. Но это было только начало.
Фон Нейман также считал возможным изменять хранимые команды, но только одним весьма специфичным путем. Допустим, хранимая команда осуществляла действие «извлечь число по адресу 786». Фон Нейман заметил, что было бы удобно добавить 1 к 786, чтобы в результате выполнялась команда «извлечь число по адресу 787». Только это и нужно было для работы по длинному списку чисел, хранимых в ячейках 786, 787, 788, 789 и далее, как это часто происходит при больших расчетах. Фон Нейман заложил идею перехода на «следующий» адрес с тем, чтобы его не нужно было выражать в имплицитной форме. Но дальше этого фон Нейман не пошел. По факту он, в действительности, предложил метод, гарантирующий, что команды невозможно изменить никаким другим способом.
Подход Тьюринга был совершенно иной. Комментируя свой принцип модифицирования команд, он писал в своем докладе: «Он дает машине возможность создавать свои собственные команды… Это может быть очень действенно». В 1945 г. Тьюрингу с командой ЭНИАКа пришла в голову идея хранения команд внутри машины. Но она не повлекла за собой следующий шаг — использование того факта, что теперь можно было изменять сами команды в процессе работы машины. И именно эту идею Тьюринг стремился развить теперь.
Эта идея зародилась почти что случайно. Американцы работали над хранением команд внутри машины, так как это был единственный способ достаточно быстрой подачи команд. Алан же просто воспользовался принципом одиночной ленты старой Универсальной машины Тьюринга. Но в обоих случаях не рассматривалась возможность влиять на команды в ходе вычисления. Американцы приняли в расчет эту характеристику только в новом проекте 1947 г. Точно так же, концепция Универсальной машины Тьюринга 1936 г. в рабочем процессе на бумаге не предусматривала изменения «дескриптивного (описательного) числа», которым она оперировала. Эта машина была призвана считывать, декодировать и выполнять таблицу команд, хранимую на ее ленте. Она никогда не стала бы менять эти команды. Универсальная машина Тьюринга 1936 г. была сравнима с машиной Бэббиджа в том смысле, что должна была работать с фиксированным набором команд. (И отличалась тем, что этот набор команд (программа) хранился на точно таком же носителе, на каком фиксировались исходные, промежуточные и конечные данные). Так что собственный довод «универсальности» Алана Тьбринга показал, что машины, похожей на машину Бэббиджа, было достаточно. В принципе не было ничего, что можно было достичь посредством модифицирования команд в процессе работы, чего не могла бы достичь универсальная машина без такой функции. Возможность изменения программы позволяла только экономить на командах, но не расширяла теоретический объем операций. Однако эта экономия, как подметил Алан, могла оказаться «очень действенной».
Столь оригинальное восприятие проистекало из самой универсальности машины, которую предполагалось использовать для любого типа «определенного метода», не обязательно арифметического. Импульсы «1101», хранимые в линии задержки, могли не соотноситься каким-либо образом с числом «тринадцать», а воплощать шахматный ход или фрагмент кода (шифра). Либо, даже если машина занималась арифметическими вычислениями, импульсы «1101» могли не представлять «тринадцать», а указывать на возможную погрешность порядка 13 единиц или обозначать тринадцать в представлении чисел с плавающей запятой, либо еще что-либо, по выбору пользователя машины. Алан с самого начала сознавал, что сложение и умножение не сводились к подаче импульсов на вход сумматора или умножителя аппаратного обеспечения. Импульсы нужно было упорядочить, расшифровать, распределить и свести вместе снова сообразно той схеме, по которой они использовались. Особенно подробно Алан рассмотрел вопрос выполнения арифметических задач в формате с плавающей запятой; он показал, что даже простое сложение двух числе с плавающей запятой требует целой таблицы команд. Алан написал несколько таблиц такого типа. Таблица MULTIP, например, имела целью умножение двух чисел, закодированных и хранимых в формате с плавающей запятой, и кодирование и сохранение результата. Его таблицы зиждились на этой «очень действенной» возможности машины самой транслировать с языка ассемблера в машинный язык биты необходимых команд и затем выполнять их.
Но если даже такая простая операция, как умножение чисел с плавающей запятой, требовала набора команд, тогда процедура любого полезного масштаба должна была включать сведение множества таких наборов команд вместе. Алан представлял себе это не как связывание таблиц, а как иерархию, в которой второстепенные таблицы команд, типа MULTIP, обслуживали бы «главную» таблицу. В качестве конкретного примера главной таблицы он привел таблицу под названием CALPOL, задачей которой было вычисление пятнадцатой степени многочлена в формате с плавающей запятой. Каждый раз, когда требовалось произвести умножение или сложение, она должна была задействовать второстепенной таблицы. Осуществление этого процесса вызова и обратной отсылки второстепенных таблиц само по себе требовало команд, как видел это Алан:
Чтобы начать выполнение второстепенной операции (подпрограммы), нам необходимо отметить только место, где мы покинули главную программу. Когда второстепенная операция завершена, мы находим это место и продолжаем выполнять основную операцию. Каждая из этих второстепенных операций (подпрограмм) должна оканчиваться командой, определяющей упомянутое место. Вопрос — как скрывать и отыскивать то место? Есть несколько способов. Одни из них — сохранить список таких мест на одной или нескольких линий задержки стандартной длины… самое свежее место сокрытия должно быть в нем последним. Указание на нахождение этого последнего места будет храниться на короткой линии задержки, и эта отсылка будет меняться каждый раз, когда будет начинаться или завершаться второстепенная операция. Процессы сокрытия и отыскания довольно замысловаты, зато, к счастью, отпадает необходимость повторять каждый раз команды; сокрытие производится посредством стандартной таблицы команд BURY [скрыть], а отыскание — с помощью таблицы UNBURY [раскрыть].
Возможно, свое представление о сокрытии и отыскании (раскрытии) Алан почерпнул из истории о серебряном слитке. Это была совершенно новая идея. Фон Нейман рассуждал только в ракурсе проработки последовательности команд.
Концепция иерархии таблиц расширяла возможности модификации программы. Так, например, Алан предлагал «держать таблицы команд в сокращенной форме и развертывать их каждый раз, когда мы захотим» — эту работу выполняла бы сама машина, используя таблицу под названием EXPAND [развернуть, расширить]. Чем дальше он развивал идею иерархии таблиц, тем отчетливей он сознавал, что АВМ можно было бы использовать для подготовки, сопоставления, упорядочения и структурирования своих собственных программ. Тьюринг писал:
Таблицы команд должны создаваться математиками с опытом вычислительной работы и, пожалуй, определенной способностью решать головоломки. Придется проделать большой объем работы подобного типа, поскольку каждое известное действие должно быть на каком-то этапе преобразовано в форму таблицы команд. Эта работа будет вестись, пока создается сама машина, чтобы можно было сразу запустить машину и получить результаты. Отставание в работе по созданию таблиц команд в силу всяких неизбежных загвоздок и затруднений допускается до того момента, когда лучше оставить эти затруднения, как есть, чем тратить время на их устранение (сколько десятков лет на это уйдет?). Этот процесс создания таблиц команд должен быть очень увлекательным. Страшиться его не следует, как, впрочем, и не следует превращать его в рабский труд, так как все процессы, которые по сути своей являются механическими, могут быть возложены на саму машину.
Не удивительно, что Алан расценивал процесс написания программ (таблиц команд), как «очень увлекательный». Ведь он создал нечто очень оригинальное и при том именно свое. Он изобрел искусство компьютерного программирования. Это был полный разрыв со старомодными арифмометрами — о которых он, в любом случае, знал немногое. Они объединяли суммирующие и умножающие механизмы, да еще они заправлялись бумажной лентой, без которых они не работали исправно. Они были машинами для совершения арифметических действий, для которых логическая структура была лишь обременением. АВМ была принципиальной иной машиной. Она задумывалась, как машина, выполняющая программы «каждого известного действия». Акцент делался на логическое структурирование и управление процессом работы, а арифметические устройства добавлялась только ради быстрого доступа к наиболее часто использующимся операциям.
На настольных счетных машинах цифры от 0 до 9 становились видны на регистрах и клавиатуре, и у оператора могло возникать ощущение, будто каким-то образом цифры хранятся в самой машине. В действительности, в них не было ничего, кроме колес и рычагов управления, однако иллюзия присутствия цифр в машине была сильна. Эта иллюзия отличала и большие релейные счетные машины, и машины Эйкена и Стибица, и ЭНИАК. Даже в докладе о машине ЭДВАК сохранялось ощущение, будто импульсы в линиях задержки будут на самом деле числами. Однако концепция Тьюринга несколько отличалась и имела более абстрактный вид. В АВМ импульсы могли восприниматься, как представляющие числа, либо команды. Хотя это все было, конечно, только в уме наблюдателя. Машина работала, как указывал Алан, «не думая», и на самом деле оперировала не числами и не командами, а электронными импульсами. Человек мог «делать вид, будто команда была числом», поскольку сама машина ничего не знала ни об одном, ни о другом. Соответственно, он мог свободно допускать в мыслях соединение данных и команд, управление командами, вводе таблиц команд посредством других команд «высшего порядка».
Причина готовности Алана к применению столь вольного подхода была. С того самого момента, когда Тьюринг впервые задумался о математической логике, он воспринимал математику как игру, в которую играют знаками на бумаге, не считаясь с их «значением» и по правилам, напоминающим шахматные. Такой взгляд Алана на математику подпитывал подход Гильберта. Теорема Геделя бодро смешала «числа» и «теоремы». И в статье «О вычислимых числах» таблицы команд представлялись, как «описательные числа». Его доказательство существования нерешаемых задач опиралось на это смешение чисел и команд на трактовке и тех, и других, как абстрактных символов. Посему это был маленький шаг считать команды (инструкции) и таблицы команд «зерном для помола» на собственной мельнице Алана.
Действительно, коль скоро столь многое в его военной работе зависело от систем индикации, в которых команды умышленно маскировались под данные, пойти на такой шаг ему было вовсе не сложно. Он воспринимал, как очевидное то, что других повергало в конфуз и непонимание.
Такое видение функций АВМ подкреплял также довод об имитации. АВМ не должна была «решать арифметические задачи» так, как их решал бы человек. Она должна была лишь имитировать арифметические действия в том смысле, что при вводе команды, представляющей «67 + 45», можно было гарантированно получить на выходе «112». Но внутри машины не было «чисел», только импульсы. И когда дело дошло до чисел с плавающей запятой, способность Алана проникать в самую суть обрела практическую значимость. Вся суть его разработки заключалась в том, что оператор АВМ получал возможность использовать «вспомогательную таблицу», типа MULTIP, как если бы одна команда «множилась». То есть фактически результатом этого стала бы большее шунтирование и ассемблирование импульсов внутри машины. Но это не играло бы значения для пользователя, который мог работать так, как если бы машина оперировала непосредственно «числами с плавающей запятой». Как писал Алан, «нам надо только однажды придумать, как это сделать, а потом забыть о то, как это сделано». Тот же принцип был применим и к машине, запрограммированной на игру в шахматы: ей следовало бы пользоваться, как если бы она играла в шахматы. На любом этапе «игры» она бы только внешне имитировала действие мозга. Но тогда, кто бы знал, как мозг делал это? Единственно допустимым использованием языка, по мнению Алана, было применение тех же норм, стандартов внешнего проявления к машине, что и к мозгу. На практике люди ведь говорили совершенно некорректно, что машина «решала арифметические задачи»; точно так же они бы говорили, что машина играет в шахматы, обучается или думает, если бы она могла имитировать функцию мозга, совершенно не считаясь с тем, что «в реальности» происходило внутри машины. Так что даже в его технических предложениях скрывалось философское видение, далеко превосходящее амбициозное желание создать машину для решения больших и сложных (арифметических) задач. Но это не помогало ему в общении с другими людьми.
Хотя Алан перенес акцент с конструирования машины на разработку программ, ничего неясного в его инженерных планах по АВМ не было. Линии задержки, писал Алан, были разработаны для целей радиопеленгации до уровня, значительно превосходящего наши требования во многих отношениях. Проекты нам доступны, и один из них замечательно подходит для промышленного производства. Но 20 фунтов стерлингов за одну линию задержки — это довольно дорого.
На самом деле, Алан наведался с визитом в НИИ связи британских ВМС ради встречи с Т. Голдом, занимавшимся там разработкой линий задержки. Алан рассчитывал приобрести две сотни ртутных линий задержки, емкостью 1024 цифры каждая. Однако цифры, размеры, стоимость и выбор ртутной линии задержки для хранения информации не были сняты с полки инженеров-конструкторов радиолокационной техники. Он сам освоил физику. На основании его расчетов ртуть была лишь чуть предпочтительней смеси воды и спирта, по силе действия равноценной, по его представлению, джину. Алан очень хотел использовать джин; это было дешевле, чем использовать ртуть. Однако, он отказался от того, чтобы самому производить опытно-конструкторскую работу. Он хотел, что ее сделали инженеры «Колосса», на экспериментально-исследовательской станции Министерства почт. Флауэрс был уже знаком с линиями задержки (в октябре 1945 г. ему показали модель Эккерта).
А о проектировании логических и арифметических схем («LC and CA») Алан писал:
Работа над электронно-ламповым элементом может занять четыре месяца и больше. С учетом того факта, что придется еще выполнить кое-какую работу по конфигурации принципиальных схем, такая задержка может быть оправдана, но приступить к работе следует, как можно скорее….
Ввиду сравнительного малого числа используемых электронных ламп фактическое производство LC и CA не потребует много времени; от силы шесть месяцев.
В докладе уже были представлены проекты множества «принципиальных схем». Алан сделал детальную разработку арифметических схем, воспользовавшись (и расширив) системой обозначения фон Неймана. Наверное, ему было приятно, что его довоенный опыт по проектированию двоичного множительного устройства пригодился. С обращением к опыту из прошлого была связана и другая деталь проекта. Он предусматривал возможность подсоединения, при необходимости, специальных контуров для операций с арифметическими функциями и нулевыми функциями. Эта идея несколько расходилась с принципом максимально активного задействования команд, но он представлялся вполне уместным в случае, если под рукой имелась какая-либо крайне эффективная схема специального назначения. Как, например, в случае с «Бомбами». Там шаги, зависевшие от срабатывания реле, были медленны по электронным стандартам. Тогда как шаги, которые зависели от электрического тока, пропускаемого по внутренней проводке «Энигмы», выполнялись моментально. На выполнение их с помощью таблицы команд на электронной вычислительной машине требовалось бы больше времени. Проект Алана позволял, при желании, идти более коротким, рациональным путем. Но мало кто мог догадаться, что в основе этого лежал его опыт с механическими методами.
Алан также оценивал практические требования проекта в целом:
Трудно строить предположения о зданиях, опираясь на вероятность расширения всего плана в масштабе. Есть множество возможностей, которые было бы целесообразно включить, но которые отвергнуты в силу одной лишь необходимости провести где-то черту. Однако, через несколько лет, когда машина докажет свою полезность, мы наверняка захотим расширить ее возможности, включив новые функции или реализовав лучшие идеи, которые выдвигались при работе над первой моделью. Какой бы величины не решено было строить здание, всегда следует оставлять место для его достройки.
В беседе 1947 г. Тьюринг развил идею о том, как машина должна «доказать свою ценность», обрисовав картину действия машины. Давайте начнем с тех вопросов, которые могут возникнуть у потребителя. В первую очередь встает вопрос о подготовке места, где будет проходить проверка машины с целью изучения ее рабочего состояния и настройки и выполнения процедуры самого простого вычисления.
Алан привел частный пример задачи, а именно численное решение дифференциального уравнения Бесселя. (Это была типичная задача в прикладной математике и инженерии.) Тьюринг объяснил, что таблица команд для вычисления значений функции Бесселя будут уже «лежать на полке», наряду с таблицей, задающей общий порядок действий (общий алгоритм) решения дифференциального уравнения.
Команды для работы будут, таким образом, состоять из значительного числа извлеченных с полки и нескольких, разработанных специально для процедуры, о которой идет речь. Карты команд для рабочих, стандартных операций должны будут быть уже перфорированы, а новые необходимо будет создать специально. После ассемблирования и проверки их всех нужно будет поместить в устройство ввода, представляющее собой просто механизм подачи перфокарт. Их нужно будет помесить в карман для перфокарт и нажать кнопку, запускающую протяжку перфокарт. Следует помнить, что изначально в машине нет команд, а, значит, обычные функции не доступны. Поэтому необходимо четко представлять себе, какие карты должны подаваться первыми. Эти карты с исходными данными всегда должны быть одинаковыми. Их заведение означает установку в машине нескольких ключевых таблиц команд, включая достаточное количество таких, что позволят машине считывать специальный набор карт, подготовленных для выполнения нашей процедуры. А далее возможны различные сценарии действий, в зависимость от способа программирования процедуры. Машина должна довести дело до конца и выполнить процедуру, выдав в перфорированном или напечатанном виде требуемые ответы, остановившись только, когда все будет сделано. Но более предпочтительна такая настройка, чтобы машина останавливалась сразу после введения таблиц команд. Это позволяет убедиться в правильности контента, сохраненного на запоминающем устройстве (носителе информации), и обеспечивает вариативность процедуры. И это удобный момент для паузы. Нам придется делать несколько пауз. Например, нам могут понадобиться некоторые значения параметра, а это — цифры, полученные экспериментальным путем, и тогда будет удобно делать паузу после введения каждого значения параметра, а затем загружать следующее значение параметра с другой карты. Или, например, кто-то захочет поместить в карман все карты, чтобы машина запоминала данные по мере надобности. Каждый волен поступать по своему усмотрению, но каждый должен принять решение.
Эти предложения были в высшей степени практическими и действительно провидческими, предвидящими потребность в гибком взаимодействии оператора и машины. Но, конечно же, он уже увидел будущее, в использовании «Колосса». В другом абзаце рассматривалась возможность использования удаленных терминалов:
…автоматическая вычислительная машина будет выполнять работу примерно за 10 000 вычислителей (людей). Поэтому логично ожидать, что большой объем вычислений, производимых вручную, сведется к нулю. Вычислители (люди) будут и в дальнейшем выполнять на маленьких счетных машинах такие действия, как подстановка значений в формулы, но, если на одно какое-либо вычисление у вычислителя уходит несколько дней работы, то лучше, чтобы его вместо человека выполняла электронная вычислительная машина. Но при этом совсем необязательно будет, чтобы у всех, кто заинтересован в такой работе, имелся компьютер. Целесообразно и возможно будет наладить управление удаленным компьютером с помощью телефонной связи. Для использования на этих удаленных станциях будут разработаны специальные устройства ввода и вывода информации, которые будут стоить, самое большее, несколько сотен фунтов стерлингов.
Алан также осознал требования к компьютерным программистам:
Основной объем работы, выполняемой этими компьютерами, будет состоять из задач, которые невозможно решить путем вычислений вручную в силу их масштабности. Чтобы загрузить машину такими задачами, нам потребуется большое количество способных математиков. Эти математики нужны будут для того для предварительной обработки и оформления задач для вычисления…
И он на самом деле смог предугадать развитие новой отрасли промышленности и занятости:
Очевидно, что возможности просто огромны. Одной из трудностей для нас будет поддержание соответствующей дисциплины, чтобы мы не потеряли нить того, что мы делаем. Нам потребуется энное число эффективных библиотечных типов для поддержания у нас порядка.
Опередив свое время на двадцать лет в своей концепции организации компьютерных узлов, Алан исходил из опыта, полученного в Блетчли-парке. Там работало десять тысяч человек, операторов, и все они составляли систему, включавшую отдаленные от центра станции, телефонные коммуникации, элиту, которая преобразовывала задачи в программы, и множество «библиотечных типов». Но он никогда не мог сказать об этом прямо, и никто не мог представить себе картину того, что никогда официально не существовало, так что его анализ был сродни вестям ниоткуда.
Доклад о АВМ был также первым отчетом о спектре применения универсальной вычислительной машины. АВМ была призвана решать «такие задачи, которые решаются трудоемкими усилиями клерков, работающих по строгим правилам и без всякого понимания», сталкивающихся с тем, что из-за размера машин «количество письменных материалов, необходимых на каком-либо одном этапе ограничивается… 50 листами бумаги», а «инструкции для оператора», написанные на «обычном» языке, «объемом с обычный роман». АВМ могла бы решать такие задачи за одну стотысячную долю того времени, которое требовалось «оператору-человеку, решающему свои арифметические задачи без помощи технических средств».
АВМ смогла бы выполнить всю рутинную умственную работу для нужд британского фронта. Огласив такой вывод, Алан заработал себе необычно хороший «политический» балл: в перечне возможных приложений «создание таблиц стрельбы» стояло первым. Это была работа, для которой специально спроектировали ЭНИАК. Затем следовали еще четыре примера практического применения АВМ для вычислений, которые на тот момент требовали месяцы, а то и годы работы за арифмометрами. А еще четыре примера были не связаны с численными вычислениями; они отражали более широкий взгляд Алана на сущность компьютера, опыт и спектр интересов Тьюринга.
Первым значился компьютер, интерпретирующий специальный, предметно-ориентированный язык для описания электрических проблем:
Учитывая сложную электрическую цепь и характеристики ее компонентов, можно было бы рассчитывать ответы на действие входных сигналов. С этой целью можно было бы легко разработать стандартный код для описания этих компонентов, а также код для описания связей.
Это бы означало автоматическое решение таких задач расчета и моделирования электрических схем, за которыми Алан проводил в Хэнслопе целые недели. Второй пример применения был более прозаическим:
Для подсчета количества мясников, должных демобилизоваться в июне 1946 г., по картам, приготовленным на основании армейских списков.
Машина — писал Алан — «отлично справилась бы с этим делом; только не подходящее оно для нее. Скорость, с которой это можно было бы сделать, ограничивалась бы скоростью прочитывания карт. Такую работу может и должно делать с помощью обычной счетной машины Холлерита».
Это был не столько доклад, сколько план кампании, в котором тактические и стратегические идеи грудились на бумаге так же тесно, как и в уме Алана Тьюринга. Перспектива создания электронного «мозга» представлялась столь же фантастической, как и путешествие в космос, и этот доклад был сродни объяснению колонизации Марса. Наивный, разговорный стиль не был рассчитан на то, чтобы понравиться руководству, а детализация изложения материала явно превышала потенциал его усвоения. Никто не горел желанием ни прорабатывать примеры программ или коммутационные схемы, ни разрешать плохо сформулированный парадокс машины «без разума» и, тем не менее, «демонстрирующей интеллект». Даже Хартри посчитал это слишком сложным.
Хотя и не датированные, «Предложения по созданию АВМ» были закончены к концу 1945 г., явив собой поразительный всплеск энергии. Он был представлен Уомерсли, который направил служебную записку Дарвину и предварительный доклад к заседанию исполнительного комитета, намеченному на 19 февраля 1946 г. Уомерсли быстро оценил возможности, сулимые универсальной машиной. И надо отдать ему должное: несмотря на свою интеллектуальную ограниченность, подмеченную Аланом и другими математиками, Уомерсли привел весьма удачную аргументацию в защиту того, что он назвал «одной из лучших сделок, когда-либо заключенных Управлением научных и промышленных изысканий». «Возможности, скрывающиеся в этом оборудовании, настолько огромны, что даже трудно изложить практическую сторону вопроса…. настолько фантастической она может показаться…» оптика, гидравлика и аэродинамика могли бы быть «революционизироваться», претерпеть поистине коренные изменения; промышленность пластмасс могла бы «продвинуться вперед так, как сегодня, с нынешними вычислительными ресурсами просто не представляется возможным». Уомерсли заявил, что «машина успешно справится» не только с таблицами стрельбы, уже упомянутыми Аланом (проблемы, на разработку которой существующим Математическим отделом требовалось по расчетам три года), но и с «проблемами теплоотдачи в неоднородных субстанциях, либо в субстанциях, в которых происходит непрерывная генерация тепла» — по сути, со взрывами старыми и новыми. Уомерсли также заявил, что «обещанная поддержка капитана 3 ранга, сэра Эдварда Трэвиса из министерства иностранных дел будет бесценна».
Коснувшись теоретической стороны вопроса, Уомерсли подчеркнул, что «это устройство не является вычислительной машиной в обычном смысле слова. Оно не нуждается в ограничении своих функций арифметическими вычислениями. Ему по силам также алгебраические задачи. Не обошел молчанием Уомерсли и политической стороны вопроса: он обратил внимание на крупные суммы, уже потраченные в Америке на машины, возможности которых АВМ далеко превосходит. И с ловкостью тонкого дипломата, он указал на преимущество, которое появится у Национальной физической лаборатории Британии, если в ней будет смонтирована такая машина:
…мы в этой стране и, в частности, в этом отделе можем внести уникальный вклад в мировой прогресс. Я могу сказать совершенно определенно, что в применении такого оборудования мы будем намного более изобретательны и хитроумны, чем американцы… Все машины США находятся в электротехнических отделах. В нашем отделе машина будет в руках пользователей, а не производителей…
Обсуждение этого визионерского сотрудничества британских мозгов и рук было отложено до заседания исполнительного комитета 19 марта. На этот раз Алана пригласили принять в нем участие, и после того, как Уомерсли в своей обескураживающе пугающей манере представил его, как «эксперта в области математической логики», он приложил все усилия, чтобы объяснить архитектуру и действие АВМ, как можно, проще. Это был предельно ясный доклад, который Алан начал со слов:
Поскольку нужно было добиться высокой скорости вычислений, необходимо было производить все операции автоматически. Но огромной скорости выполнения арифметических операций, обеспечиваемой электронной машиной, недостаточно. Необходимо было также обеспечить передачу данных (чисел и т. п.) с одного элемента на другой. А эта цель обуславливала еще два требования: «хранилище» или «память» для чисел и средства для ввода команд, обеспечивающего выполнение машиной нужных операций в нужном порядке. В связи с этим перед нами стояли четыре задачи — две конструкторские и две математического или смешанного толка.
Задача (1) (Конструкторская) Обеспечить подходящую систему хранения данных (систему памяти).
Задача (2) (Конструкторская) Обеспечить высокоскоростные электронные переключающие устройства.
Задача (3) (Математическая) Разработать схемы для АВМ, построив цепи из системы хранения данных и переключающих устройств, описанных в п. 1 и 2.
Задача (4) (Математическая) Произвести разбивку рабочего задания АВМ по элементам… Разработать таблицы команд, преобразующих элементы рабочего процесса в форму, понятную машине.
Сформулировав эти четыре задачи, д-р Тьюринг сказал, что система хранения (система памяти) должна быть как экономичной, так и доступной. В качестве примера высоко экономичной, но при этом недоступной системы, он привел ленту телеграфного буквопечатающего аппарата. Она давала возможность хранить около десяти миллионов двоичных цифр всего за 1 ф. ст., но человек мог потратить несколько минут на развертывание ленты в поисках одной единицы информации. А вот триггерные схемы, включавшие электронные лампы, являли собой пример высоко доступной, но крайне неэкономичной формы хранения данных; искомое единицу информации можно было найти в течение микросекунды и даже быстрее, но за 1 ф. ст. можно было сохранить только один или два бита. Требовалось компромиссное решение. Одной из подходящих систем виделась «акустическая линия задержки», которая обеспечивала хранение 1000 двоичных цифр, или битов, ценою в несколько фунтов стерлингов, а вся требуемая информация был доступна в течение миллисекунды.
Увы, возбужденно объясняя комитету принцип действия линии задержки, Алан быстро забылся и начал сыпать техническими терминами, и его выступление прервали даже еще до того, как он успел затронуть вопрос о разработке «таблиц команд». А посему Дарвин был настроен скептически, и небеспочвенно.
Глава комитета поинтересовался, что произойдет, если машине зададут команду решить уравнение с несколькими корнями. Д-р Тьюринг ответил, что регулятору нужно будет учесть все возможные варианты, так что создание программных команд — дело «кропотливое».
Хартри поспешил прийти ему на помощь, приведя довод, апеллировавший скорее к послевоенному патриотизму, нежели к науке:
… Она [АВМ] требует всего 2000 электронных ламп против 18000 ЭНИАКа, а емкость ее «памяти» составляет 6000 чисел в сравнении с 20 числами «памяти» ЭНИАКа…. Если АВМ не будет создана в нашей стране, США прехватят инициативу… наша страна показала большую гибкость, по сравнению с американцами, в использовании аппаратуры для решения математических задач. Хартри призвал признать приоритетное значение проекта Алана перед уже существующим предложением по созданию большого дифференциального анализатора.
Эта действительно дальновидная и великодушная рекомендация исходила от человека, который потратил большую часть своего собственного времени и сил на разработку дифференциального анализатора. Это была чистая победа цифрового подхода над аналоговым. Хартри, конечно же, видел почти уже готовый ЭНИАК и мог видеть «Колосс» по окончании войны. И он был человеком отзывчивым и готовым помочь, с развитым духом сотрудничества.
Все еще не убежденный, Дарвин спросил, можно ли будет использовать машину для других целей, если она не оправдает всех надежд д-ра Тьюринга. Это будет зависеть главным образом оттого, какая часть машины не будет действовать, — ответил Алан. Но, в общем и целом, он уверен, что машина сможет послужить многим целям.
Судя по всему, он призвал себе на помощь все свое терпение, и, только стиснув зубы, наблюдал за попытками Дарвина понять принцип универсальности. Потом Уомерсли вынес на обсуждение вопрос, не игравший никакой роли в докладе Тьюринга — об опытном образце машины.
А затем члены комитета заговорили о возможной стоимости машины. Уомерсли сказал, что опытный образец может быть построен где-то за 10 000 ф. ст., и все согласились, что на этом этапе точно оценить общую стоимость целой машины невозможно.
На смету капитальных расходов, предварительно прикинутую Аланом, большого внимания не обратили. Уомерсли сказал, что затраты могут превысить ее в четыре или пять раз. На самом деле, членов комитета, похоже, раздражило и раздосадовало, что Алан нарушил демаркационную линию, самовольно вторгшись в административную сферу. Тем более, что он расписал смету так, как будто мог сам обойти магазины и купить нужное оборудование. Комитет предпочел заслушать рекомендации, особенно представителей министерства снабжения, курировавшего все военные контракты.
Затем комитет тайным голосованием принял решение поддержать предложение о разработке и строительстве Математическим отделом автоматической вычислительной машины такого типа, как предложил д-р А. М. Тьюринг, и глава комитета согласился обсудить финансовые и прочие аспекты проекта с главным управлением.
Алан Тьюринг затаил большую и острую неприязнь к заседаниям и совещаниям такого рода, обидевшись на то, что решение на нем было принято не в силу ясного понимания его идей, а по причинам политического и управленческого свойства. Доклад, который он представил, оказался на поверку малозначимым для членов комитета: главное, что-то написано на бумаге, а что именно — не так уж и важно. Однако сэр Чарльз Дарвин начал действовать, нисколько не мешкая, Уже 22 февраля он написал в министерство почт об этой «электронной математической машине новейшего типа, которая обещает значительно превзойти по всем параметрам все, что было создано где-либо прежде».
В общих чертах, ее действие строится на принципах, разработанных нашими сотрудниками во время войны для одного проекта министерства иностранных дел, и мы хотим воспользоваться этим, заручившись [вашей] поддержкой… в особенности м-ра Флауэрса, имеющего некоторый опыт в разработке электронной части проекта.
Первый ответ из министерства почт был обнадеживающим, и 17 апреля Дарвин смог представить в консультативный совет Управления научных и промышленных изысканий убедительный план действий, показавший, что он к тому моменту уже упорядочил все основные идеи:
…Возможность создания новой машины наметилась в написанной несколько лет назад статье д-ра А. М. Тьюрингом, когда он показал, какой широкий спектр математических задач можно решить (теоретически, по крайней мере), установив правила и представив машине делать все остальное. Ныне Д-р Тьюринг работает в штате Национальной физической лаборатории и является ответственным за теоретическое обоснование данного проекта, а также за разработку множества аспектов, имеющих более практическое значение.
Дарвин привел три примера больших вычислений, которые машина могла бы выполнять, и пояснил:
Готовая машина будет, конечно, стоить дорого; по расчетам, на ее создание может потребоваться свыше 50 000 ф. ст., если не в два раза больше. На первых порах можно построить меньшую по величине машину, сохраняющую все основные характеристики, примерно за 10 000 ф. ст. Но ее главная функция сведется к выявлению тех деталей проекта, которые не возможно спроектировать без испытаний на практике, а ее сфера применения будет ограничена самоцелью конструирования ради этих испытаний. А они включают проработку линий задержки и триггерных схем, и эта часть работы будет проведена в министерстве почт, где имеются все условия и специально обученный персонал, в сотрудничестве с д-ром Тьюрингом и его помощниками…
Маленькая машина не будет миниатюрной заменой большой машины, но станет впоследствии частью полномасштабной машины. Есть надежда, что целая машина будет собрана за три года… Предлагаем приступить к делу немедленно и в порядке первостепенной важности к проектированию и конструированию этой предварительной версии машины. И, если она оправдает ожидания, это будет наглядным обоснованием для выделения больших средств на создание настоящей действующей машины. С учетом ее скорости работы и легкости, с которой она может переключаться с решения задач одного типа на задачи другого типа, вполне вероятно, что одной машины окажется вполне достаточно, чтобы решить все задачи, заданные ей со всей страны…
Дарвин запросил на «маленькую машину» 10 000 ф. ст. в текущем финансовом году. 8 мая 1946 года Управление научных и промышленных изысканий одобрило его заявку и заверило — в случае, если «маленькая машина» оправдает ожидания, оно поддержит заявку на выделение средств в сумме до 100 000 ф. ст. на создание полномасштабной машины. 15 августа Казначейство санкционировало выделение 10 000 ф. ст., хотя, по стандартной процедуре, отказалось от дальнейших обязательств. Между тем еще 18 июня Национальная физическая лаборатория по собственной инициативе направила письмо в министерство почт с просьбой произвести разработку линий задержки. Проект АВМ сдвинулся с места. Сегодня, наверное, такая оперативность навеивает ассоциации с ударными пятилетками, и все же не следует забывать, что речь шла о машине, призванной решать все задачи, заданные ей целой страной! Наследие тотальной войны и захвата общей системы связи теперь можно было направить на создание совершенной универсальной машины.
Написав доклад, Алан продолжил усовершенствовать свой проект и писать «таблицы команд» для машины на бумаге. И получил даже помощь, поскольку Дарвин решил, что «в порядке первостепенной важности» можно подключить к проекту еще двух научных сотрудников. Первым из них был Джеймс Харди Уилкинсон, блестяще закончивший Тринити-колледж при Кембриджском университете в 1939 г. и к тому времени посвятивший шесть лет численному анализу диапазона воздействия взрывчатых веществ. И не кто иной, как Чарльз Гудвин разыскал его, чтобы пригласить в Национальную физическую лабораторию для работы в той же области численного анализа. Но, когда Уилкинсон посетил лабораторию для ознакомления, Алан рассказал ему о волнительном проекте АВМ. И именно АВМ подтолкнула его к решению остаться на государственной службе и не возвращаться к «чистой» математике Кембриджа. Было условлено, что он будет совмещать работу на арифмометрах для Гудвина с работой над АВМ. Такое положение было чревато возможными трениями внутри отдела, но, к счастью, Джеймс Уилкинсон оказался невероятно спокойным и дипломатичным человеком, он присоединился к Алану 1 мая 1946 г. Второй помощник подключился чуть позже; им стал молодой Майк Вуджер, сын специалиста в области теоретической биологии и философии науки Джозефа Генри Вуджера. Майка сразу же привлекла концепция универсальной машины Тьюринга. Но, к несчастью, попрактиковавшись на настольных вычислительных машинах в июне, он заболел инфекционным мононуклеозом и оказался не у дел до сентября.
Майк Вуджер был в лаборатории, когда в июне объявили о награждении Алана. За свои заслуги в военное время он был представлен к ордену Британской империи — обычного знака отличия для гражданских служащих такого ранга, какой уже был у Тьюринга. Документы о присвоении ордена были помещены на дверь его кабинета, что привело Алана в бешенство — возможно, потому что он не хотел, чтобы его расспрашивали, за что он удостоился такой награды, а, быть может, из-за абсурдности рекламирования такого признания. Король тогда был болен, и медаль ордена Британской империи с надписью «За Бога и империю» Алану прислали по почте. Он убрал ее в свой ящик для инструментов.
Уже к маю, когда Джеймс Уилкинсон подключился к работе над проектом АВМ, прорабатывалась версия V. Ее единственное отличие заключалось во включении технического обеспечения условного ветвления. Эту версию быстро сменили переходная версия VI, а затем версия VII. К тому моменту Алан уделял больше внимания скорости работы машины (по сравнению с исходной концепцией, изложенной в докладе) за счет расширения аппаратного обеспечения. В версии VII было добавлено достаточно технических средств и стало возможным, чтобы одной командой достигалось выполнение всей арифметической операции, с извлечением двух чисел из памяти, сложением их и вводом результата обратно в память. И снова ради быстроты работы возникла необходимость запрограммировать команды управления так, чтобы выход каждой команды со своей линии задержки происходил по возможности в тот момент, когда завершалось выполнение предыдущей команды. Поскольку для выполнения различных операций требовалось разные промежутки времени, создание таблиц команд превратилось в сущую головоломку. И опять же ради скорости было принято решение о том, что каждая команда должна конкретизировать, какую команду «голова» воспримет следующей, и отвергнута идея о естественном потоке последовательности команд, подаваемых с периодическими интервалами. Увеличилась и длина командных слов с тридцати двух до сорока импульсов, что также потребовало расширения аппаратного обеспечения. В версии VII каждая такая операция занимала сорок микросекунд, но затем требовалось еще сорок микросекунд, чтобы ассемблировать следующую команду в цепи управления. И снова ради быстроты работы Алан надумал исключить этот период посредством дублирующей части оборудования с тем, чтобы ассемблирование каждой команды можно было произвести во время выполнения последней команды.
Это полностью соответствовало тезису его доклада: поскольку опыт появится с написанием таблиц команд, ему придется модифицировать элементы системы аппаратного обеспечения. И это также согласовывалось с тем, что ему придется пожертвовать простотой конструкции ради большей скорости работы машины. Тем не менее, ожидать в скором времени сборки действующих компонентов ему не приходилось; «таблицы» на бумаге предназначались для реальной машины, а не для теоретических изысканий.
А в этом плане разработки продвигались далеко не быстро. Проект АВМ сдерживала одна труднопреодолимая проблема. Хотя в НФЛ имелся радиотехнический отдел, в нем не было ни одного инженера-электронщика, способного не то, что реализовать, а просто оценить идеи Алана. Еще в декабре 1944 г. Уомерсли сказал исполнительному комитету, что планы новых машин «могут быть осуществлены только в результате кооперации отдела и определенных промышленных организаций — возможно, на основе контрактов на проведение опытно-конструкторской работы». Но для того, чтобы сделать такую кооперацию возможной, не было предпринято ровным сетом ничего. Была вероятность договориться с фирмой «Инглиш Электрик», с которой у Дарвина были налажены контакты, о выпуске промышленного образца машины. Директор этой фирмы, сэр Джордж Нельсон, присутствовал на мартовском заседании исполнительного комитета. Но кто займется непосредственно опытно-конструкторской работой, так и не было ясно. И это сильно подрывало уверенную надежду, выраженную в докладе Алана, о возможности выпуска оборудования для системы логического управления в течение шести месяцев.
Другая проблема крылась во внутренней структуре НФЛ. В Хэнслопе Алан с удовольствием работал сообща с Доном Бейли; они оба полагали свой опыт и умения во благо общему делу. В этом смысле проект «Далила» был хорошей практикой. И Алану, безусловно, хотелось продолжать работать в таком же ключе, пусть и над более крупным проектом. (Он туманно намекал, чтобы Дон самолично приехал в НФЛ, но тот не мог освободиться раньше февраля 1947 г.; к тому же, Дон считал себя чем-то большим, чем «король усилителей», который, по словам Алана, был так ему нужен.)
Однако Национальная физическая лаборатория не поощряла подобного ad hoc, неофициального сотрудничества. Ее принцип разделения труда строился на четком разграничении мозга и рук, умственной и физической работы. Алану была отведена роль разработчика-теоретика, не требующей, чтобы он что-либо понимал в практическом конструировании. Бюрократические устои НФЛ зиждились на необходимости заполнять множество разных заявок и требований для получения разрешения на использование оборудования. Но, что еще хуже, послевоенный хаос, сильно смахивавший на «черный рынок» излишков военных материалов, требовал проявления спекулянтской сноровки в поисках аппаратуры любого типа. По этим причинам заполучить в ближайшей перспективе инженеров, способных создать нужные схемы, было нереально, как было нереальным для Алана осуществлять самоличное руководство практическими опытами.
Проект АВМ столкнулся и с еще одним затруднением общего свойства, аналогичным тому, что сопровождало появление сообщений об «Энигмы» в 1940 г. Весь арсенал своих идей, накопленных за десяток лет, Алан преподнес на блюдечке организации, чурающейся новаторства. В 1940 г. криптоаналитики наивно полагали, что правительство сможет быстро и эффективно воспользоваться дешифрованными сообщениями. На самом же деле, потребовалось два года болезненной адаптации, прежде чем это произошло, даже под прессингом войны. И вот теперь опять «неисчерпаемое изобилие» проекта АВМ требовало перемены отношения. Но прецедента для этого не возникало, и несмотря на то, что управленцы понимающе обсуждали проблему, ясного представления, как нужно действовать, ни у кого не было. Традиции внедрения важных инновационных разработок в НФЛ не было, и проект АВМ отчетливо высветил консервативный и негативный характер учреждения. И, как в 1941 г., Алан раздражала и напрягала организационная инерция, ему совершенно непонятная.
Не мог он, похоже, понять и того, что в 1946 г. уже не стоило рассчитывать на сохранение за Блетчли-парком высокой приоритетности, которой он в войну, равно как и патриотичной готовности других организаций пожертвовать своей независимостью, типичной в военное время. Так, например, в Доллис-хилле не приходилось сомневаться в компетентности инженеров «Колосса», но его директор Рэдли не придавал большого значения работе над линиями задержки для НФЛ. Министерство почт сосредоточилось на решении своих собственных многочисленных задач, нерешенных или отложенных из-за войны. И ни более высокие руководящие инстанции, ни национальная политика не координировали теперь приоритеты различных государственных учреждений. Алан и Уомерсли нанесли официальный визит в Доллис-хилл 3 апреля 1946 г., и после этого работа началась — но совершенно бессистемная, с перспективой возможного, но не поддающегося прогнозированию отставания и довлеющим чувством неуверенности в правильности пути.
Алан писал в своем докладе о возможности использования электронно-лучевых трубок, как совершенно иного типа системы хранения данных. И, вероятно, по его подсказке, Уомерсли направил 8 мая 1946 году в НИИ дальней связи запрос о целесообразности исследования в институте применения таких трубок для хранения данных, пояснив: это помогло бы «найти и даже усовершенствовать подходящую альтернативу ртутной линии задержки, которую мы в настоящее время намереваемся использовать в нашей автоматической вычислительной машине». Последовавший ответ не был обезнадеживающим, и 13 августа Дарвин смог написать сэру Эдварду Эпплтону в Управление научных и промышленных изысканий:
Как я говорил вам, Уомерсли съездил в НИИ дальней связи, чтобы узнать, могли бы они сделать какую-нибудь работу, связанную с АВМ. По его мнению, шанс есть и, похоже, самый перспективный. И я полагаю, что нам следует двигаться дальше в этом направлении. Их план работ выглядит убедительным, и, по моему заключению, с этой работой отлично бы справился Ф. К. Уильямс, он любит этим заниматься. Так что перспектива действительно есть. Я кляну себя за то, что раньше не подумал о таком варианте.
Насчет того, что будет дальше, Уомерсли стал деликатно прощупывать, как у нас обстоят дела с министерством почт. Они готовы помогать нам, и это было бы очень хорошо, но они явно не склонны слишком сильно углубляться в суть дела. Так что надо будет также согласовать первоочередные задачи с НИИ, и при необходимости я приложу для этого все усилия. Ведь у нас есть отличный шанс обогнать Америку.
Ф. К. Уильямс был одним из ведущих специалистов по электронике в НИИ дальней связи и горел энтузиазмом — не потому что интересовался вычислительными технологиями, а потому что истово стремился найти в мирное время применение знаниям и навыкам в области электроники, наработанным в радиолокации в годы войны. В этом поиске он руководствовался своим собственным мнением, и перед ним стоял выбор, идущий вразрез с «усилиями» Дарвина. Этот выбор был связан с Манчестером.
Ньюман покинул Блетчли, чтобы преподавать чистую математику в Манчерстерском университете, и забрал с собой Джека Гуда и Дэвида Риса в качестве младших преподавателей. (Рис был еще одним выпускником кембриджского курса с дипломом магистра математики, который в декабре 1939 г. появился в хижине Уэлчмена, а позднее вошел в отдел Ньюмана.) Отказавшись от лекторства в Кембридже в пользу места в Манчестерсском университете, Ньюман последовал примеру Блэкетта, тогда преподававшего физики. Вместе они составляли грозную команду — такую, что не понимала, почему Дарвин должен монополизировать сферу электронных вычислительных машин. Как первый читатель статьи «О вычислимых числах» и соавтор «Колосса», Ньюман не хуже других сознавал потенциал компьютерной техники, и, если ему и недоставало эмоциональной веры Адана в «создание мозга» и личного опыта по сборке компонентов в единое целое, он компенсировал это большей искушенностью в искусстве возможного.
В письме фон Нейману от 8 февраля 1946 г. Ньюман пояснял:
Я надеюсь приступить здесь к работе над частью вычислительной машины; в последние два — три года электронные устройства такого типа неустанно будоражили мой интерес. Примерно 18 месяцев назад я решил попробовать свои силы в запуске машины. На самом деле, одной из причин моего приезда в Манчестер было то, что положение дел здесь более благоприятно в некоторых смыслах. Это было до того, как я узнал о работе американце или о планах создания машины в Национальной физической лаборатории. Впоследствии я узнал от Хартри и Флауэрса о разных американских машинах, существующих и проектируемых.
Как только проект НФЛ был запущен, возник вопрос, а нужна ли еще одна машина. Я полагал, что здесь, как и в остальных областях техники, нужно проводить фундаментальные исследования, не думая о промышленном производстве…
По мнению Ньюмана, стоило уделять внимание математическим задачам совершенно иного сорта, чем те, с которыми пока что справляются машины, например, проверке теоремы о четырех красках или различных теорем о решетках, группах и т. п…
Он пояснил:
Как бы там ни было, я подал в Королевское общество заявку на выделение мне гранта — достаточного для старта. Я, конечно, поддерживаю тесный контакт с Тьюрингом. Обсудив вопрос с ним и выслушав Хартри и Флауэрса, я пришел к выводу что, если мы решим заниматься «математическими» задачами здесь, в указанном смысле, нам следует быть готовыми к работе со значительно меньшей памятью, хотя я и просил Королевское общество приготовиться к чему-то чрезвычайно солидному.
Ньюман рассчитывал использовать грант на покрытие капитальных расходов и выплату заработной платы сотрудникам в течении пяти лет. Королевское общество учредило комитет для изучения заявки на грант в составе Блэкетта, Дарвина, Хартри и двух чистых математиков, Ходжа из Кембриджа и Уайтхеда из Оксфорда. Дарвин выступил против на том основании, что АВМ должна была служить потребностям страны. Уомерсли выразил озабоченность тем, Ньюман отстранит Флауэрса от АВМ. Но ее никто не разделил, поскольку было решено, что Ньюман будет вести проект «другого типа машины». 29 мая Казначейство выдало Ньюману 35 000 ф. ст. То, что его предложение, как «фундаментальная наука», оказалось в сфере деятельности Королевского общества и не конфликтовало с Центром научных и промышленных изысканий, было очень разумно. Это значило, что снова повеяло удивительным дыханием математической чистоты и невинности, когда развития вычислительной техники не диктовалось необходимостью вооружения страны.
Впрочем, проволочек с продвижением проекта было еще много. Целая череда событий, при рассмотрении которых может создаться впечатление, будто руководство Национальной физической лаборатории вовсе не стремилось «создавать мозг». Между делом Алан провел несколько экспериментов в подвале Телингтон-хилла и съездил на пару недель в Принстон. Идеи американцев его не впечатлили, и он продолжил развивать свой проект.
Наконец, 18 августа 1947 г. был дан официальный старт созданию АВМ.
Уомерсли, сообщавший Дарвину о том, что АВМ будет полностью завершена к началу 1950 г., был удовлетворен. В теории АВМ все еще оставалась проектом огромной государственной важности. На практике же вышло, что НФЛ почти преуспела в его низведении до бюрократических размеров.
В июле и августе 1948 г. Алан закончил свой доклад для НФЛ, в котором почти в разговорном стиле, отражающем полемические обсуждения его идей, преимущественно в Блетчли, утверждалась идея Тьюринга о «разумной машине». Это было фактически описание мечты, царившей в Блетчли-парке, и одновременно обзор, почти в ностальгическом духе, его собственной жизни. А ключевым моментом его предложений, прозвучавших в докладе, стала идея обучения машины ради улучшения ее «поведения» до уровня разумного. Главным было то, что Алан начал всерьез размышлять о природе человеческого разума и о том, как и чем он отличался от машинного.
А 21 июня 1948 г. в Манчестере запустили первую программу первого в мире действующего цифрового компьютера с памятью. Алан узнал о том, списавшись с Уиильямсом. Дарвин только рассуждал о «труднопреодолимых математических трудностях», а в Манчестере с ними справились и выпустили компьютер за спиной Дарвина. Его система памяти строилась на использовании электронно-лучевой трубки, разработанной Уильямсом, и вся память вмещала всего 1024 двоичные цифры.
По осени Алан отправился в Камберленд с роскошным подарком — на свадьбу Боба, состоявшуюся 2 октября. А затем поехал в Манчестер налаживать свою новую жизнь — там, в университете его ждало место (Королевское общество еще 21 мая согласилось на выплату ему заработной платы из их гранта для Ньюмана, а 28 Алан Тьюринг отписал в университет о своей готовности принять их предложение и уволился из НФЛ). Планы Алана были расстроены, но эпоха планирования, если она когда-либо вообще существовала, теперь и сама подошла к концу.
Глава 7
Зеленое дерево
- Незримые всходы, бесчисленные, скрытые верно
- Подо льдом и снегом, во мраке, в каждом квадратном или кубическом дюйме,
- Отборные, в самом зачатке, в нежных пленках, мельчайшие, нерожденные,
- Как дети в чревах, спрятанные, спеленутые, спящие, сжавшиеся;
- Биллионы биллионов и триллионы триллионов их в ожидании
- (В земле и в море — вселенные их — как звезды там в небесах),
- Они пробуждаются медленно, неизбежно, в бесчисленных формах,
- В вечном предчувствии большего, нежели было до них.
В мае Алан Тьюринг согласился работать в Манчестерском университете, но он даже не догадывался о тех изменениях, которые произошли там с того времени. Тьюринга назначили заместителем директора “Вычислительной лаборатории королевского общества”. Директором лаборатории должен был стать Ньюман, а спонсором — Королевское общество. Но к октябрю стало ясно, что Ф.К. Уильямсу не нужны ни лаборатория, ни Королевское общество.
С развитием электронного оборудования немаловажным фактором было то, что изобретательность Уильямса подкреплялась его теплыми отношениями с руководством Научно-исследовательского института дальней связи. Ему позволяли использовать оборудование института и предоставили двух ассистентов. Первым был Т. Килберн — молодой инженер, который получил диплом математического факультета в Кембридже. Через некоторое время к нему присоединился Д. Тутилл, который окончил Кембридж в тот же неспокойный военный год, что и Килберн.
Первые шаги в разработке алгоритмов принадлежат Ньюману.
Он объяснил принцип хранения чисел и программ, что по словам Уильямса заняло около получаса, и выступил в поддержку дизайна фон Неймана. В конце 1947 года планы Уильямса и его двух ассистентов начали очень быстро развиваться. Перспектива математических трудностей не пугала ученых, они, как говорил Уильямс, «действовали быстро, чтобы не было слишком много времени на раздумья». В результате у них получился крошечный компьютер, о существовании которого Алан узнал летом. Память машины состояла всего лишь из одной электронно-лучевой трубки.
Электронно-лучевая трубка имела преимущество над ртутной линией задержки хотя бы потому, что исключала эти самые задержки. В сущности, это была обычная деталь оборудования, которая не требовала даже точного машиностроения и котрую можно было купить в магазине. На практике это достоинство несколько омрачалось тем, что у большинства таких трубок было слишком много помех на мониторе, чтобы их можно было использовать. Но такая доступность все же одержала верх, и проект сдвинулся с мертвой точки.
На самом деле устройство работало не так уж и быстро — ему требовалось 10 микросекунд на чтение однозначного числа, в то время, как ACE (автоматическая вычислительная машина), использовавший линии задержки, справлялся за одну. Но такая задержка компенсировалась тем, что информация на трубках была доступна сразу и не нужно было ждать, пока линия задержки ее передаст. Алан сравнил это с листами бумаги, которые разложены на столе под лампочкой — каждое слово или символ становится видимым, если сфокусировать на нем взгляд.
Сначала электронно-лучевая трубка могла хранить 2048 ячеек памяти, периодически их регенерируя. Но потом количество снизили до 1024. Они были распределены на 32 слова, каждое из которых состояло из 32 разрядов. Каждое слово представляло собой число или команду. Вторая электронно-лучевая трубка хранила команды, которые выполнялись на данный момент, и их адреса. Третья работала как аккумулятор для арифметических операций. Это была одноадресная машина, где для каждого действия была своя отдельная команда. Порядок работы полностью отличался от того, который был разработан для ACE. Как бы то ни было, арифметика здесь была сведена к минимуму. Главным было показать, что операции копирования и вычитания вообще возможно проводить с простой системой условного ветвления. Если бы работа Национальной физической лаборатории Великобритании (НФЛ) была завершена, то устройство Хаски было бы куда более совершенным, чем это. На практике Манчестерский компьютер представлял собой ужасный беспорядок из стоек, лампочек и проводов, три экрана светились в темноте комнаты с грязной коричневой плиткой. Уильямс с восторгом называл это «поздним туалетным стилем».
Пожалуй, эти слова лучше всего описывают запоминающее устройство на основе электронно-лучевой трубки. Однако и этого было достаточно. Вот, как Уильямс описывал день своего триумфа:
«Когда приготовления закончились, мы тщательно ввели программу и нажали кнопку «Старт». Точки на дисплее тут же пустились в сумасшедший пляс. Во время первых испытаний это всегда была пляска смерти — она не приносила нам никаких полезных результатов. Но что самое страшное так это то, что не было никаких подсказок, в чем могла быть ошибка. Но однажды этот танец наконец прекратился, и перед нами засиял долгожданный ответ.
Это случилось 21 июня 1948 года. Килберн написал первую программу для ЭВМ с электронной памятью. Машина умела находить наибольший делитель для целого числа, перебирая по очереди все простые числа, которые меньше его самого.
После этого уже ничто не было таким, как прежде. Мы знали, что теперь нужны только время и силы, чтобы сделать следующую, более значительную по размерам машину. И тогда мы решили взять еще одного специалиста, чтобы удвоить наши усилия».
Как раз тогда Килберн в разговоре с Тутиллом упомянул, что «приезжает парень по имени Тьюринг, который он написал программу».
К тому моменту Уильямс уже знал про Алана, поскольку тот работал в Национальной физической лаборатории. Килберн кое-что о нем слышал, а Тутилл, который ничего не знал про Тьюринга, работал с его программой и, к своему удивлению (или самодовольству) выяснил, что она не только не была эффективна, но и содержала ошибку.
В Манчестере у них была машина, которая работала, и это значило куда больше, чем впечатляющие или даже гениальные планы. Для Алана это значило, что, пока он был в отпуске, Манчестерский университет поменял свои намерения из политических соображений. В июле сэр Генри Тизард, главный научный советник Министерства обороны, увидел машину и признал, что она имеет национальное значение. Он заявил, что нужно как можно быстрее продолжить ее развитие, чтобы страна осталась лидером по производству больших вычислительных машин, несмотря на то, что в США в подобные проекты вкладывают огромные силы и средства. Он обещал исследователям полную поддержку во всем.
Это многое значило для инженеров, но не имело ничего общего с «фундаментальными математическими исследованиями», которыми собирался заниматься Ньюман, и с грантом, который ему для этого предложило Королевское общество.
То, что Тизарда устроила такая ситуация, никого не удивило. В 1948 году он поддержал идею создания атомного оружия в Великобритании (хотя уже через год поменял свое мнение, заявив, что Британия перестала быть великой державой). Правительство потратило около 100 тысяч фунтов, и эти торопливые, почти панические движения сильно контрастировали с величественным движением науки в НФЛ. Это куда больше относилось к событиям в Берлине и Праге, чем к намерениям Королевского общества (как раз тогда, в октябре 1948 года, снос бомбоубежищ вдруг прекратился). И это точно не имело никакого отношения к Алану, который оказался пешкой в большой игре. Таким образом, в контракте не было ничего ни про Ньюмана, ни про Блэккета. Ньюманом двигал исключительно математический интерес: он с отчаянием думал о том, каких результатов можно было бы достичь, если бы таланты тех, кто работал в Блэтчли, были применены в его области. Он хотел купить машину и заниматься математикой, но в тот момент стало ясно, что это невозможно: главной задачей для всех становилось развитие оборудования. Поэтому его интерес к проекту ослаб, и он не возражал, что дальнейшая работа будет проходить без него. Блэкетт же был раздражен, тем более, что он был противником развития атомного оружия.
Но даже если не брать в расчет политические причины, Алан слишком поздно занялся работой над проектом. Без него уже успели принять важное решение о том, чтобы использовать в качестве резервного хранилища магнитный барабан, который разработали в Биркбек-колледже. Заряды располагались на дорожках вокруг барабана и считывались при помощи головки. Такое устройство могло заменить множество медленных, дешевых линий задержки, чтобы хранить информацию и команды, котрые не нужно использовать прямо сейчас. Еще одно новшество, изначально предложенное Ньюманом, заключалось в использовании «Б-трубки». Это была дополнительная электронно-лучевая трубка, с помощью которой можно было вносить изменения в команды. Ее можно было использовать, работая, например, с последовательностью чисел, и при этом избегать сложного программирования. В целом это противоречило принципам, которые Алан разрабатывал для ACE: согласно этим принципам, использование команд было предпочтительнее, чем введение дополнительного оборудования.
Если же говорить в целом, то все решения уже были приняты другими. Они называли ее малой экспериментальной машиной или «ребенком». Но это был чужой ребенок, а не его. Уильямс все переиграл. Сначала Дарвин надеялся, что Уильямс построит машину по инструкциям Тьюринга, а теперь Тьюринг должен был сделать так, чтобы машина Уильямса заработала. При всем желании тут не обошлось без конфликта, тем более, что группа инженеров не хотела, чтобы ими кто-то руководил. Граница между математиками и инженерами оказалась очень четкой, между ними опустился своего рода железный занавес. Этот компьютер никогда бы не стал компьютером Алана Тьюринга, как мог бы им стать ACE. Поэтому Алан постарался освободиться от какой-либо административной ответственности за этот проект настолько, насколько это было возможно. Но он мог помогать в его создании, а впоследствии, возможно, и пользоваться им. Кроме того, его привлекали зарплата в размере 1200 фунтов в год (в июне 1949 года ее повысили до 1400) и значительная свобода действий и перемещений.
Итак, Алан остался в Манчестерском университете уже не как заместитель директора лаборатории, а просто внештатный «профессор». Все называли его «профессор», чем, возможно, вызывали раздражение у настоящих профессоров. С одной стороны, после Кембриджа Манчестерский университет был шагом назад. Это был технический университет на Севере, который выпускал специалистов — докторов и инженеров, но здесь не появлялось абстрактных идей. С другой стороны, университет гордился своими высокими стандартами, а Ньюман создал здесь кафедру математики, которая могла потягаться с кембриджской. И хотя Алан был крупной рыбой для этого маленького пруда, но он не чувствовал себя не в своей тарелке. Безусловно, атмосфера в университете была мрачноватая: здания поздней викторианской эпохи, черные от копоти после промышленной революции. Напротив — трамвайные пути, здание Общества трезвости и пространство, изрытое бомбардировщиками. Алан обратил внимание на то, что все мужчины в городе выглядели слабыми и нездоровыми — неудивительно, если учесть, что Манчестер еще не оправился от Великой депрессии.
Как и Принстон, это было местом ссылки, только без американского гостеприимства. Нонконформистский северный средний класс оказался менее гостеприимен к инакомыслящим, чем более привелегированный Кембридж. Но в городской жизни Манчестера была искра благородства, это не было похоже на церковно-приходские отношения в обществе маленького городка. Здесь выпускали либеральную газету «Manchester Guardian», которую Алан читал вместе с «The Observer». В общем, Тьюринг нашел свои плюсы в том, чтобы работать в индустриальной Англии, где не было красивых ритуалов кембриджской жизни.
Если бы Алан действительно не хотел застрять в этом чистилище, он мог бы уволиться и вернуться в Кингс-колледж, где он все еще занимался исследовательской работой. Были еще разговоры о том, что он может поехать работать в университет Нанси во Франции (он мог сделать это через связи Винера с местными математиками). Но это не зашло дальше шуток Нормана Рутледжа про мальчиков в Нанси. У Тьюринга были варианты в Америке, но все они противоречили его принципам. Вместо этого он выбрал лучшее для себя решение. Он остался. Для многих в Манчестере он был обузой, этаким предметом смущения, но им приходилось с ним мириться.
В марте 1949 он писал Фреду Клейтону:
«Я привыкаю жить в этой части света, но Манчестер по-прежнему кажется мне гнилым городком. Я стараюсь не ходить туда чаще, чем это необходимо».
Вместо этого Тьюринг работал дома. Большинство работников университета жили рядом с парком Виктория, но жилье Алана располагалось дальше — в большом пансионате на Нерсери авеню в г. Хейл. («Здесь только одна большая кровать, но я думаю, тебе она покажется безопасной», — писал он Фреду, предлагая погостить). Алан жил на самом краю застроенной зоны, так что в пригороде он мог спокойно совершать свои пробежки вдали от сатанинских мельниц и гнетущей атмосферы университета. Он все еще поддерживал отношения с Уолтонским атлетическим клубом и бегал в кроссах за их команду, как например, 1 апреля 1950 года. Впрочем, все спортивные соревнования остались для него в прошлом, и он занимался бегом, чтобы не терять форму. Иногда он бегал и по Манчестеру, но чаще он ездил среди его низких построек на велосипеде. В дождливые дни он смотрелася очень комично в непромокаемом желтом плаще и шляпе. Позже он приделал к велосипеду маленький моторчик, но так никогда и не пересел на автомобиль.
«Я могу внезапно сойти с ума за рулем и попасть в аварию», — драматически заявил он Дону Бейли. В Принстоне он не очень-то хорошо управлялся с автомобилем — похоже, у него была привычка за рулем грезить наяву математикой.
Он мало заботился о том, что происходит в университете, обращая внимание лишь на то, что казалось ему важным. Для него люди делились на тех, кто, по его мнению, занимается серьезным делом, и на всех остальных. На всех остальных он не обращал внимания. При этом его убеждения не имели никакой связи с должностями и официальными позициями.
В сентябре 1947, когда Алан ушел из НФЛ, туда же пришел молодой инженер Ньюман, который разбирался в импульсной электронике и работал с воздушной радиолокационной системой H2S. Тэд Ньюман, который тоже был хорошим бегуном, бывал в Манчестере почти каждый месяц и виделся с Аланом. Они не только тренировались вместе, но могли часами спорить по поводу идеи «разумной техники». Это при том, что, если бы кто-то попытался заискивать с Аланом, тот мог бы резко оборвать разговор, даже если бы этот человек был куда более квалифицирован.
Он не давал людям второго шанса. Если они оказывались на одной волне с Тьюрингом, он мог часами напролет общаться с ними и быть к ним таким внимательным, что им могло бы стать даже неловко. Но часто бывало так, что Алану становилось неинтересно. Тогда он просто молча уходил. Его отношение к людям было как импульсы в компьютере — все или ничего. В своей ненависти к притворству он часто отталкивал тех, кто был с ним искренен, но слишком неуверен в своих действиях. В 1936 году он чувствовал, что Харди не подпускает его к себе, но теперь Алан сам стал тем человеком, который выбирает, с кем он хочет общаться и на каких условиях.
Многие бы назвали его поведение детским или мальчишеским. У него была неряшливая, но бросающаяся в глаза внешность. Многие воспринимали его как несносное чадо под крылом Ньюмана. В городе он мало с кем общался: социальная жизнь потребовала бы от него постоянно идти на компромиссы. Несколько раз он навещал Боба и его жену, которые жили в Чешире. Единственный, у кого он часто бывал, был Ньюман — его жилище было словно маленьким кембриджским островком на Севере. Они много общались и даже называли друг друга просто по именам, что для Макса Ньюмана было делом весьма необычным — на работе он славился соблюдением формальностей. Жена Ньюмана была писательницей Лин Ирвин. Она впервые столкнулась с Аланом, когда на Пасху в 1949 году он играл вместе с ними в крикет. Тогда ее поразило его пренебрежение манерами и привычка подолгу молчать. В конце концов молчание прерывалось душераздирающим заиканием и смехом, от которого становилось не по себе даже его друзьям. Ее удивило, что Алан часто не смотрит в глаза тем, с кем разговаривает, и резко выходит за дверь, не сказав ни слова благодарности.
Алан не шел ни на какие компромиссы с местным обществом и даже не стал присоединяться к небольшому гомосексуальному сообществу, которое образовалось из некоторых работников университета, манчестерского «Guardian» и «Би-би-си». В этом отношении его мысли по-прежнему были в Кембридже. Переезд в Манчестер означал для него разлуку с Невиллом, который изучал статистику в аспирантуре. Следующие два года Алан будет приезжать в Кембридж каждые несколько недель, чтобы увидеться с ним.
В 1949 году во время Пасхальных праздников они вместе съездили во Францию, где катались на велосипедах и осматривали пещеры Ласко (Алана привлекали доисторические рисунки). Также каждый август Алан проводил в Кингс-колледже.
Итак, Кингс-колледж по-прежнему выполнял свою защитную роль. Настоящим светлым рыцарем здесь был Робин, хотя отнюдь таким не казался — лихой, энергичный, со временем он обзавелся гигантским мощным мотоциклом и кожаной амуницией. Иногда он брал Алана с собой прокатиться по пригороду. Алан рассказал друзьям об игре в охоту за сокровищами, в которую играли в Принстоне, и несколько лет он, Робин, Ник Фурбэнк и Кит Робертс были увлечены этой игрой. Они носились по округе (Алан — на своих двоих, остальные — на велосипедах) и искали спрятанные подсказки. Однажды к игре присоединился Ноэль Аннан — он произвел настоящий фурор, снабдив подсказку со старым французским текстом про шампанское бутылкой настоящего шампанского. Все они были очень разными. Например, Кит Робертс часто беседовал с Аланом про науку и компьютеры, но ничего не понимал в некоторых областях, про которые часто беседовал Алан. Он часто не улавливал тех зашифрованных посланий, которыми они обменивались между собой. Ник Фурбэнк, в свою очередь, не имел серьезного научного образования, но его по-настоящему увлекала философия рационализма, математическая теория игр и принципы имитации.
Алан, Робин и Ник придумали новую игру с незамысловатым названием «Подарки». Один человек выходил из комнаты, а другие составляли список подарков, которые, по их мнению, он хотел бы получить. Когда ведущий возвращался, он задавал вопросы об этих подарках и должен был их выбирать. Один из подарков в тайне от ведущего назывался «Томми». Когда ведущий выбирал его, раунд заканчивался. Потом мнимые подарки переросли в нечто большее.
Манчестерским инженерам предстояло построить образец компьютера, чтобы в компании Ферранти могли использовать его как прототип. В течение всего 1949 года инженеры, которые теперь могли нанимать новых сотрудников, занимались усовершенствованием малой экспериментальной машины. К апрелю у нее появилось еще три электронно-лучевых трубки для оперативной памяти и устройство умножения, а магнитный барабан к тому времени уже был опробован. Каждое машинное слово на электронно-лучевой трубке теперь содержало 40 бит, 20 из них занимала инструкция.
Ньюман изобрел гениальное решение, как можно во всей красе продемонстрировать машину, у которой крохотная память, зато есть умножающее устройство. Решением был поиск больших простых чисел. В 1644 году французский математик Мерсенн предположил, что числа 217 — 1, 219 — 1, 231 — 1, 267 — 1, 2127 — 1, 2257 — 1 должны быть единственными простыми числами в своем диапазоне. В XIIX веке Эйлер доказал, что одно из них — 231 1 = 2,146,319,807 — действительно простое. Но чтобы доказать то же самое в отношении других чисел, нужна была новая теория. В 1976 году французский математик Лукас нашел способ вычислить, является ли простым 2p — 1, с помощью возведения в квадрат и избавления от остатков. Он объявил, что число 2127 — 1 было простым. В 1937 году выяснилось, что в теории Мерсенна была ошибка, поэтому число, найденное Лукасом, так и осталось самым большим простым из известных.
Метод Лукаса был как будто специально создан для компьютера, который оперирует двузначными числами. Ньюман объяснил Тутиллу и Килберну задачу, и в июне 1949 года они создали программу, которая помещалась в четыре запоминающие электронно-лучевые трубки и все еще оставляла место для вычислений до P = 353. По пути они проверили все, что успели сделать Эйлер и Лукас, но больше простых чисел не обнаружили.
В это время между инженерами и математиками был заключен нелегкий договор о союзе, две стороны разделили обязанности. Ньюман начал проявлять немного больше интереса к самой машине, а Алан взял на себя роль математика и составил список команд, которые должен выполнять компьютер, хотя инженеры в итоге этот список сократили. При этом в создании самой логической конструкции он участия не принимал — здесь все сделал Тутилл. Но у Алана был контроль над механизмом ввода и вывода, который предназначался для пользователя.
В НФЛ он занимался перфокартами, поэтому здесь взял на себя задачу создать телетайп, который потом можно будет использовать на принтере. Конечно же, он был очень хорошо знаком с системой телепринта Блэтчли и Хэнслоупа, который работал от батареи и «частенько заменял 1 на 0». Все знали, что перфоленты он взял в месте, о котором нельзя было говорить. После того, как все это было соединено вместе, 32 комбинации из нулей и единиц в ленте телетайпа стали языком Манчестерской машины.
Работа Алана заключалась в том, чтобы сделать машину удобной в использовании, однако его понятия об удобстве не всегда совпадали с понятиями окружающих. Конечно же, он раскритиковал принцип, по которому работал Уилкис: он предполагал, что аппаратура должна быть такой, чтобы пользователю было просто отслеживать команды. Так, буква А была символом для добавления команды. Алан, напротив, считал, что удобство должна обеспечивать программа, а не оборудование. Еще в 1947-м году он говорил о вопросах удобства как о «небольших дополнительных деталях» и подчеркивал, что все можно решить «с помощью бумажной работы». Теперь, в Манчестере, он мог доказать это на практике в работе с машиной, которая не была построена так, чтобы обеспечивать удобство программисту. Как бы то ни было, к 1949 году он уже потерял интерес к такому виду работы. Ему казалось, что не стоит беспокоиться о «маленьких дополнительных деталях» при переводе из двоичной системы исчисления в десятичную. Ему было легко работать с позиционной системой счисления с основанием 32, и Алану казалось, что так же должно быть и для всех остальных.
Чтобы использовать позиционную систему счисления с основанием 32, было необходимо найти 32 символа для 32 разных «цифр». За основу он взял систему, которая уже использовалась инженерами, в ней они передавали 5-битные комбинации, согласно коду Бодо. Таким образом, цифра «двадцать два», соответствующая последовательности 10110 двоичных цифр, была бы записана, как «Р», это буква, которая в последовательности 10110 зашифрована для обычного телепринтера. Работа в этой системе означала запоминание кода Бодо и выраженной в нем таблицы умножения, что он и лишь немногие другие могли сделать с легкостью.
Официальной причиной выбора этого примитивного метода кодирования, которая влекла за собой кропотливую работу для пользователя, стало то, что благодаря электронно-лучевой трубке можно и даже нужно было проверять содержимое запоминающего устройства путем «подглядывания», как говорил Алан. Он настаивал на том, что увиденные пятна на трубке должны были цифра за цифрой соответствовать написанной программе. Для того чтобыподдержать этот принцип последовательности, было необходимо выписать позиционную систему счисления с основанием 32 в обратном порядке, так, чтобы наименее значимая цифра шла впереди. Это делалось по техническим причинам, которые также предполагали считывание электронно-лучевых трубок слева направо. Еще одна проблема возникла из-за 5-битной комбинации, которая не соответствовала никакой букве алфавита в коде Бодо. (Это была та же проблема, что и с системой Rockex). Поэтому Джефф Тутилл уже ввел дополнительные символы. Ноль в позиционной системе счисления с основанием 32 был представлен, как «/». В результате целые страницы программ были покрыты такими чертами, в Кэмбридже говорили, что это соответствовало ливням за окнами в Манчестере.
К октябрю 1949 года манчестерская машина была готова, за исключением деталей, которые должен был сделать Ферранти. Пока машина собиралась, на прототипе для экономии времени было решено написать руководство по использованию, а также основные программы, которые можно было бы использовать на компьютере (в будущем он будет называться Марк I).
Это уже было следующей задачей Алана. Наверняка, он потратил много времени на проверку каждой функции на прототипе и спорил об их эффективности с инженерами. К октябрю он написал программу ввода для того, чтобы при первом включении компьютер мог читать информацию с лент, сохранять ее в нужном месте и начать ее использовать.
Но это была работа не для него, на данном этапе Руководство Handbook7, которое он написал для программистов, содержало множество полезных и практичных советов, а также несколько новых идей. Но на самом деле, в нем не было ничего и близко напоминающего его работу в Национальной физической лаборатории Великобритании (НФЛ) с числами с плавающей точкой. Он также ничего не сделал и с подпрограммами. В манчестерском проекте существовало два вида памяти: на машине Ферранти было восемь электронно-лучевых трубок, каждая из них содержала 1280 цифр и магнитный барабан, который предполагал не менее 655360 цифр, расположенных в 256 рядах по 2560 цифр в каждом. Программирование заключалось в процессе передачи данных и программ из барабана в трубки и обратно. Предполагалось, что каждая подпрограмма будет храниться на новом ряду барабана и будет перемещаться согласно требованиям. Схема Тьюринга затрагивала эту тему, но не вдавался в подробности. В своем Руководстве он небрежно написал:
Подпрограммы любой программы могут иметь подпрограммы. Это можно сравнить с блохами. Думаю, что невозможно представить себе длину паразитарной цепи блох, если только не верить в бесконечно длинные цепи. Такова же ситуация и с подпрограммами. Одна из них в конечном счете всегда сводится к программе без подпрограмм.
Но он это оставил на совести пользователя. Его собственная «Схема А» предполагала существование лишь одного уровня подпрограмм. В Руководстве было выявлено множество проблем с коммуникацией, с которыми он столкнулся в Манчестере. Для Уильямса и других инженеров математик был тем, кто мог делать вычисления, в частности, он показал им двоичную систему в новом свете. Однако для Тьюринга их схемы с позиционной системой счисления и все остальное были лишь простыми иллюстрациями того факта, что математики были вольны использовать систему символов так, как они хотели. Для него было очевидным, что символ не имеет никакой внутренней связи с объектом, который он символизирует, поэтому в начале его Руководства был длинный абзац, объясняющий, почему существовало убеждение, согласно которому последовательность импульсов могла быть истолкована в виде цифр. Эта была более точная, а также более творческая идея, но она не была понятна человеку, который никогда раньше не знал, что цифры могут быть выражены не только в порядке от 1 до 10. Не то, чтобы Алан презирал рутину и детальную работу с системой символов, как этого требовала манчестерская машина: в своем докладе он склонялся от абстрактного к детальному таким образом, что это имело смысл только для него. Создание языков программирования, которое он назвал «очевидным» в 1947 году, могло бы поглотить и его свободное понимание системы символов, а также готовность к простой работе, когда это необходимо. Но это именно то, чего он не сделал, и таким образом он не использовал то преимущество, которое давало ему понимание абстрактной математики.
С октября 1949 года у него появились два ассистента. Одним из них был аспирант Одри Бэйтс. Другой была Сесили Попплвелл, с которой он провел собеседование летом 1949 года. Она была выпускницей Кэмбриджа с опытом работы с перфокартами. Они работали в офисе главного здания университета викторианской эпохи и ждали пока не закончится строительство новой лаборатории, где планировалось использовать машину Ферранти. Но это было не самое удачное сотрудничество, так как он никогда не признавал их права на существование. В первый день Сесили он объявил: «Время ланча!» и вышел из комнаты, так и не показав, где можно поесть. Он охотно разговаривал со всеми, кто заходил в их офис, но ужасно раздражался, если его ассистенты участвовали в разговоре. Иногда ситуация накалялась, однажды в его сторону полетели насмешки, когда Алан пришел в офис в одном лишь пальто. В другой раз он занял десять шиллингов и прикрепил их к шортам по дороге домой. Обычно они были рады, когда он не приходил, а такое случалось довольно часто.
Работа с прототипом проходила не так гладко. Согласно Сесили Попплвелл, это требовало огромной физической подготовки. В начале работы ты должен был предупредить инженеров и включить ручные переключатели, чтобы ввести входную программу. Светлая полоса на контрольной электронно-лучевой трубке показывала, что цикл ожидания запущен. Когда цель была достигнута, нужно было бежать наверх, чтобы вставить ленту в устройство считывания, а потом вернуться к машине. Если все шло по плану, ты должен был позвонить инженерам, чтобы они включили ток записи и очистили аккумулятор. Если все сложилось удачно, то лента считывалась. Как только рисунок на мониторе показывал, что процесс окончен, инженеры переключали ток записи на барабан. Как и любое устройство, машина была потенциальным источником ложных показаний, кроме этого было сложно вставить ленту с первого раза, каждый раз нужно было бежать в другую комнату.
На самом деле, на прототипе запись с трубок на магнитный барабан была практически невозможной. Алан писал:
Если судить с точки зрения программиста, наименее надежной частью машины являются магнитные объекты письма. Неизвестно, насколько записи были неправильными, как и их чтение. Последствия неправильных записей были куда более катастрофическими, нежели другие ошибки, совершенные машиной. Автоматические записи практически никогда не делались. Другими источниками ошибок было неправильное хранение трубок и множительного устройства.
Джеф Тутилл был заинтересован в идеях Тьюринга, но некоторые из них были особенно непрактичны с точки зрения ограниченного времени и отсутствия доступных средств. Например, была схема, которую он придумал для распознавания символов на компьютере. Она предполагала сложную систему с телевизионной камерой, чтобы передавать визуальное изображение в электронно-лучевые трубки и уменьшать его до стандартных размеров. Возможно, Джеф Тутилл был самым терпеливым к такого рода мечтам, но для него, как и для инженеров, Алан Тьюринг был блестящим математиком, но совершенно посредственным инженером. В 1949 году все его попытки стать инженером закончились.
Между тем теоретическая сторона развития компьютерной техники стала общественным достоянием. В 1948 году Норберт Винер опубликовал книгу под названием «Кибернетика», определяя это слово, как «наука о связи, управлении и контроле в машинах и живых организмах». То есть он описывал мир, в котором информация и логика были превыше энергии или состава материалов. Винер и фон Нейман проводили конференцию зимой 1943–1944 годов на тему «кибернетических» идей, однако книга Винера ознаменовала существование темы за пределами узкого понимания этой проблемы на бумаге. На самом деле Кибернетика была очень техническим термином, непонятным, но общественность ухватилась за него как за ключ, который может открыть завесу тайны и ответить на вопрос, что же случилось с миров за последнее десятилетие.
Винер считал Алана кибернетиком. Правда, что «кибернетика» была близка к тем проблемам, которые долго его мучили, и которые не вписывались ни в одну академическую категорию. Весной 1947 года по дороге к Нэнси, Винеру удалось «поговорить о фундаментальных идеях кибернетики с Тьюрингом», объяснил он в предисловии к своей книге.
К 1949 году американское превосходство в науке и в других областях никого не удивляло, а 24 февраля 1949 года стало знамением времени. Тогда известный журнал News Review представил дайджест, в котором с гордостью было рассказано, как британские ученые сумели предоставить «ценные данные» американскому профессору.
На самом деле Алан и Винер придерживались схожих интересов, однако у них были разные перспективы. У Винера была тенденция, при которой практически все области человеческой деятельности представлены в отрасли кибернетики. Другим их отличием было абсолютное отсутствие чувства юмора у Винера. В то время, как Алан пытался донести свои идеи с легким английским юмором, Винер говорил с удивительной серьезностью о некоторых весьма спорных вопросах.
Например, в кибернетике решили проблему, как происходит визуальное распознавание образов в мозгу. Одна из историй, которая оказалась ложной, но которая нашла отражение в серьезной литературе, гласит, что эксперимент был предназначен для проверки памяти каменщиков путем гипноза. Их спрашивали: «Какой формы была трещина в пятнадцатом кирпиче на четвертом ряду в таком-то и таком-то доме?». Алану этот эксперимент показался забавным.
Еще одним различием стал тот факт, что Винер был открыто обеспокоен экономическими последствиями кибернетических технологий. Война не изменила его мнения, что машины должны создаваться для службы человеку, а не наоборот. Его комментарии и высказывания отнесли его к крайне левым партиям в 1948 году.
Но научные дебаты по поводу кибернетики в Британии не затрагивали тему использования компьютеров или освоения технологий военного времени для мирных и конструктивных целей или преимущества сотрудничества и конкуренции. Когда журнал News Review назвал кибернетику «пугающей наукой», имелись в виду не экономические последствия, а угроза привычным представлениям. Послевоенная реакция на планирование и меры жесткой экономии нашла отражение в способе мыслить, который был также принят интеллигенцией. То же можно было сказать и о Алане Тьюринге, это напоминало его собственную борьбу в 30-х годах с проблемами мысли и чувства. Времена изменились, и теперь уже не епископ, а нейрохирург вел британскую интеллигенцию к идее, что машины могут мыслить.
Сэр Джеффри Джефферсон возглавлял кафедру нейрохирургии в Манчестерском университете и знал о манчестерском компьютере из разговоров с Уильямсом. Но Винер оказал большее влияние на его представления, так как он настаивал на схожести нервных клеток мозга с компонентами компьютера. На этом уровне данная аналогия почти не была подкреплена фактами, Винер оперировал лишь сравнениями между сбоями компьютера и нервными заболеваниями. Некоторые из его утверждений было довольно легко оспорить, но у Джефферсона были свои козыри:
Нельзя объяснить поведение человека или животного, изучая лишь нервные механизмы. Ведь организм — это сложный механизм благодаря эндокринной системе, а благодаря эмоциям мысли обладают разными оттенками. Половые гормоны определяют особенности поведения, которые обычно невозможно объяснить, а иногда просто впечатляют (как у мигрирующих рыб).
Вообще, Джефферсону нравилось говорить о сексе. В одном из его часто цитируемых отрывков говорилось:
До тех пор, пока машина не научится писать сонеты, сочинять концерты, в которых чувствуются мысли и эмоции, мы не сможем утверждать, что машина и мозг равны. То есть машина не только должна написать, но и понять, что она это сделала. Ни один механизм не может почувствовать удовольствия от успеха, тепло от лести, жалость из-за совершенных ошибок, злость, когда она не может получить, что хочет.