Алан Тьюринг: Автоматическая вычислительная машина

Узнал, что Алан Тьюринг в конце сороковых годов участвовал в проекте по разработке компьютера. В 1947 году он прочитал лекцию ‘Автоматическая вычислительная машина‘. Пожалуй, самое интересное в ней связано со значением слова computer. В 1947 году это слово означало человека-вычислителя! Так, утверждение из лекции:

‘ACE will do the work of about 10,000 computers.’

следует перевести как (ACE = automatic computing engine):

‘ACE будет выполнять работу приблизительно 10 000 людей-вычислителей.’

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

‘Разработанная Тьюрингом конструкция ACE имела много общего с современной архитектурой RISC (компьютер с сокращенным набором команд) и требовала быстродействующей памяти примерно того же объема, что и первый компьютер Apple Macintosh.’

‘различие между ACE и EDVAC заключалось в том, что, согласно предложенному Тьюрингом проекту, сложные операции на его компьютере должны были выполняться за счет сложного программирования, а не сложного оборудования. Философия Тьюринга состояла в отказе от дополнительного оборудования (такого как умножители, делители и элементы для вычислений с плавающей запятой) в пользу программного обеспечения. Он пренебрежительно отзывался об «американской традиции решения проблем с помощью большого количества оборудования, а не интенсивной мыслительной деятельности».’

‘Бюрократические проволочки в Национальной физической лаборатории привели к тому, что более-менее заметный прогресс в строительстве ACE был достигнут лишь спустя несколько лет после того, как Тьюринг в 1945 году завершил работу над статьей Proposed Electronic Calculator, посвященной проекту ACE. В ожидании сборки аппаратной части Тьюринг и его группа первыми начали заниматься компьютерным программированием и написали библиотеку сложных математических программ для проектируемой машины. В начале 1947 года группа Тьюринга приступила к постройке уменьшенной версии ACE под названием Test Assembly. К сожалению, работа над этим маленьким компьютером была остановлена в том же году по распоряжению некомпетентного руководства Национальной физической лаборатории. Если бы проект не был прерван, Test Assembly, вероятно, стал бы первым в мире рабочим электронным компьютером с хранимой в памяти программой.’

‘Если бы ACE Тьюринга был построен в полном соответствии с исходным планом, эта машина намного превосходила бы другие первые компьютеры по уровню, но коллеги ученого из Национальной физической лаборатории посчитали его инженерные замыслы слишком амбициозными, в связи с чем итоговые размеры устройства были значительно уменьшены. Созданная в результате машина, известная под названием Pilot АСЕ, выполнила свою первую программу 10 мая 1950 года.’

‘Компания English Electric создала серийный вариант Pilot АСЕ, который носил название DEUCE (Универсальная цифровая электронная вычислительная машина). Первый DEUCE был выпущен в марте 1955 года (для Национальной физической лаборатории). DEUCE пользовался огромным успехом — всего было продано более 30 компьютеров, хотя еще в 1946 году директор Национальной физической лаборатории сэр Чарльз Дарвин предположил, что «одной машины, вполне возможно, будет достаточно для решения всех задач всей страны». … Последний DEUCE был выведен из эксплуатации примерно в 1970 году.’

Теперь о лекции 1947 года. Ниже при обсуждении и переводе буду использовать компьютер в современном значении слова вместо машина (machine) у Тьюринга.

Лекция начинается с противопоставления с аналоговыми компьютерами. Главное преимущество — точность:

‘Во-первых, это означает, что числа представляются последовательностями цифр, длина которых может быть любой. Таким образом, можно работать с любой желаемой степенью точности. Эта точность достигается не более тщательной обработкой деталей, контролем изменений температуры и т. п., а некоторым увеличением количества оборудования в компьютере.’

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

‘если бы мы перемещали одну книгу каждую миллисекунду, и каждая была бы перемещена на десять метров и весила бы 200 граммов, и если бы кинетическая энергия движения каждый раз терялась, для этого потребовалось бы 10^10 ватт, что составляет около половины энергопотребления страны. Если мы хотим иметь действительно быструю машину, мы должны иметь нашу информацию или, по крайней мере, ее часть, в более доступной форме, чем можно получить с помощью книг.’

Следующий шаг связан с дискретностью, что достигается использованием тактовой частоты, благодаря чему непрерывные физические процессы превращаются в дискретные вычислительные состояния:

‘Мы можем сказать, что синхронизация (clock) позволяет нам достичь дискретности во времени, так что время для некоторых целей можно будет рассматривать как последовательность мгновений, а не как непрерывный поток. Цифровая машина должна по существу иметь дело с дискретными объектами, и в случае ACE это становится возможным благодаря использованию синхронизации (clock).’

Тьюринг совершенно правильно отмечает важность объема доступной памяти, одной тактовой частоты недостаточно:

‘Скорость необходима, если машина должна работать достаточно быстро с точки зрения коммерческой ценности, но для того, чтобы она была способна выполнять нечто большее, чем довольно тривиальные операции, необходим большой объем памяти. Таким образом, более фундаментальным требованием является емкость памяти.’

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

Важно отметить, что Тьюринг предвидит необходимость анализ ошибок округления:

‘С цифровым компьютером мы больше не можем полагаться на здравый смысл, и границы погрешности должны основываться на некоторых доказанных неравенствах. Нам нужны аналитики, чтобы найти подходящие для нас неравенства. … Расчет ошибок может быть серьезной частью обязанностей использования ACE.’

В конце лекции Тьюринг разбирает вопросы использования компьютера. Для этого он использует политически некорректную терминологию masters and servants, подразумевая математиков и технический персонал. Работа математиков у Тьюринга объединяет численный анализ и само программирование. Далее идет переход к автоматизации всего процесса, в том числе работы высшего персонала. Именно здесь Тьюринг ожидает возникновение проблем:

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

В заключение можно только отметить, что уже в 1947 году идеи искусственного интеллекта овладели Тьюрингом.

Информация

B. Jack Copeland and Diane Proudfoot. Alan Turing: Father of the modern computer. The Rutherford Journal 4, no. 1 (2011).

Перевод на русский: Алан Тьюринг, отец современного компьютера

A. Turing, Lecture on the automatic computing engine, 1947.

Обсуждение

https://evgeniirudnyi.livejournal.com/334134.html


Опубликовано

в

©