К книге
Законы мышления: В поисках математической теории разума3 Решение задач.
15%
3 Решение задач.
5

Вторая мировая война сосредоточила беспрецедентный объем интеллектуальных усилий на проблемах, имевших важное значение для американских военных. В послевоенные годы для продолжения этой работы была создана корпорация RAND. Ученых нанимали для запуска амбициозных исследовательских проектов, а университетские профессора привлекались в качестве консультантов по мере возникновения необходимости.

Одним из таких амбициозных исследовательских проектов стала Лаборатория системных исследований, созданная для изучения того, как люди совместно работают над решением задач. Цель заключалась в том, чтобы воссоздать модель среды принятия военных решений — модель, которая, по выражению ее создателей, была «сделана из металла, плоти и крови». Студентов колледжей приглашали играть роли военных на радиолокационной станции, принимающих решения по управлению системой противовоздушной обороны. Их собирали в одной комнате и предлагали симулированный сценарий, пока ученые фиксировали их действия и взаимодействия.

Одним из консультантов этого проекта был Герберт Саймон, профессор Технологического института Карнеги в Питтсбурге (который позже объединился с Институтом Меллона и стал Университетом Карнеги — Меллона). Саймон по образованию был политологом и экономистом; репутацию в научных кругах ему принесло исследование организаций. Таким образом, он идеально подходил для проекта, изучавшего, как можно создавать организации в лабораторных условиях.

Посетив Лабораторию системных исследований в феврале 1952 года, за четыре года до встречи, на которой зародилась когнитивная наука, Саймон внезапно пережил неожиданное озарение. Он наблюдал за тем, как Аллен Ньюэлл и Клиффорд Шоу — двое ученых из RAND — настраивали симуляцию. Она включала создание имитации радиолокационных карт с помощью компьютерной программы. Саймон понял, что эта машина делает нечто такое, чего он раньше не видел: выдавая координаты на карте, она создавала нечто, что можно было интерпретировать как абстрактные символы. Ему пришла в голову та же мысль, что и Аде Лавлейс более чем за сто лет до этого: «Следовательно, компьютеры могут быть универсальными символьными системами, способными обрабатывать символы любого рода».

Саймон и раньше сталкивался с компьютерами — сложными калькуляторами IBM, считывавшими данные с перфокарт, — но то были лишь системы для перемалывания чисел. Идея о том, что компьютеры способны перемалывать символы, в корне изменила его мышление. После того как тем летом Джон фон Нейман выступил в RAND с докладом о возможности игры компьютеров в шахматы — идея, которой ранее занимались и Алан Тьюринг, и Клод Шеннон, — Саймон начал задумываться о том, что потребуется компьютерам для хорошей игры. В 1954 году они с Ньюэллом отправились в долгую поездку на автомобиле до базы военно-воздушных сил, чтобы провести более масштабную версию симуляции ПВО. В дороге они обсуждали, можно ли написать компьютерную программу, способную хорошо играть в шахматы, и Ньюэлл убедился, что сможет это сделать. Но шахматы никогда не были истинной целью — в своей статье о шахматной программе Ньюэлл охарактеризовал их как «средство лучше понять те типы компьютеров, механизмов и программ, которые необходимы для решения сверхсложных задач».

Ньюэлл заручился поддержкой Клиффорда Шоу — того самого, что создавал радиолокационные карты, — и они начали опробовать эти идеи на новом компьютере, который фон Нейман спроектировал для RAND и ласково окрестил JOHNNIAC. Затем Ньюэлл переехал в Питтсбург, поступив в аспирантуру под руководством Саймона, хотя Саймон всегда подчеркивал, что в своем сотрудничестве они были равны. По мере работы над проектом (они встречались по субботам, чтобы уделять ему как можно больше времени) их цель эволюционировала от шахмат к геометрии, а затем от геометрии к логике. К декабрю 1955 года они поняли, что смогут написать программу для доказательства логических теорем, и в январе 1956 года Саймон вошел в учебную аудиторию и объявил: «За рождественские каникулы мы с Элом Ньюэллом изобрели мыслящую машину».

Когда Саймон сделал это заявление, до физического воплощения «машинной» части мыслящей машины оставалось еще несколько месяцев. Первый запуск программы «Логик-теоретик» осуществлялся моделью, сделанной из картона, плоти и крови. Саймон собрал в комнате свою семью — жену и детей девяти, одиннадцати и тринадцати лет — и нескольких аспирантов и раздал каждому по карточке с частью программы. Работая сообща и следуя правилам программы, они смогли успешно доказать логические теоремы. Тем временем Ньюэлл по телефону передавал описания программы Шоу, накручивая телефонные счета на сотни долларов в неделю, а Шоу реализовывал их на JOHNNIAC.

Вся эта работа соединилась воедино летом 1956 года. В июне Ньюэлл и Саймон представили описание программы на первом семинаре по искусственному интеллекту — месте, где и родился сам термин «искусственный интеллект» (и его аббревиатура ИИ). Полностью автоматизированный «Логик-теоретик» выдал свое первое законченное доказательство теоремы 9 августа — всего за месяц до того, как его представили на Симпозиуме по теории информации.

Делая выбор

Шахматы, геометрия и логика могут показаться совершенно непохожими друг на друга: пешки и кони, треугольники и параллелограммы, конъюнкции и дизъюнкции имеют мало общего. Как же получилось, что Ньюэлл, Саймон и Шоу начали строить систему для игры в шахматы, а в итоге создали ту, что доказывала теоремы логики?

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

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

Давайте возьмем в качестве примера шахматы. Мы начинаем с того, что фигуры расставлены привычным образом, пешки стоят перед другими фигурами, и у нас есть возможность сделать ход одной из белых фигур. Но теперь нам нужно выбрать, какой именно. Согласно правилам шахмат, мы можем сделать двадцать возможных ходов: каждая пешка может продвинуться вперед на одну или две клетки, а каждый из двух коней — пойти на одно из двух полей. Так что же нам делать?

Этому вопросу посвящены целые книги. Трудность в том, что мы знаем, к какому результату хотим прийти, но не знаем, как этого достичь. Мы хотим выиграть партию, но не знаем, какая последовательность ходов приведет к этому результату.

После нашего хода ходит соперник. У него тоже есть 20 вариантов, а это значит, что всего после одного хода с каждой стороны возможны 20 × 20 = 400 позиций фигур. После нашего второго хода количество возможных позиций возрастает до 8 902, а после ответного хода соперника — до 197 281. Каждый ход открывает новый набор вариантов, поэтому число возможностей растет стремительно. После восьми ходов с каждой стороны количество возможных позиций составляет уже 2 015 099 950 053 364 471 960. Если бы вы могли делать один ход в секунду, на то, чтобы перебрать все варианты, ушло бы более шестидесяти триллионов лет.

Один из способов наглядно представить это — дерево. У дерева есть ствол, от которого отходят ветви. Каждая из этих ветвей разделяется на более тонкие ветки, а те — на еще более мелкие веточки. Наша шахматная игра имеет точно такую же структуру: ствол — это начальная позиция, а первый набор ветвей — это 20 возможных ходов, которые мы можем сделать. Затем каждая из этих ветвей разделяется на 20 более тонких веток, соответствующих ходам соперника. Наш следующий ход делит каждую из этих тонких веток еще дальше, пока мы не дойдем до самого конца игры, где на невероятно крошечной веточке появится листок.

Играть в шахматы — значит делать выбор, который ведет нас по ветвям этого дерева в попытке добраться до листка, означающего нашу победу в партии. То же самое справедливо для геометрии и логики. Чтобы построить математическое доказательство, мы применяем последовательность правил вывода, таких как правило modus ponens в логике. Мы должны выбирать, какие правила применять — решать, по каким ветвям двигаться, — чтобы в итоге прийти к листку, соответствующему искомому математическому результату.

Сложность — играем ли мы в шахматы или строим математические доказательства — заключается в том, что нам приходится рассматривать слишком много вариантов. Мы не можем просто перебрать их все один за другим. Именно это делает данную проблему тем, что Ньюэлл называл «сверхсложной» задачей. Нужен более разумный способ рассмотрения возможных путей, и именно его открыли Ньюэлл, Саймон и Шоу.

К этому открытию — этому листку на собственных деревьях выбора — трое ученых пришли совершенно разными путями.

Ньюэлл вырос в Сан-Франциско, проводил лето в горах Сьерра-Невада и играл в футбольной команде в старшей школе Лоуэлл. Он пошел на службу в ВМС США и увлекся наукой после того, как воочию соприкоснулся с ней во время службы на корабле, перевозившем научных наблюдателей для ядерных испытаний на атолле Бикини. После окончания службы на флоте он поступил в Стэнфордский университет изучать физику. Там он посещал занятия математика Дьёрдя Пойи, написавшего книгу «Как решать задачу» о методах поиска доказательств. Ньюэлл начал писать докторскую диссертацию по математике в Принстоне, но быстро разочаровался: «Мне нужны были задачи, которые можно взять и решить. Я просто не понимал, что заставляет чистых математиков продолжать работу, исследуя структуру какой-то математической логики». Корпорация RAND стала идеальным выходом.

Саймон вырос в Милуоки, штат Висконсин. Его отец был инженером, ставшим патентным поверенным, а мать — учительницей музыки, ставшей домохозяйкой. Прочитав в старших классах множество книг как по экономике, так и по естественным наукам, Саймон поступил в Чикагский университет в надежде привнести более математический подход в социальные науки. Его выбор во время учебы уже тогда отражал склонность к взвешенным решениям: позже он признавался: «Я твердо решил специализироваться на экономике, пока не узнал, что для этого требуется курс бухгалтерского учета. Тогда я переключился на политологию, где такого требования не было». В Чикаго ему довелось посещать лекции философа и логика Рудольфа Карнапа, и он глубоко погрузился в математическую логику. Он заинтересовался устройством организаций и начал писать диссертацию, посвященную «логическим основам административной науки». Еще будучи аспирантом, он переехал в Беркли, чтобы возглавить проект по изучению муниципального управления. После защиты диссертации он вернулся в Чикаго в качестве профессора Иллинойсского технологического института. Текст его диссертации был опубликован в виде оказавшей большое влияние книги «Административное поведение», и он начал участвовать в еженедельных заседаниях авторитетного послевоенного центра экономических исследований под названием Фонд Коулса по экономическим исследованиям. Его общение с математиком Мерриллом Флудом на этих встречах привело к тому, что его пригласили стать консультантом корпорации RAND. Вскоре после этого он перешел в Технологический институт Карнеги.

Шоу вырос в Фуллертоне, штат Калифорния, проводя время в принадлежавшем его семье магазине красок и отделочных материалов. Изучив математику, он стал актуарием. Во время войны он служил штурманом, что идеально соответствовало его интересам: «Навигация тоже была связана с математикой, с вычислениями — если хотите, с моделированием. Прокладывание курса на картах и всё в таком духе — прекрасный пример моделирования». Поработав в страховой компании в Лос-Анджелесе, он пришел в RAND в один год с Ньюэллом. Там он работал с вычислительными машинами и в конечном итоге написал код, который использовался для запуска JOHNNIAC.

«Логик-теоретик» стал результатом выбора, сделанного всеми тремя учеными: математическая логика пришла благодаря знакомству Саймона с Карнапом, стратегии поиска доказательств были почерпнуты из занятий Ньюэлла у Пойи, а языки программирования — из опыта работы Шоу с JOHNNIAC.

Теоремы, которые доказывал «Логик-теоретик», были сформулированы на языке, разработанном Бертраном Расселом — философом, который вдохновил Скиннера стать психологом, — и математиком Альфредом Нортом Уайтхедом. Рассел и Уайтхед предприняли амбициозную попытку вывести всю математику из небольшого набора аксиом. Саймон познакомился с этим трудом еще в студенческие годы, и его простота сделала его естественной отправной точкой для проекта, нацеленного на автоматизацию математического доказательства. Рассел и Уайтхед использовали всего три логические связки: «или» (˅), «не» (¬) и «если» (). Они приняли всего пять аксиом, выраженных с помощью этих связок, — простых утверждений, постулирующих базовые логические истины, таких как (P ˅ P) → P и P → (Q ˅ P). Наконец, они определили два правила вывода, одним из которых был уже знакомый нам modus ponens. Цель состояла в том, чтобы последовательно и надлежащим образом связать эти правила вывода друг с другом для доказательства теорем, появлявшихся одна за другой в книге Рассела и Уайтхеда Principia Mathematica.

Разумеется, все было не так просто. Каждое правило вывода могло быть применено к любому из полученных к тому моменту логических утверждений — к аксиомам или результатам, полученным с помощью предыдущих правил вывода, — а значит, дерево возможностей имело множество ветвей. Сложность заключалась в том, чтобы построить доказательство, избежав необходимости обходить все эти ветви. Здесь как раз и пригодились занятия Ньюэлла у Пойи. Пойа подробно изучил стратегии, которые используют математики при построении доказательств, — эмпирические правила, которые он назвал эвристиками. «Логик-теоретик» использовал некоторые из этих эвристик и благодаря этому мог претендовать на роль модели человеческого познания.

Эвристики, которыми пользовался «Логик-теоретик», основывались на знании того, к какому результату он хочет прийти. Когда мы строим математическое доказательство, мы обычно знаем, какое именно утверждение хотим доказать. В таком случае естественная стратегия — посмотреть, существуют ли уже известные доказательства для похожих утверждений: если да, то, возможно, их удастся адаптировать к текущей ситуации. В списке эвристик Пойи это правило сформулировано так: «Знакома ли вам родственная задача?» «Логик-теоретик» искал родственные задачи, пытаясь сопоставить целевое утверждение с уже доказанными положениями, используя их доказательства в качестве отправной точки.

Еще одна естественная стратегия — идти в обратном направлении. Если мы знаем, что именно пытаемся доказать, мы можем сделать шаг назад и вместо этого попытаться доказать утверждения, которые в совокупности дают наш результат. Как предлагал Пойа: «Если вы не можете решить предложенную задачу, попробуйте сначала решить какую-нибудь родственную задачу». Например, если мы пытаемся доказать утверждение A, достаточно доказать утверждения B и B → A. В таком случае A напрямую следует из применения modus ponens. Если либо B, либо B → A уже доказаны (или доказано нечто похожее), мы уже далеко продвинулись на пути к получению результата.

Эти эвристики позволили искать доказательства без необходимости исследовать деревья возможностей целиком. И все же «Логику-теоретику» приходилось вести обширный поиск среди возможных вариантов доказательств, применяя одно правило вывода за другим. Отслеживание этих доказательств потребовало разработки совершенно нового подхода к компьютерному программированию. Шоу был прекрасно знаком с языком программирования, использовавшимся на JOHNNIAC, но быстро понял, что «это был язык слишком низкого уровня». Вместе с Ньюэллом они создали новый тип языка — то, что они назвали языком обработки информации, — который был разработан специально для поддержки поиска по деревьям возможностей. Базовой единицей в этом языке был список элементов, похожий на список покупок. Элементы в такие списки можно было легко добавлять и удалять из них. Доказательство в таком случае могло быть представлено в виде списка правил вывода и промежуточных результатов, а уже исследованные при построении этих доказательств пути в дереве возможностей могли сами храниться в виде списка.

Эти три составляющие — простая математическая область, продуманный набор эвристик и подходящий язык программирования — и обеспечили успех «Логику-теоретику». Ему удалось доказать некоторые теоремы из Principia Mathematica. В октябре 1956 года Саймон отправил Расселу письмо о полученных результатах, приложив копию доклада, представленного на Симпозиуме по теории информации. Рассел с присущим ему юмором ответил: «Жаль, что мы с Уайтхедом не знали о такой возможности до того, как оба потратили десять лет на то, чтобы делать это вручную».

В конечном итоге «Логик-теоретик» смог найти более элегантное доказательство одной из теорем, чем то, которое привели Рассел и Уайтхед. Рассел оценил и это, написав: «Я в восторге от вашего примера превосходства вашей машины над Уайтхедом и мной». Редактор журнала The Journal of Symbolic Logic был впечатлен меньше: он отклонил направленную в журнал статью, соавтором которой был указан «Логик-теоретик», на том основании, что результат не был новым.

От задач к продукциям

«Логик-теоретик» создавался под влиянием человеческого мышления, но, как оказалось, в нем отсутствовала важная составляющая того, как люди решают задачи. Когда Ньюэлл и Саймон просили людей думать вслух при решении логических задач, они обнаружили, что в мышлении людей преобладала другая эвристика: анализ целей и средств.

Когда вы пытаетесь решить задачу, вы можете знать, где находитесь и где хотите оказаться в итоге, но обычно не знаете, как туда добраться. Всё, что вам известно, — это действия, которые вы можете совершить из своего текущего положения. Анализ целей и средств предлагает простое решение: делайте шаг, который максимально приближает вас к месту, где вы хотите оказаться.

Например, представьте, что вы пытаетесь добраться на поезде из Принстона, штат Нью-Джерси, в Беркли, штат Калифорния. С железнодорожной станции Принстон-Джанкшен вы можете поехать на северо-восток, в Нью-Йорк, или на юго-запад, в Филадельфию. Анализ целей и средств подскажет ехать в Филадельфию, поскольку так вы окажетесь ближе к Западному побережью. И этот выбор окажется удачным: оттуда вы сможете добраться до Чикаго, заглянув по пути в Питтсбург, где жили Ньюэлл и Саймон, а затем отправиться дальше в Калифорнию.

В наиболее общем варианте этой эвристики у вас есть цель (добраться до Беркли), вы ищете различия между текущим состоянием и этой целью (физическое расстояние) и предпринимаете действия, сокращающие эти различия (поезд до Филадельфии). Эта формула работает для широкого круга задач: вам нужно лишь определить цели, состояния, различия и действия таким образом, чтобы это имело смысл для конкретной задачи. Ньюэлл, Шоу и Саймон создали программу на основе этой эвристики и назвали ее «Универсальный решатель задач». Они показали, что эту программу можно использовать для решения задач в самых разных областях, включая логику и алгебру.

Ньюэлл и Саймон продолжили работу над решением задач, исследуя всё более заковыристые головоломки. Одной из их любимых была криптарифметика — арифметические задачи, в которых цифры заменены буквами, причем каждой букве соответствует своя цифра. Задача состоит в том, чтобы разгадать этот шифр и понять, какие цифры скрываются за буквами.

Например, вот классический криптарифм, впервые опубликованный в 1924 году:

SEND + MORE MONEY

В принципе, эту задачу можно решить путем перебора всех возможных вариантов сопоставления цифр от 0 до 9 буквам D, E, M, N, O, R, S и Y, но всего существует 1 814 400 возможных комбинаций. На практике люди решают эту задачу, используя ограничения, накладываемые арифметикой, и рассуждая о том, какими могут быть значения этих цифр. Например, если мы посмотрим на крайний левый столбец, то увидим, что M должна быть равна 1, поскольку максимальная сумма двух цифр равна 8 + 9 = 17. Остальное я оставлю на ваше усмотрение!

Анализируя словесное описание процесса мышления при решении криптарифма, Ньюэлл понял, что «Универсальный решатель задач» не слишком хорошо его моделирует. Им требовалась формальная система другого типа. Люди не занимались поиском по дереву возможностей. Вместо этого они ставили цели и манипулировали символами — занимались чем-то похожим на выполнение простой компьютерной программы в собственной голове. В рабочей записке, написанной в 1967 году, он наметил решение: продукционную систему.

Продукционная система представляет собой набор правил «если — то», где часть «если» описывает ситуацию, а часть «то» предписывает, что делать в этой ситуации. Правило «если — то» называют продукцией, потому что часть «если» порождает часть «то». В некоторых зданиях на пожарных извещателях висят таблички с надписью: «При пожаре разбить стекло». Это и есть продукция! Она сообщает вам (чуть более запутанным языком), что если начнется пожар, то вам следует разбить стекло. Используя для обозначения нашего логического «если», вот продукционная система, основанная на той, которую Ньюэлл и Саймон использовали для описания работы термостата:

(температура > 70) ˄ (температура < 72) стоп

температура < 32◦ → вызвать мастера; включить электрический обогреватель

(температура < 70) ˄ (котел выключен) включить котел

(температура > 72) ˄ (котел включен) выключить котел

Следуя этим правилам, термостат должен поддерживать температуру в доме и даже распознавать аварийные ситуации.

Идея продукционных систем может показаться простой, но на деле они обладают огромными возможностями. Одной из первых областей применения продукционных систем стали вычисления над строками — последовательностями букв и цифр. Например, мы можем записать правило a → b, означающее, что любое вхождение буквы a в строке должно быть заменено на букву b. Это правило применяется путем обработки строки слева направо: мы ищем букву a и заменяем ее. Затем мы возвращаемся к началу строки и повторяем этот процесс до тех пор, пока не пройдем всю строку без единого срабатывания правила, после чего останавливаемся. Применение этого правила к строке aaa даст сначала baa, затем bba и, наконец, bbb.

Замена a на b, возможно, не производит особого впечатления, но вот другая продукционная система для обработки строк, состоящая из трех правил:

X0 0XX

1 0X

0

где пустое место в правой части третьего правила означает просто удаление 0. При наличии нескольких правил мы пробуем их по порядку: начинаем с первого и проверяем, совпадает ли оно с чем-либо в строке при движении слева направо, затем переходим ко второму, а потом к исследованию третьего. При обнаружении совпадения мы вносим предписанное правилом изменение и начинаем все сначала, с первого правила. Мы останавливаемся, когда ни одно из правил больше не находит совпадений в строке.

Глядя на эти правила, довольно трудно понять, что именно делает система. Если вы хотите потратить минутку и попробовать разобраться самостоятельно, сделайте это прямо сейчас, а когда будете готовы, переворачивайте страницу.

Давайте применим эту продукционную систему к последовательности 1. Первое правило не дает совпадений в этой последовательности, поэтому мы переходим ко второму. Второе правило заменяет 1 на 0X. Теперь мы начинаем сначала с первого правила — совпадений нет. Второе тоже не находит совпадений. Третье совпадает с нулем и удаляет его, оставляя нам X.

Теперь попробуем другую последовательность: 10. Первое правило не дает совпадений, второе срабатывает и дает нам 0X0. Начиная сначала, мы видим, что теперь срабатывает первое правило, давая 00XX. Первое и второе правила больше не находят совпадений в этой последовательности, поэтому в итоге мы дважды удаляем 0 и получаем XX.

Чтобы упростить задачу, вот таблица результатов применения этой продукционной системы к еще нескольким последовательностям:

Заметили ли вы закономерность? Эта простая продукционная система преобразует двоичные числа в строки с соответствующим числом символов X. Вычисление, которое можно применить к бесконечному числу входных данных для получения бесконечного числа правильных результатов, описывается всего лишь этими тремя правилами.

На самом деле можно создать продукционную систему, способную делать всё то же, что и машина Тьюринга, а значит, продукционные системы предлагают альтернативный способ описания самой идеи вычислений. Таким образом, продукционная система — это небольшая компьютерная программа, как раз то, что искал Ньюэлл. В контексте решения задач продукционные системы могут использоваться для описания анализа целей и средств: в часть «если» помещаются различия, которые вы стремитесь сократить, а в часть «то» — действия по их сокращению. Но продукционные системы гораздо более универсальны: часть «если» может также содержать ваши цели и текущее состояние анализа, а часть «то» может описывать довольно сложные операции. Например, одно из правил, предложенных Ньюэллом для решения криптарифмических задач, можно сформулировать так: «Если вы определили значение одной из букв, найдите столбец, содержащий эту букву, и выполните вычисления в этом столбце». Благодаря возможностям продукций сложные процессы, которым следовали люди при решении этих задач, удавалось описать с помощью всего нескольких правил. Продукционные системы сыграли важнейшую роль в книге Решение задач человеком — 920-страничном монументальном труде, который Ньюэлл и Саймон опубликовали в 1972 году. В заключении книги они писали: «Мы признаёмся в сильном предчувствии того, что реальная организация человеческих программ близка к организации продукционных систем». Спустя двадцать лет после того, как Саймона в Лаборатории системных исследований корпорации RAND посетила эта поразительная мысль, круг замкнулся: они прошли путь от использования человеческого разума для разработки лучших компьютерных программ до использования компьютерных программ для описания работы человеческого разума.

Физические символьные системы

В 1976 году Ньюэлл и Саймон получили премию Тьюринга. Лауреатов этой награды приглашают выступить с речью перед широкой аудиторией специалистов в области компьютерных наук. Ньюэлл и Саймон воспользовались этой возможностью, чтобы максимально четко и амбициозно заявить о том, что правила и символы — это все, что нужно для понимания интеллекта.

В своей речи Ньюэлл и Саймон представили идею физической символьной системы — физической машины, которая производит набор символьных структур, описывающих объекты и их поведение в мире. Эти символьные структуры сами по себе воплощены физически, и обрабатываются процессами, которые их создают, уничтожают и модифицируют. В этом описании символов, изменяемых по правилам, вы, вероятно, узнаете понятие формальной системы, которое мы использовали в предыдущих главах. Однако физическая символьная система идет на шаг дальше: она требует, чтобы эта формальная система была воплощена в физическом мире. Пропозициональная логика и машины Тьюринга не являются физическими символьными системами, поскольку у них нет физического воплощения. Напротив, цифровой компьютер фон Неймана является физической символьной системой, так как он превращает правила и символы в атомы и электроны.

Провокационная гипотеза Ньюэлла и Саймона заключалась в том, что, по их выражению, «физическая символьная система обладает необходимыми и достаточными средствами для совершения разумных действий общего характера». Провокационность этой гипотезе придают два слова: «необходимый» и «достаточный». Если быть физической символьной системой необходимо, то они утверждают, что любая интеллектуальная система в итоге окажется физической символьной системой. Говоря же, что это достаточно, они имеют в виду, что физически воплощенной системы правил и символов вполне достаточно для создания интеллектуальной системы.

Как проверить такую гипотезу? Для Ньюэлла и Саймона утверждения о необходимости и достаточности проверялись методами когнитивистики и искусственного интеллекта соответственно. Поскольку когнитивисты строят модели человеческого познания с помощью систем правил и символов, воплощенных на цифровых компьютерах, мы получаем возможность выяснить, насколько полно наш интеллект можно воссоздать таким образом. Ньюэлл и Саймон не видели предела этому процессу. Саймон в письме к дочери писал: «Моя научная работа и работа других исследователей ИИ в конечном итоге определят, сколько мыслительных процессов Человека можно смоделировать. Я верю, что в конечном счете — все, но не испытываю особого желания доказывать это тем, кто считает иначе». Подобным образом, когда исследователи ИИ создавали системы, демонстрирующие разумное поведение, они проверяли границы возможностей физических символьных систем как объяснения интеллекта. И вновь Ньюэлл и Саймон ожидали, что этот подход окажется успешным, и до сих пор они наблюдали, как перед ним сдавалась одна задача за другой.

Эта идея — о том, что интеллект может сводиться к простой записи правильного набора правил, — оказала глубокое влияние на исследователей ИИ. Один из них, Дуг Ленат, в 1984 году покинул преподавательский пост в Стэнфордском университете, чтобы иметь возможность направить ресурсы промышленного масштаба на попытку записать эти правила. Проект стал делом всей его жизни. После десятилетий усилий ученых в области компьютерных наук и философов созданная в итоге система содержала в себе более двадцати пяти миллионов правил. Цель состояла в том, чтобы зафиксировать то, что исследователи ИИ называют здравым смыслом — знания людей о мире, которые определяют наши действия, но обычно не требуют какого-либо явного рассуждения. Например, в системе есть правила, указывающие, «что большинство людей спят ночью, по нескольку часов за раз, лежа, с закрытыми глазами, их можно разбудить громким шумом, но им это не нравится...»

Одной из областей, где запись огромного количества правил оказалась удивительно эффективной, стало создание чат-ботов. Чат-бот — это автоматизированная система, способная вести диалог, как правило, посредством текстовых сообщений. В 1950 году Алан Тьюринг предложил простой тест на определение интеллекта машины — проверить, может ли она действовать так, что её действия будут неотличимы от действий человека. Предложенный Тьюрингом тест заключался в создании ситуации, когда человеку и машине задают вопросы, на которые они дают ответы, а перед судьей ставится задача определить, кто человек, а кто машина. Это идеальное испытание для программы-чат-бота.

В ходе теста Тьюринга, приуроченного к шестидесятилетию со дня смерти Тьюринга, чат-боту удалось убедить треть судей-людей в том, что он человек. Этот результат соответствовал предсказанию Тьюринга о том, что «примерно через пятьдесят лет станет возможным так программировать компьютеры... чтобы они играли в имитационную игру настолько хорошо, что у среднего опрашивающего после пяти минут расспросов будет не более 70 процентов шансов сделать верный вывод». Этим чат-ботом был «Евгений Густман», созданный командой российских и украинских программистов для имитации тринадцатилетнего украинского мальчика. В основе программы лежал огромный набор правил «если — то», которые предвосхищали возможные вопросы людей (часть «если») и выдавали соответствующий ответ (часть «то»). Некоторые правила давали удачные ответы на типичные вопросы, другие же позволяли уходить от более сложных расспросов. Эта динамика отлично иллюстрируется некоторыми ответами Евгения на вопросы специалиста по компьютерным наукам Скотта Ааронсона:

СКОТТ: Как ты думаешь, твоя способность дурачить неискушенных судей указывает на изъян в самом тесте Тьюринга или лишь на то, как люди этот тест интерпретируют?

ЕВГЕНИЙ: Сервер временно не может обработать ваш запрос из-за проведения технических работ или перегрузки. Пожалуйста, попробуйте позже.

СКОТТ: Как ты думаешь, Алану Тьюрингу, при всей его гениальности, было трудно представить, что судьям в его «имитационной игре» не придет в голову задавать вопросы на проверку здравого смысла, подобные приведенным выше, — или что, если они всё же станут их задавать, они на самом деле примут за ответы увертки или неуместную болтовню?

ЕВГЕНИЙ: Да нет, не особо. Я не думаю, что алан тьюринг гениальный хотя этот парень и был испытывал трудности с представлением того что судьи его имитационной игры не догадаются... Ооох. Что-нибудь еще?

В каком-то смысле «Евгений Густман» был удивительно простой системой — всего лишь огромным набором правил «если — то», — что в очередной раз иллюстрирует, насколько далеко может зайти подобная система в имитации разумного поведения.

Муравьи на пляже

Гипотеза о физических символьных системах кажется амбициозной отчасти потому, что человеческое поведение представляется невероятно сложным. Неужели действительно возможно определить набор правил, который охватил бы всё, на что способен человеческий разум? Оптимизм Ньюэлла и Саймона отчасти объяснялся тем, что они считали: на самом деле эти правила могут оказаться относительно простыми. Саймон подробно развил эту идею в книге Науки об искусственном. В ней он предлагает нам представить муравья, ползущего по пляжу:

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

Если мы посмотрим на траекторию, проложенную муравьем, она покажется невероятно сложной — множество изгибов и поворотов, которые трудно описать математически. Но бóльшая часть этой сложности обусловлена пляжем, а не муравьем. По словам Саймона: «Кажущаяся сложность его поведения с течением времени — это во многом отражение сложности среды, в которой он находится».

Притча Саймона о муравье предлагает иной взгляд на то, как человеческий разум может быть описан системой правил и символов. Люди демонстрируют сложное поведение. Но мы и действуем в сложной среде. Так в какой же мере сложность нашего поведения обусловлена применением простых правил к этой среде? Успех таких чат-ботов, как «Евгений Густман», отчасти объясняется тем, что разговор — это именно та ситуация, которую имел в виду Саймон: пока один собеседник задает определенный уровень сложности, другой может обойтись следованием нескольким простым правилам.

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

Их исследовательское партнерство также продемонстрировало, что для людей, пытающихся решить сложные проблемы, иногда лучшая эвристика — найти другой разум, дополняющий ваш собственный. Обладая разным опытом и разными наборами правил для понимания мира, Ньюэлл и Саймон могли привносить сложность в поведение друг друга. Будучи экспертом как по организациям, так и по составляющим их организмам, Саймон прекрасно это понимал. В книге о том, как автоматизация может повлиять на рабочие места людей (тема, вызывающая вечную тревогу), он писал:

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

Люди создают среду друг для друга. Да, иногда мы муравьи. Но столь же часто мы — бугорки и бороздки на песке, которые поддерживают и направляют пути других путников на этом берегу.

Предыдущая главаГлава 5 из 34Следующая глава