Rafael Lahoz-Beltra - Размышления о думающих машинах. Тьюринг. Компьютерное исчисление
— Устройство ввода, или input ("например, клавиатура для ввода данных).
— Выходное устройство, или output (например, монитор, на котором видны результаты операций).
— Арифметико-логическое устройство (АЛУ): выполняет арифметические (суммирование, вычитание, умножение, деление) и логические операции. К логическим операциям относятся операции сравнения, допустим в такой задаче: проверить, является ли А меньше, чем В(А< В), или условные выражения, например на языке BASIC-256 выражение IF-THEN:
if chr(a) = "A" then
print "Ты нажал на А!!!"
Также это могут быть повторяющиеся задачи или операторы цикла. Например, в этой версии языка BASIC мы можем записать символы кода ASCII, используя оператор цикла FOR-ТО:
for i=l to 256
print chr(i)
next i
— Контрольное устройство — элемент, управляющий обработкой команд программы. Например, в программе BASIC-256 последовательность инструкций rem, clg, f astgraphics... должна выполняться одна за другой в порядке появления. Еще одна задача контрольного устройства — интерпретировать значения инструкции и передавать их АЛУ. Например, если в кодовой строке стоит оператор *, АЛУ дается указание осуществить операцию умножения.
— Для того чтобы программа выполнялась, она должна храниться в основной памяти. В современных компьютерах основная память — это память ОЗУ.
ТЬЮРИНГ КАК ПРОГРАММИСТ: МАНЧЕСТЕРСКИЙ УНИВЕРСИТЕТ
В 1948 году Тьюринг ушел из Национальной физической лаборатории (NPL) и начал работать в Манчестерском университете. Там уже трудился его друг и учитель Макс Ньюман, математик из Кембриджа, который принимал участие в разработке и строительстве Colossus в Блетчли-парке. Ученые хотели организовать в университете лабораторию для разработки и конструирования компьютеров для научных, а не военных целей. Этот амбициозный проект начался под покровительством Королевского общества, одного из старейших научных обществ Британии, обладавшего высоким авторитетом в Европе. Так появилась вычислительная лаборатория Королевского общества в Манчестерском университете. Тьюринг взял на себя задачу разработки программ по численному анализу — разделу математики, занимающемуся созданием алгоритмов для решения с помощью компьютера задач по оптимизации, интегральному исчислению, дифференциальных уравнений, операций с матрицами и других, то есть для всех инструментов прикладной математики. После разработки программ должен был появиться компьютер для их выполнения.
Несмотря на азарт, с которым Тьюринг принялся за программирование, он никогда не оставлял спорт и даже стал кандидатом на участие в Олимпийских играх 1948 года, правда, в конце концов ученый не вошел в сборную Королевства.
В этой лаборатории появилось еще одно британское изобретение — компьютер, сначала названный Baby. Позже популярным стало название MADAM — сокращение от Manchester Automatic Digital Machine (Манчестерская автоматическая цифровая машина), но официально он назывался Manchester Mark I. Его создателями были Фредерик Уильямс (1911-1977) и Том Килбурн (1921-2001). Запуск компьютера был осуществлен весной 1948 года. У него была основная память и электронно-лучевая трубка, направлявшая поток электронов на стеклянный экран со свинцово-фосфорным покрытием. Manchester Mark I мог хранить программу с 17 командами в виде изображения на экране.
ЯЗЫК ПРОГРАММИРОВАНИЯ ТЬЮРИНГА 4.1.1
Язык Тьюринга, названный так в его честь, был создан в 1982 году Риком Хольтом и Джеймсом Корди в Университете Торонто (Канада). Этот язык программирования похож на Pascal и используется для изучения программирования студентами вузов. Существует несколько версий этого языка: классическая, объектно-ориентированная и Turing Plus. С 2007 года предприятие Holt Software Associates, занимающееся этой версией, прекратило участие в проекте, но среду разработки можно бесплатно скачать на http://compsci.ca/holtsoft/. Как и многие другие языки программирования, этот также считается Тьюринг-полным, так как с его помощью можно написать любую программу, которую способна выполнить универсальная машина Тьюринга. Примерами неполных по Тьюрингу систем являются формулы листов для расчетов, например Excel, или XML, используемый в интернете для обмена информацией в структурированном формате. Простой пример такой программы:
put "Привет, Тьюринг!", при ее выполнении мы получаем:
Привет, Тьюринг!
В ту эпоху в разработке компьютеров фундаментальной проблемой стала система памяти. Любопытно, что мысль о необходимости основной памяти для временного хранения программы была высказана Тьюрингом еще в 1936 году, и память была одним из элементов машины Тьюринга. Идея использования для памяти электронно-лучевой трубки принадлежала Уильямсу, эксперту по радарам, обратившемуся после войны к компьютерным разработкам. Так родилась трубка Уильямса, представлявшая собой первую в мире систему основной памяти, эквивалента сегодняшнего ОЗУ Электронно-лучевая трубка хранила на экране знаки 0 и 1 в виде точек и вертикальных тире соответственно. Устройство памяти Уильямса использовалось на компьютерах Манчестерского университета и максимально могло хранить 1024 бита, или 128 байт (байт — последовательность из 8 бит). Эта система хранения была дополнена магнитным барабаном, который, как и жесткий диск сегодня, выполнял функции вспомогательной памяти.
Еще одной интересной идеей, воплощенной в этих компьютерах, была запись команд в виде двоичного кода. Например, 1001 могло означать «умножение», в то время как 1011 означает в двоичной системе число 19. Таким образом, команды и числа отличались только своим использованием в компьютере. В 1950 году был опубликован «Учебник по программированию» для пользователей Manchester Mark I. Этот компьютер имел также коммерческую версию Ferranti Mark I, включавшую систему программирования, разработанную Тьюрингом. Несколько образцов было продано в Соединенном Королевстве, а также в Канаде, Нидерландах, Италии. Компьютер использовали для решения разнообразных задач в промышленности, кристаллографии, шахматах и др.
Глава 4
Создание думающих машин
С древности все цивилизации старались создать машины и инструменты, позволявшие уменьшить человеческий труд. Со временем машины становились все сложнее и в конце концов полностью изменили социально- экономические связи между людьми. Изобретение компьютера открыло новые возможности, среди которых — создание искусственного интеллекта.
Но какие задачи этот интеллект может выполнять?
Работа Тьюринга в Манчестерском университете является самым продуктивным этапом его жизни. Там он вернулся к вопросам, которые волновали его со времен Кембриджа. Именно в Манчестере Майкл Полани (1891-1976) — необыкновенная личность с широким кругом интересов, исследователь химии и философ — вдохновил Тьюринга на возвращение к работе о разумной машине. Его целью стало создание компьютера, который мог бы играть в шахматы, доказывать математическую теорему, переводить текст с одного языка на другой, другими словами, выполнять задачи, для решения которых человек использует свой разум. В 1950 году Тьюринг опубликовал работу «Вычислительные машины и разум» (Computing machinery and intelligence), описав в ней испытание, известное сегодня как тест Тьюринга, благодаря которому зародилось новое, необыкновенно интересное понятие искусственного интеллекта (ИИ, англ. Artificial Intelligence, АГ). Однако выражение искусственный интеллект тогда не использовалось, впервые его употребил в 1956 году американский информатик Джон Маккарти (1927- 2011) на конференции в Дартмутском колледже (США), посвященной компьютерному моделированию поведения человека.
Тьюринг рассматривал возможность разработки «умной машины», то есть компьютера, который обладал бы ИИ. С исследовательской целью ученый запрограммировал компьютер MADAM на написание любовных писем. К своему удивлению, он получил следующий текст:
Darling Sweetheart,
You are my avid fellow feeling.
My affection curiously clings to your passionate wish.
My liking yearns to your heart.
You are my wistful sympathy, my tender liking.
Yours beautifully,
MUC (Manchester University Computer)
Дорогой возлюбленный,
Ты мое постоянное жаждущее чувство.
Моя привязанность необыкновенно соединяется с твоим страстным желанием.
Мое желание мечтает о твоем сердце.
Ты моя мечта о сочувствии, мое нежное желание. Прекрасно твой,
КМУ (компьютер Манчестерского университета).
ЯВЛЯЕТСЯ ЛИ МОЗГ МАШИНОЙ ТЬЮРИНГА?
В 1950-е годы экспериментальные достижения биологии позволили ученым создать модель человеческого мозга, что решающим образом повлияло на подход Тьюринга к проблеме искусственного интеллекта. Его целью было объяснить понятие, которое сегодня когнитивные науки — логика, лингвистика, психология и нейронаука — определяют как ум. Это понятие включает разные аспекты работы мозга: от памяти и когнитивных способностей до умения объединять информацию, рассуждать и приходить к умозаключениям.