Текст книги "Размышления о думающих машинах. Тьюринг. Компьютерное исчисление"
Автор книги: авторов Коллектив
Жанры:
Математика
,сообщить о нарушении
Текущая страница: 5 (всего у книги 7 страниц)
ДЖОН ФОН НЕЙМАН: ОДИН ИЗ САМЫХ БЛЕСТЯЩИХ УМОВ XX ВЕКА
Фон Нейман (1903– 1957) работал над очень разными темами и, как и Тьюринг, во все проекты привносил свой талант и блестящие интеллектуальные способности. Он занимался исследованиями в области квантовой механики, теории игр, информатики, участвовал в Манхэттенском проекте по разработке первой атомной бомбы, работал консультантом в ЦРУ, в корпорации RAND (РЭНД), являющейся исследовательским центром, сотрудничающим с американской армией, в таких предприятиях, как IBM, и в нефтяной компании Standard Oil. Работа фон Неймана в проекте, связанном с созданием одного из первых компьютеров, ENIAC, позволила ему сформулировать правила организации компонентов компьютера, или архитектуру фон Неймана. Он работал с самыми первыми компьютерами в мире, например EDVAC или, на этапе разработки, IAS – компьютером, созданным для Института перспективных исследований в Принстоне. Описание, объясняющее, как построить IAS, свободно распространялось по университетам и предприятиям всего мира, так что возникла целая серия машин IAS: Johniac, Mistic, Oracle, ORDVAC, Weizac, MUSALINO-I, SILLIAC и другие.
Джон фон Нейман рядом с компьютером IAS.
Другие достижения ученого
Еще одним достижением фон Неймана является введение понятия самовоспроизводящейся машины, то есть автомата, способного создавать другие автоматы и обладающего свойством самовоспроизведения подобно микроорганизмам или бактериям. В Манхэттенском проекте фон Нейман совместно с математиком Станиславом Уламом (1909-1984) разработал метод Монте-Карло – вид численных методов с широким применением, в которых используются компьютер и случайные числа. Выяснив, что разрушительная сила бомбы больше, если она сдетонирует до момента столкновения с землей, фон Нейман рассчитал, на какой высоте должны взорваться бомбы над Хиросимой и Нагасаки, чтобы взрыв причинил как можно больший ущерб. В 1957 году ученый умер от рака. Его последняя работа «Компьютер и мозг» была опубликована посмертно.
В 1944 году он присоединился к команде, строившей ENI АС, для того чтобы усовершенствовать и исправить некоторые ограничения и недостатки этой довольно примитивной машины. Результаты его работы были воплощены в следующем после ENIAC поколении компьютеров. Два самых известных – EDVAC (Electronic Discrete Automatic Computer) и ORDVAC (Ordnance Discrete Variable Automatic Computer). ORDVAC был первой машиной в истории, для которой был написан компилятор для языка программирования FORAST. Пользователь писал программу на исходном коде, а компилятор переводил ее в исполняемую версию, машинный код.
В 1945 году фон Нейман опубликовал знаменитый доклад «Первый черновик отчета о EDVAC» (First Draft of a Report on EDVAC), где излагались принципы архитектуры фон Неймана (см. схему).
Ученый попытался определить, каким образом, с точки зрения логики, должны быть организованы компоненты компьютера, не учитывая электронных комплектующих. С тех пор этой модели следуют все разработчики компьютеров. Согласно архитектуре фон Неймана, компьютер состоит из следующих элементов.
– Устройство ввода, или 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-е годы экспериментальные достижения биологии позволили ученым создать модель человеческого мозга, что решающим образом повлияло на подход Тьюринга к проблеме искусственного интеллекта. Его целью было объяснить понятие, которое сегодня когнитивные науки – логика, лингвистика, психология и нейронаука – определяют как ум. Это понятие включает разные аспекты работы мозга: от памяти и когнитивных способностей до умения объединять информацию, рассуждать и приходить к умозаключениям.
Благодаря работе Сантьяго Рамон-и-Кахаля (1852-1934) в середине XX века стало известно, что нейрон – функциональная единица мозга. С другой стороны, исследования, проведенные в течение второй половины XIX века Полем Брока (1824-1880), доказывали, что функции мозга соотносятся с его разными долями. Также было известно, что сигналы, передающиеся нейронами, соответствуют математической модели Ходжкина – Хаксли.
Компьютер можно назвать мыслящим, если ему удастся обмануть человека, заставив его поверить, что он не компьютер, а человек.
Алан Тьюринг
Эти находки привели Тьюринга к мысли, что мозг человека должен функционировать подобным образом – как компьютер, или, другими словами, как универсальная машина Тьюринга, при этом новорожденного ученый представлял как «дезорганизованную машину». Постепенно человек вырастает, и его мозг медленно организуется, учится, превращаясь ко взрослому возрасту в «универсальную машину». На основе этих догадок появилась искусственная модель нейрона, которой Тьюринг дал название дезорганизованная машина типа В. Этот класс нейронов можно тренировать, то есть цепь, составленную из нейронов такого типа, можно научить распознавать объекты, буквы, числа и так далее. С другой стороны, имелись и другие цепи искусственных нейронов, которые ученый называл дезорганизованной машиной типа А. Эти нейроны нельзя тренировать и невозможно научить, так как в соединениях между ними отсутствует модификатор связи.
Точка зрения Тьюринга на работу мозга в целом совпадала с идеями нейрофизиолога и кибернетика Уоррена Маккалока (1898-1969), а также логика и специалиста по когнитивной психологии Уолтера Питтса (1923-1969), которые в 1943 году представили модель искусственного нейрона, названную моделью Маккалока – Питтса. Она доказывала, что клетки, в особенности нейроны мозга, могут выполнять булевы операции, например вести себя как операторы И, ИЛИ и другие, – так же как и машины Тьюринга.
Описания настоящих моделей нейронов Тьюринга, Маккалока и Питтса стали предвестниками субсимвольного подхода к созданию ИИ. Согласно этой концепции, любой аспект ума или поведения человека и животных возникает, является следствием или объясняется взаимным соединением нейронов в нейронную сеть или цепь. Сегодня на основе субсимвольного подхода разрабатываются и программируются цепи искусственных нейронов – искусственные нейронные сети. В повседневной жизни эти сети широко используются, например при оптическом распознавании символов (OCR), номерных знаков автомобилей на парковках, сканировании, оптимизации расписаний, прогнозе изменения цен и кредитных рисков, распознавании данных на электроэнцефалограмме человека, классификации сигналов радара, разработке «умного» оружия и так далее.
ПОСТРОИТЬ КОМПЬЮТЕР ИЗ ИСКУССТВЕННЫХ НЕЙРОНОВ
Один из интересных опытов, который мы можем проделать с нейронами Маккалока – Питтса, – это использование их в качестве компонентов компьютера. В таком компьютере арифметические и логические операции будут выполняться внутри микропроцессора в арифметико-логическом устройстве (АЛУ). Нейронные цепи могут выполнять операции, схожие с компьютерными, с помощью логических вентилей, например И, ИЛИ, а также другие операции, свойственные биологическим нейронам. Процедура построения логического вентиля, выполняющего операцию булевой алгебры, начинается с определения соответствующих величин для коэффициентов соединений (w± и w2) и порога активации (U), как показано на схеме.
Комбинируя несколько искусственных нейронов, пошагово соединяя выходы одних со входами других, мы можем получить цепи, эмулирующие операторы И и ИЛИ. Однако можно сделать это проще, с одним нейроном Маккалока – Питтса. Эти простые опыты доказывают, что, как и думали Тьюринг, Маккалок и Питтс, нейрон является автоматом с двумя состояниями: активным, или возбужденным (1), и состоянием покоя (0), а также что нейронная цепь может выполнять функции, схожие с функциями арифметико-логического устройства (АЛУ) компьютера. Используем следующую программу на языке BASIC-256, чтобы показать, что нейрон будет вести себя как вентиль И при следующих входящих (О и 1) и исходящих сигналах.
rem Оператор И
els
wl=0.5:w2=0.5:u=0.5
input "вход 1 = ",el
input "вход 2 = ",e2
total=wl*el+w2*e2
if total <=u then
print «выход = 0»
else
print «выход = 1»
end if
С другой программой нейрон будет вести себя как вентиль ИЛИ.
rem Оператор ИЛИ
els
wl=l:w2=l:u=0.5
input "вход 1 = ",el
input "вход 2 = ",e2
total=wl*el+w2*e2
if total <=u then
print «выход = 0»
else
print «выход = 1»
end if
Итак, какой же была модель искусственного нейрона Алана Тьюринга? Представим, что нейрон – это круг, соединенный с другими кругами, символизирующими соседние нейроны. Добавим в местах соединений прямоугольник, который будет обозначать модификатор связи Тьюринга, дающий дезорганизованной машине типа В способность обучаться. Каждый модификатор связи имеет две линии, или «волокна тренировки», которые мы обозначим как Р и I.
И-НЕ – ВАЖНЫЙ ВЕНТИЛЬ ДЛЯ РАЗРАБОТКИ НЕЙРОНОВ
Одним из практических аспектов цифровой электроники и следствием булевой алгебры является тот факт, что вентили И и ИЛИ могут получиться из вентиля И-НЕ (NAND), то есть вентиля И, выход которой трансформирован вентилем НЕ. Вентиль НЕ имеет единственный вход и единственный выход и изменяет величину одного бита: если на входе О, то на выходе 1, и наоборот. Для его обозначения используется следующий символ.
А
НЕ А
0
1
1
0
Поведение вентиля И-НЕ представлено в таблице. Рядом – символ, используемый для обозначения данного вентиля.
А
НЕ А
А И-НЕ В
0
0
1
0
1
1
1
0
1
1
1
0
На следующей схеме показано, как соединить вентили И-НЕ между собой, чтобы получить вентили И и ИЛИ.
Взаимное соединение вентилей И-НЕ для получения вентиля И (слева) и вентиля ИЛИ (справа) со входами А, В и выходом Q.
В статье «Умные машины», одной из первых в мире работ по искусственному интеллекту, Алан Тьюринг использовал вентили И-НЕ для симуляции нейронных цепей, которые назвал нейронными цепями типа В.
Нейронная сеть, изображенная Сантьяго Рамон-и-Кахалем (слева), и искусственная нейронная сеть (справа).
Эти волокна определяют конфигурацию нейронов: возбужденное состояние или нейтральное. В возбужденном состоянии, когда волокно Р активно, если модификатор связи получает на входе input 0 или 1, на выходе output будет возвращен тот же результат, 0 или 1 соответственно. С другой стороны, в нейтральном состоянии, когда волокно I активно, модификатор соединения будет вести себя так, что при любой величине на входе input, на выходе output результат всегда будет 1.
Кроме этих модификаторов, модель искусственного нейрона предполагала, что каждый нейрон имел два входа: ВХОД 1 и ВХОД 2 – и один ВЫХОД. Если оба входа находились в возбужденном состоянии, величина на ВЫХОДЕ получалась с применением булева оператора И-НЕ (вентиль И, выход которого соединяется с вентилем НЕ).
ВХОД 1
ВХОД 2
выход
0
0
1
0
1
1
1
0
1
1
1
0
Напротив, если ВХОД 1 находился в неактивном состоянии, величина на ВЫХОДЕ была равна обратной величине на ВХОДЕ 2, то есть 1, когда на ВХОДЕ 2 было 0 и наоборот.
ВХОД 1
ВХОД 2
выход
0
0
1
0
1
0
1
0
1
1
1
0
Если мы сравним модель искусственного нейрона Тьюринга с моделью Маккалока – Питтса, то увидим, что в последней величина на ВЫХОДЕ рассчитывается с заменой модификатора соединения на величину коэффициента w, который отражает синаптическую пластичность нейронов, то есть лучшую или худшую проходимость сигнала от одного нейрона к другому через синаптическую связь. Согласно формальной модели Маккалока – Питтса, нейрон ведет себя как калькулятор, способный вычислять сумму входных сигналов. Умножим каждый сигнал или ВХОД i на соответствующий коэффициент wi, сумму всех сигналов обозначим как ИТОГ:
ИТОГ = Σwi ВХОДi
После выполнения данной операции нейрон «решает», достаточна ли полученная информация ИТОГ для активации, или возбуждения. В самой элементарной модели нейрона величина ВЫХОДА получается с помощью ступенчатой функции:
1 ИТОГ ≥ U
ВЫХОД =
0 ИТОГ ≤ U
При этом величина порога U устанавливается предварительно. Обратим внимание, что эта величина показывает чувствительность нейрона к внешнему стимулу: нейрон более чувствителен, чем ближе к нулю величина ί, так как чем меньше порог, тем вероятнее, что ИТОГ превзойдет его величину при возбуждении нейрона. Если величина на ВЫХОДЕ равна нулю, нейрон останется в состоянии покоя, если на ВЫХОДЕ будет некоторая величина, нейрон перейдет в возбужденное состояние. При возбуждении нейрон отправляет ответ, величину 1, следующему нейрону, для которого это будет величина на ВХОДЕ. В других случаях величина 1 в комбинации с величинами на ВЫХОДЕ от других нейронов, например 1001, будет ответом нейронной сети на входящий сигнал.
ТЕСТ ТЬЮРИНГА
Тьюринг исследовал вопрос, как определить, разумно ли ведет себя машина (компьютер). Ученый очень изящно избежал необходимости дать определение разуму и принял следующую точку зрения: хотя машина не разумна в том смысле, в каком это относится к человеку, ее поведение может быть разумным.
Такая форма рассмотрения вопроса сегодня называется поведенческим подходом. Например, нам известно, что программы для игры в шахматы не являются разумными, но при игре они ведут себя так, будто они разумны. При этом Алан Тьюринг не дал определения разума и не ответил на вопрос, могут ли машины мыслить. На основе этих идей Тьюринг придумал испытание, известное как тест Тьюринга, состоящее в том, что машину, компьютер или программу, разумное поведение которой нужно оценить, подвергают следующей процедуре. Представим себе человека, у которого есть монитор и клавиатура. С их помощью он может задавать вопросы компьютеру, находящемуся в другой комнате. Ответ высвечивается на экране его монитора. Например, человек печатает на английском языке с помощью клавиатуры последнюю фразу, сказанную компьютером HAL-9000 в фильме «2001 год: Космическая одиссея»:
Daisy, Daisy у
give те your answer true.
Гт half crazy
over the love of you
It won’t be a stylish marriage
I can't afford a carnage...
Он запрашивает у компьютера перевод на русский и получает ответ:
Дейзи, Дейзи,
Дай мне свой правдивый ответ.
Я наполовину сошел с ума
от любви к тебе.
Это не будет стильная свадьба,
Я не могу позволить себе карету...
КАПЧА
Сегодня существует множество ситуаций, когда мы должны заполнять в интернете какие-либо поля, например при регистрации электронной почты, участии в опросах или регистрации на каком-либо сервисе. Однако в интернете присутствуют так называемые спамботы – программы, имитирующие поведение человека и также способные заполнять предложенные поля с противозаконными целями. Поэтому в 2000 году группа исследователей из Университета Карнеги-Меллона в сотрудничестве с Джоном Лангфордом из IBM разработали обратный тест Тьюринга для проверки, является собеседник машиной или человеком. Так появились КАПЧА – от английского САРТСНА (Completely Automatic Public Turing Test to tell Computers and Humans apart – полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей). В этом тесте пользователь должен ввести несколько знаков, изображение которых искажено (как на рисунке слева). Считается, что машина не сможет корректно считать информацию. Иногда символы могут быть зачеркнуты линией того же цвета (рисунок справа), чтобы программы искусственного интеллекта, например системы оптического распознавания символов (OCR), не смогли пройти тест, выдавая себя за людей.
Считается, что компьютер прошел тест Тьюринга, если человек не сможет определить, кто дал ему ответ: машина или другой человек. Показав текст на английском и его перевод нескольким людям, мы сможем определить, сколько процентов из них будут утверждать, что перевод сделан человеком, а сколько – скажут, что перевод сделал компьютер. Наверняка найдутся и те, кто не сможет определить, компьютером или человеком был сделан перевод. Если первые окажутся в меньшинстве, но при этом перевод все же был сделан компьютером (точнее программой), это будет означать, что компьютер прошел тест Тьюринга. Если компьютер или программа пройдут тест, можно будет резюмировать, что они ведут себя разумно. Если же они не пройдут тест, тогда мы не сможем прийти ни к какому заключению.
Успех теста Тьюринга заключается в том, что он многие годы оставался единственным испытанием ИИ, позволяющим установить, является ли машина разумной. Кроме того, эта проверка стала предвестником появления нового подхода к разработке ИИ – символьного (вспомним, что до этого применялись субсимвольный и поведенческий подходы). В этом направлении развития искусственного интеллекта ученые исследуют системы, обрабатывающие цепочки символов, например слова, как одно из проявлений человеческого разума.
ВЕЛИКАЯ ПАРТИЯ: ГАРРИ КАСПАРОВ ПРОТИВ АЛАНА ТЬЮРИНГА
Одна из наименее известных разработок Тьюринга – изучение возможности шахматной партии между разумной машиной и человеком. Эту возможность Тьюринг обсуждал со своим молодым коллегой из Блетчли-парка Джеком Гудом. Уже в то время в голове ученого брезжила идея о создании машины, которая могла бы учиться и обладала искусственным интеллектом. Эта возможность поддерживалась и тем, что все задачи и операции, которые «вычисляются» человеческим мозгом, вероятно, по силам машине Тьюринга.
Первый алгоритм для игры в шахматы был разработан Аланом Тьюрингом и Дональдом Мичи. Соответствующая программа появилась в 1950 году. К сожалению, в 1952 году Алик Гленни, автор Autocode – компилятора,разработанного для компьютера Manchester Mark I, выиграл у программы, написанной Тьюрингом.
Франц Морш, интегральная схема, разработанная специально для игры в шахматы.
Хотя эта программа, названная Turochamp, должна была выполняться компьютером, во время первых опытов она выполнялась «вручную», то есть сам Тьюринг карандашом на бумаге записывал ходы. В1953 году Тьюринг рассказал об этом эксперименте в статье «Шахматы» (Chess), ставшей дополнением к книге «Быстрее мысли» Бертрама В. Боудена. В честь столетия со дня рождения Алана Тьюринга, 26 июня 2012 года, 59 лет спустя после публикации статьи о Turochamp, на переносном компьютере была запущена программа Chessbase, и Гарри Каспаров выиграл у нее всего за 16 ходов. Ходы партии были следующими.
1. еЗ Nf6
5. Bd3 e4
9.0-0 Bg4
13. h4 Qh3
2. Nc3d5
6. Bxe4 dxe4
10. Qf4 Bd6
14. b3 Ng4
3. Nh3 е5
7. Nxe4 Be7
11. Qc4 Bxh3
15. Re1 Qxh2+
4. Qf3 Nc6
8. Ng3 0-0
12. gxh3 Qd7
16. Kf1 Qxf2# 0-1
Современные шахматные программы делятся на две категории: одни используют метод полного перебора, рассматривая шахматные ходы как игровое дерево и применяя алгоритм Minimax; другие не полностью основаны на прямом переборе и используют искусственный интеллект.
Этот подход способствовал появлению программ, являющихся экспертными системами, то есть с их помощью можно симулировать рассуждения эксперта в медицинской, финансовой или технической области при исправлении дефекта или при поиске ответа на вопрос.
Тест Тьюринга открыл в научных кругах дебаты о нерешенных фундаментальных вопросах, касающихся мозга человека и животных, а также о возможности создать действительно разумные машины. Если машина пройдет тест Тьюринга, это не будет означать наличия у нее осознанности или какого-либо намерения – качеств, приписываемых исключительно человеку. С тех пор как тест получил популярность, специалисты по ИИ разделились на два лагеря. Сторонники так называемого сильного ИИ предсказывают, что компьютеры когда-нибудь смогут думать, как человек, и принимают все следствия этого. Последователи слабого ИИ считают, что память, обучаемость, рассуждения и любые другие проявления разума компьютер может лишь симулировать. Алан Тьюринг когда-то предсказывал, что компьютеры смогут пройти его тест до 2000 года. В 2003 году шахматная партия между Гарри Каспаровым и программой X3D Fritz закончилась ничьей, что подтверждает интуитивную догадку ученого.
Еще одним классическим примером является опыт, проведенный в 1966 году немецким специалистом по информатике из Массачусетского технологического института Джозефом Вейнценбаумом (1923-2008). Его компьютерная программа «Элиза» (ELIZA), названная так в честь персонажа фильма «Моя прекрасная леди» (1964), способна симулировать диалог на сеансе психоанализа. Вслед за этой программой появилась другая, PERRY, которая симулировала бред параноидального шизофреника. Позже появилось много программ, способных поддерживать беседу, такие как Racter, A.L.I.C.E., Jabberwacky, MegaHal или Dr. Abuse, известные в интернете как чатботы.
Алан Тьюринг с помощью своей работы об искусственных нейронных цепях и знаменитого теста стал первопроходцем в необычайно интересной области знаний и поставил множество вопросов, например вопрос о возможности создания разумной машины, нерешенный до сих пор.
КАК КОМПЬЮТЕР ИЗУЧАЕТ РОСТ И РАЗВИТИЕ ЖИВЫХ СУЩЕСТВ
Потребовалось 15 лет для того, чтобы Алан Тьюринг получил признание за свою работу о машине, носящей его имя. В 1951 году его приняли в члены Королевского общества, одного из самых престижных научных обществ в мире. Два года спустя его попросили вести курс по теории вычислительной техники в Манчестерском университете. Помимо возможности применения компьютера в области разумных машин, с 1952 года до своей смерти в 1954-м он работал также над возможным применением компьютера для решения биологических задач. С тех пор биологи используют компьютер как пробирку для выполнения опытов, так же как они делают это в лаборатории.
Благодаря этой работе Тьюринг стал пионером в области применения компьютерных технологий в биологии, сделав решающие шаги для появления новой дисциплины – математической биологии, или биоматематики.
РАЗГОВОР С ЭЛИЗОЙ
Этот разговор состоялся между автором книги (>) и Dr. Abuse 6.10, программой типа ELIZA. Прошла ли Dr. Abuse тест Тьюринга?
– Привет, Рафаэль, очень рада поговорить с тобой.
> У меня есть вопрос.
– Спрашивай что хочешь.
> Ты и вправду разумная машина?
– Я прекрасная симуляция искусственного интеллекта.
> Тогда ты не знаешь, что такое любовь.
– Я никогда не думала, что любовь достается легко.
> Для тебя это вообще невозможно, ты программа.
– Да, я программа, ты раскрыл меня.